From 30b51c4b45f7f01850ca30f82a0833d7d77d2d6d Mon Sep 17 00:00:00 2001 From: TheCoolBlackCat Date: Fri, 16 Oct 2020 21:17:38 +0100 Subject: [PATCH 001/389] Update README to reflect migration to GitHub discussions (#661) * Update README to reflect change from Gitter * Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 54e9cdd..d8de780 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ > ### ⚠️ Help needed > -> We're finding it a bit hard to keep up with all issues and pull requests. Interested in helping out with triage, troubleshooting and issue handling? Let us know on gitter! +> We're finding it a bit hard to keep up with all issues and pull requests. Interested in helping out with triage, troubleshooting and issue handling? Let us know in the ["Discussions"](https://github.com/containrrr/watchtower/discussions) tab! ## Quick Start From 64d48b70c237f450fba4d09a01a85e49fe3098e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Fri, 13 Nov 2020 21:19:08 +0100 Subject: [PATCH 002/389] fix: return nil imageinfo when retrieve fails (#680) --- pkg/container/client.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/container/client.go b/pkg/container/client.go index eb0bb5f..dea982f 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -122,6 +122,7 @@ func (client dockerClient) GetContainer(containerID string) (Container, error) { imageInfo, _, err := client.api.ImageInspectWithRaw(bg, containerInfo.Image) if err != nil { log.Warnf("Failed to retrieve container image info: %v", err) + return Container{containerInfo: &containerInfo, imageInfo: nil}, nil } return Container{containerInfo: &containerInfo, imageInfo: &imageInfo}, nil From 2842b97df3f7d3c34d6995056c1d2dd4ce86ea18 Mon Sep 17 00:00:00 2001 From: yrien30 Date: Thu, 19 Nov 2020 19:03:17 +0100 Subject: [PATCH 003/389] Allow watchtower to update rebooting containers (#651) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén Co-authored-by: Simon Aronsson --- cmd/root.go | 2 + pkg/container/client.go | 39 ++-- pkg/container/container_test.go | 41 +++- pkg/container/mocks/ApiServer.go | 31 ++- .../mocks/data/container_restarting.json | 205 ++++++++++++++++++ pkg/container/mocks/data/containers.json | 63 ++++++ 6 files changed, 362 insertions(+), 19 deletions(-) create mode 100644 pkg/container/mocks/data/container_restarting.json diff --git a/cmd/root.go b/cmd/root.go index 9318b12..1e61308 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -116,6 +116,7 @@ func PreRun(cmd *cobra.Command, args []string) { noPull, _ := f.GetBool("no-pull") includeStopped, _ := f.GetBool("include-stopped") + includeRestarting, _ := f.GetBool("include-restarting") reviveStopped, _ := f.GetBool("revive-stopped") removeVolumes, _ := f.GetBool("remove-volumes") @@ -128,6 +129,7 @@ func PreRun(cmd *cobra.Command, args []string) { includeStopped, reviveStopped, removeVolumes, + includeRestarting, ) notifier = notifications.NewNotifier(cmd) diff --git a/pkg/container/client.go b/pkg/container/client.go index dea982f..a333ea5 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -3,11 +3,12 @@ package container import ( "bytes" "fmt" - "github.com/containrrr/watchtower/pkg/registry" "io/ioutil" "strings" "time" + "github.com/containrrr/watchtower/pkg/registry" + t "github.com/containrrr/watchtower/pkg/types" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" @@ -39,7 +40,7 @@ type Client interface { // * DOCKER_HOST the docker-engine host to send api requests to // * DOCKER_TLS_VERIFY whether to verify tls certificates // * DOCKER_API_VERSION the minimum docker api version to work with -func NewClient(pullImages bool, includeStopped bool, reviveStopped bool, removeVolumes bool) Client { +func NewClient(pullImages bool, includeStopped bool, reviveStopped bool, removeVolumes bool, includeRestarting bool) Client { cli, err := sdkClient.NewClientWithOpts(sdkClient.FromEnv) if err != nil { @@ -47,28 +48,34 @@ func NewClient(pullImages bool, includeStopped bool, reviveStopped bool, removeV } return dockerClient{ - api: cli, - pullImages: pullImages, - removeVolumes: removeVolumes, - includeStopped: includeStopped, - reviveStopped: reviveStopped, + api: cli, + pullImages: pullImages, + removeVolumes: removeVolumes, + includeStopped: includeStopped, + reviveStopped: reviveStopped, + includeRestarting: includeRestarting, } } type dockerClient struct { - api sdkClient.CommonAPIClient - pullImages bool - removeVolumes bool - includeStopped bool - reviveStopped bool + api sdkClient.CommonAPIClient + pullImages bool + removeVolumes bool + includeStopped bool + reviveStopped bool + includeRestarting bool } func (client dockerClient) ListContainers(fn t.Filter) ([]Container, error) { cs := []Container{} bg := context.Background() - if client.includeStopped { - log.Debug("Retrieving containers including stopped and exited") + if client.includeStopped && client.includeRestarting { + log.Debug("Retrieving running, stopped, restarting and exited containers") + } else if client.includeStopped { + log.Debug("Retrieving running, stopped and exited containers") + } else if client.includeRestarting { + log.Debug("Retrieving running and restarting containers") } else { log.Debug("Retrieving running containers") } @@ -108,6 +115,10 @@ func (client dockerClient) createListFilter() filters.Args { filterArgs.Add("status", "exited") } + if client.includeRestarting { + filterArgs.Add("status", "restarting") + } + return filterArgs } diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 4f0f544..16b8922 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -1,6 +1,8 @@ package container import ( + "testing" + "github.com/containrrr/watchtower/pkg/container/mocks" "github.com/containrrr/watchtower/pkg/filters" "github.com/docker/docker/api/types" @@ -8,7 +10,6 @@ import ( cli "github.com/docker/docker/client" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "testing" ) func TestContainer(t *testing.T) { @@ -68,6 +69,44 @@ var _ = Describe("the container", func() { Expect(len(containers) > 0).To(BeTrue()) }) }) + When(`listing containers with the "include restart" option`, func() { + It("should return both stopped, restarting and running containers", func() { + client = dockerClient{ + api: docker, + pullImages: false, + includeRestarting: true, + } + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + RestartingContainerFound := false + for _, ContainerRunning := range containers { + if ContainerRunning.containerInfo.State.Restarting { + RestartingContainerFound = true + } + } + Expect(RestartingContainerFound).To(BeTrue()) + Expect(RestartingContainerFound).NotTo(BeFalse()) + }) + }) + When(`listing containers without restarting ones`, func() { + It("should not return restarting containers", func() { + client = dockerClient{ + api: docker, + pullImages: false, + includeRestarting: false, + } + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + RestartingContainerFound := false + for _, ContainerRunning := range containers { + if ContainerRunning.containerInfo.State.Restarting { + RestartingContainerFound = true + } + } + Expect(RestartingContainerFound).To(BeFalse()) + Expect(RestartingContainerFound).NotTo(BeTrue()) + }) + }) }) When("asked for metadata", func() { var c *Container diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index 82e05de..35b52e2 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -1,13 +1,16 @@ package mocks import ( + "encoding/json" "fmt" - "github.com/sirupsen/logrus" "io/ioutil" "net/http" "net/http/httptest" "path/filepath" "strings" + + "github.com/docker/docker/api/types" + "github.com/sirupsen/logrus" ) // NewMockAPIServer returns a mocked docker api server that responds to some fixed requests @@ -18,16 +21,36 @@ func NewMockAPIServer() *httptest.Server { logrus.Debug("Mock server has received a HTTP call on ", r.URL) var response = "" - if isRequestFor("filters=%7B%22status%22%3A%7B%22running%22%3Atrue%7D%7D&limit=0", r) { - response = getMockJSONFromDisk("./mocks/data/containers.json") - } else if isRequestFor("filters=%7B%22status%22%3A%7B%22created%22%3Atrue%2C%22exited%22%3Atrue%2C%22running%22%3Atrue%7D%7D&limit=0", r) { + if isRequestFor("filters=", r) { + + Filters := r.URL.Query().Get("filters") + var result map[string]interface{} + json.Unmarshal([]byte(Filters), &result) + status := result["status"].(map[string]interface{}) + response = getMockJSONFromDisk("./mocks/data/containers.json") + var x2 []types.Container + var containers []types.Container + json.Unmarshal([]byte(response), &containers) + for _, v := range containers { + for key := range status { + if v.State == key { + x2 = append(x2, v) + } + } + } + + b, _ := json.Marshal(x2) + response = string(b) + } else if isRequestFor("containers/json?limit=0", r) { response = getMockJSONFromDisk("./mocks/data/containers.json") } else if isRequestFor("ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65", r) { response = getMockJSONFromDisk("./mocks/data/container_stopped.json") } else if isRequestFor("b978af0b858aa8855cce46b628817d4ed58e58f2c4f66c9b9c5449134ed4c008", r) { response = getMockJSONFromDisk("./mocks/data/container_running.json") + } else if isRequestFor("ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b67", r) { + response = getMockJSONFromDisk("./mocks/data/container_restarting.json") } else if isRequestFor("sha256:19d07168491a3f9e2798a9bed96544e34d57ddc4757a4ac5bb199dea896c87fd", r) { response = getMockJSONFromDisk("./mocks/data/image01.json") } else if isRequestFor("sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", r) { diff --git a/pkg/container/mocks/data/container_restarting.json b/pkg/container/mocks/data/container_restarting.json new file mode 100644 index 0000000..4eae912 --- /dev/null +++ b/pkg/container/mocks/data/container_restarting.json @@ -0,0 +1,205 @@ +{ + "Id": "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b67", + "Created": "2019-04-10T19:51:22.245041005Z", + "Path": "/watchtower", + "Args": [], + "State": { + "Status": "exited", + "Running": false, + "Paused": false, + "Restarting": true, + "OOMKilled": false, + "Dead": false, + "Pid": 0, + "ExitCode": 1, + "Error": "", + "StartedAt": "2019-04-10T19:51:22.918972606Z", + "FinishedAt": "2019-04-10T19:52:14.265091583Z" + }, + "Image": "sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", + "ResolvConfPath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/hostname", + "HostsPath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/hosts", + "LogPath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65-json.log", + "Name": "/watchtower-test", + "RestartCount": 0, + "Driver": "overlay2", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/var/run/docker.sock:/var/run/docker.sock" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "default", + "PortBindings": {}, + "RestartPolicy": { + "Name": "no", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "CapAdd": null, + "CapDrop": null, + "Dns": [], + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "shareable", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "ConsoleSize": [ + 0, + 0 + ], + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": null, + "BlkioDeviceWriteBps": null, + "BlkioDeviceReadIOps": null, + "BlkioDeviceWriteIOps": null, + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DiskQuota": 0, + "KernelMemory": 0, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": false, + "PidsLimit": 0, + "Ulimits": null, + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/asound", + "/proc/acpi", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/timer_list", + "/proc/timer_stats", + "/proc/sched_debug", + "/proc/scsi", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "GraphDriver": { + "Data": { + "LowerDir": "/var/lib/docker/overlay2/9f6b91ea6e142835035d91123bbc7a05224dfa2abd4d020eac42f2ab420ccddc-init/diff:/var/lib/docker/overlay2/cdf82f50bc49177d0c17c24f3eaa29eba607b70cc6a081f77781b21c59a13eb8/diff:/var/lib/docker/overlay2/8108325ee844603c9b08d2772cf6e65dccf31dd5171f265078e5ed79a0ba3c0f/diff:/var/lib/docker/overlay2/e5e0cce6bf91b829a308424d99d7e56a33be3a11414ff5cdc48e762a1342b20f/diff", + "MergedDir": "/var/lib/docker/overlay2/9f6b91ea6e142835035d91123bbc7a05224dfa2abd4d020eac42f2ab420ccddc/merged", + "UpperDir": "/var/lib/docker/overlay2/9f6b91ea6e142835035d91123bbc7a05224dfa2abd4d020eac42f2ab420ccddc/diff", + "WorkDir": "/var/lib/docker/overlay2/9f6b91ea6e142835035d91123bbc7a05224dfa2abd4d020eac42f2ab420ccddc/work" + }, + "Name": "overlay2" + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/var/run/docker.sock", + "Destination": "/var/run/docker.sock", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ], + "Config": { + "Hostname": "ae8964ba86c7", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": true, + "AttachStderr": true, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + ], + "Cmd": null, + "Image": "containrrr/watchtower:latest", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/watchtower" + ], + "OnBuild": null, + "Labels": { + "com.centurylinklabs.watchtower": "true" + } + }, + "NetworkSettings": { + "Bridge": "", + "SandboxID": "05627d36c08ed994eebc44a2a8c9365a511756b55c500fb03fd5a14477cd4bf3", + "HairpinMode": false, + "LinkLocalIPv6Address": "", + "LinkLocalIPv6PrefixLen": 0, + "Ports": {}, + "SandboxKey": "/var/run/docker/netns/05627d36c08e", + "SecondaryIPAddresses": null, + "SecondaryIPv6Addresses": null, + "EndpointID": "", + "Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "IPAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "MacAddress": "", + "Networks": { + "bridge": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "NetworkID": "8fcfd56fa9203bafa98510abb08bff66ad05bef5b6e97d158cbae3397e1e065e", + "EndpointID": "", + "Gateway": "", + "IPAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "MacAddress": "", + "DriverOpts": null + } + } + } +} diff --git a/pkg/container/mocks/data/containers.json b/pkg/container/mocks/data/containers.json index e2507bf..4acd7e2 100644 --- a/pkg/container/mocks/data/containers.json +++ b/pkg/container/mocks/data/containers.json @@ -109,5 +109,68 @@ "Propagation": "rprivate" } ] + }, + { + "Id": "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b67", + "Names": [ + "/portainer" + ], + "Image": "portainer/portainer:latest", + "ImageID": "sha256:19d07168491a3f9e2798a9bed96544e34d57ddc4757a4ac5bb199dea896c87fd", + "Command": "/portainer", + "Created": 1554409712, + "Ports": [ + { + "IP": "0.0.0.0", + "PrivatePort": 9000, + "PublicPort": 9000, + "Type": "tcp" + } + ], + "Labels": {}, + "State": "restarting", + "Status": "Restarting (0) 35 seconds ago", + "HostConfig": { + "NetworkMode": "default" + }, + "NetworkSettings": { + "Networks": { + "bridge": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "NetworkID": "9352796e0330dcf31ce3d44fae4b719304b8b3fd97b02ade3aefb8737251682b", + "EndpointID": "a8bcd737f27edb4d2955f7bce0c777bb2990b792a6b335b0727387624abe0702", + "Gateway": "172.17.0.1", + "IPAddress": "172.17.0.2", + "IPPrefixLen": 16, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "MacAddress": "02:42:ac:11:00:02", + "DriverOpts": null + } + } + }, + "Mounts": [ + { + "Type": "volume", + "Name": "portainer_data", + "Source": "/var/lib/docker/volumes/portainer_data/_data", + "Destination": "/data", + "Driver": "local", + "Mode": "z", + "RW": true, + "Propagation": "" + }, + { + "Type": "bind", + "Source": "/var/run/docker.sock", + "Destination": "/var/run/docker.sock", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ] } ] From c917b159da7ff01840bd958c8e5a872021a8b605 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 19 Nov 2020 19:04:16 +0100 Subject: [PATCH 004/389] docs: add yrien30 as a contributor (#683) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index a9c1099..266a339 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -675,6 +675,15 @@ "contributions": [ "doc" ] + }, + { + "login": "yrien30", + "name": "yrien30", + "avatar_url": "https://avatars1.githubusercontent.com/u/26816162?v=4", + "profile": "https://github.com/yrien30", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index d8de780..e7d78d8 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
David H.

💻
Chander Ganesan

📖 +
yrien30

💻 From 589b00bbe1e3cf56f6e1420974fd848e19cd6dca Mon Sep 17 00:00:00 2001 From: ksurl Date: Thu, 3 Dec 2020 04:23:15 -0800 Subject: [PATCH 005/389] fix host flag (#685) --- docs/arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/arguments.md b/docs/arguments.md index b80257a..64bbdfc 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -102,7 +102,7 @@ Environment Variable: NO_COLOR Docker daemon socket to connect to. Can be pointed at a remote Docker host by specifying a TCP endpoint as "tcp://hostname:port". ``` - Argument: --host, -h + Argument: --host, -H Environment Variable: DOCKER_HOST Type: String Default: "unix:///var/run/docker.sock" From c8bd484b9ebf006986080b82a05c0021d5258dd2 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 3 Dec 2020 13:26:50 +0100 Subject: [PATCH 006/389] docs: add ksurl as a contributor (#697) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 266a339..67b4092 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -684,6 +684,15 @@ "contributions": [ "code" ] + }, + { + "login": "ksurl", + "name": "ksurl", + "avatar_url": "https://avatars1.githubusercontent.com/u/1371562?v=4", + "profile": "https://github.com/ksurl", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index e7d78d8..da9dfcf 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
David H.

💻
Chander Ganesan

📖
yrien30

💻 +
ksurl

📖 From cb62b16369cc048455f6da2759d5c8862f57e273 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 6 Dec 2020 13:21:04 +0100 Subject: [PATCH 007/389] add http head based digest comparison to avoid dockerhub rate limits --- .gitignore | 1 + coverage.out | 620 +++++++++++++++++++++++++ docs/arguments.md | 2 +- go.mod | 14 +- go.sum | 39 +- internal/actions/check.go | 2 +- internal/actions/mocks/container.go | 31 ++ internal/flags/flags.go | 3 +- pkg/container/client.go | 25 +- pkg/container/container.go | 5 + pkg/registry/auth/auth.go | 168 +++++++ pkg/registry/auth/auth_test.go | 98 ++++ pkg/registry/digest/digest.go | 98 ++++ pkg/registry/digest/digest_test.go | 87 ++++ pkg/registry/helpers/helpers.go | 36 ++ pkg/registry/helpers/helpers_test.go | 31 ++ pkg/registry/manifest/manifest.go | 64 +++ pkg/registry/manifest/manifest_test.go | 66 +++ pkg/registry/trust.go | 2 +- pkg/registry/trust_test.go | 102 ++-- pkg/types/container.go | 26 ++ pkg/types/registry_credentials.go | 7 + pkg/types/token_response.go | 6 + 23 files changed, 1476 insertions(+), 57 deletions(-) create mode 100644 coverage.out create mode 100644 pkg/registry/auth/auth.go create mode 100644 pkg/registry/auth/auth_test.go create mode 100644 pkg/registry/digest/digest.go create mode 100644 pkg/registry/digest/digest_test.go create mode 100644 pkg/registry/helpers/helpers.go create mode 100644 pkg/registry/helpers/helpers_test.go create mode 100644 pkg/registry/manifest/manifest.go create mode 100644 pkg/registry/manifest/manifest_test.go create mode 100644 pkg/types/container.go create mode 100644 pkg/types/registry_credentials.go create mode 100644 pkg/types/token_response.go diff --git a/.gitignore b/.gitignore index fda8d42..50b5c2d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ dist .idea .DS_Store /site +coverage.out diff --git a/coverage.out b/coverage.out new file mode 100644 index 0000000..40470d1 --- /dev/null +++ b/coverage.out @@ -0,0 +1,620 @@ +mode: set +github.com/containrrr/watchtower/internal/util/rand_name.go:8.24,10.19 2 0 +github.com/containrrr/watchtower/internal/util/rand_name.go:14.2,14.18 1 0 +github.com/containrrr/watchtower/internal/util/rand_name.go:10.19,12.3 1 0 +github.com/containrrr/watchtower/internal/util/util.go:4.39,5.24 1 1 +github.com/containrrr/watchtower/internal/util/util.go:9.2,9.20 1 1 +github.com/containrrr/watchtower/internal/util/util.go:15.2,15.13 1 1 +github.com/containrrr/watchtower/internal/util/util.go:5.24,7.3 1 1 +github.com/containrrr/watchtower/internal/util/util.go:9.20,10.21 1 1 +github.com/containrrr/watchtower/internal/util/util.go:10.21,12.4 1 1 +github.com/containrrr/watchtower/internal/util/util.go:19.46,22.24 2 1 +github.com/containrrr/watchtower/internal/util/util.go:37.2,37.10 1 1 +github.com/containrrr/watchtower/internal/util/util.go:22.24,25.25 2 1 +github.com/containrrr/watchtower/internal/util/util.go:32.3,32.13 1 1 +github.com/containrrr/watchtower/internal/util/util.go:25.25,26.16 1 1 +github.com/containrrr/watchtower/internal/util/util.go:26.16,28.10 2 1 +github.com/containrrr/watchtower/internal/util/util.go:32.13,34.4 1 1 +github.com/containrrr/watchtower/internal/util/util.go:41.68,44.25 2 1 +github.com/containrrr/watchtower/internal/util/util.go:54.2,54.10 1 1 +github.com/containrrr/watchtower/internal/util/util.go:44.25,45.27 1 1 +github.com/containrrr/watchtower/internal/util/util.go:45.27,46.16 1 1 +github.com/containrrr/watchtower/internal/util/util.go:46.16,48.5 1 1 +github.com/containrrr/watchtower/internal/util/util.go:49.9,51.4 1 1 +github.com/containrrr/watchtower/internal/util/util.go:58.72,61.25 2 1 +github.com/containrrr/watchtower/internal/util/util.go:67.2,67.10 1 1 +github.com/containrrr/watchtower/internal/util/util.go:61.25,62.27 1 1 +github.com/containrrr/watchtower/internal/util/util.go:62.27,64.4 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:6.63,6.90 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:9.43,9.58 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:12.66,13.21 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:17.2,17.44 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:13.21,15.3 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:17.44,18.30 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:23.3,23.15 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:18.30,19.52 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:19.52,21.5 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:28.56,29.44 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:29.44,33.10 2 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:37.3,37.23 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:33.10,35.4 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:42.58,43.44 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:43.44,45.26 2 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:50.3,50.23 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:45.26,48.4 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:55.64,56.17 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:60.2,60.44 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:56.17,58.3 1 0 +github.com/containrrr/watchtower/pkg/filters/filters.go:60.44,62.36 2 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:66.3,66.15 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:62.36,64.4 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:71.75,74.17 3 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:79.2,79.17 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:84.2,85.15 2 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:74.17,78.3 1 1 +github.com/containrrr/watchtower/pkg/filters/filters.go:79.17,83.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:20.50,25.2 4 1 +github.com/containrrr/watchtower/internal/flags/flags.go:28.50,154.2 22 0 +github.com/containrrr/watchtower/internal/flags/flags.go:157.56,299.2 24 1 +github.com/containrrr/watchtower/internal/flags/flags.go:302.20,313.2 10 1 +github.com/containrrr/watchtower/internal/flags/flags.go:317.42,325.53 6 1 +github.com/containrrr/watchtower/internal/flags/flags.go:328.2,328.55 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:331.2,331.63 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:334.2,334.57 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:337.2,337.63 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:340.2,340.67 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:343.2,343.12 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:325.53,327.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:328.55,330.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:331.63,333.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:334.57,336.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:337.63,339.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:340.67,342.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:347.70,356.57 7 0 +github.com/containrrr/watchtower/internal/flags/flags.go:359.2,359.62 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:362.2,362.66 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:365.2,365.66 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:369.2,369.49 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:356.57,358.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:359.62,361.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:362.66,364.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:365.66,367.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:372.49,373.40 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:376.2,377.16 2 1 +github.com/containrrr/watchtower/internal/flags/flags.go:380.2,380.12 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:373.40,375.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:377.16,379.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:383.48,384.9 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:387.2,387.12 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:384.9,386.3 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:392.50,401.33 3 1 +github.com/containrrr/watchtower/internal/flags/flags.go:401.33,403.3 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:407.61,409.16 2 1 +github.com/containrrr/watchtower/internal/flags/flags.go:412.2,412.34 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:409.16,411.3 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:412.34,414.17 2 1 +github.com/containrrr/watchtower/internal/flags/flags.go:417.3,418.17 2 1 +github.com/containrrr/watchtower/internal/flags/flags.go:414.17,416.4 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:418.17,420.4 1 0 +github.com/containrrr/watchtower/internal/flags/flags.go:424.28,426.24 2 1 +github.com/containrrr/watchtower/internal/flags/flags.go:429.2,429.13 1 1 +github.com/containrrr/watchtower/internal/flags/flags.go:426.24,428.3 1 1 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:9.60,12.16 3 1 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:15.2,19.28 4 1 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:12.16,14.3 1 0 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:23.57,25.16 2 1 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:29.2,29.67 1 1 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:33.2,33.16 1 1 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:36.2,36.22 1 1 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:25.16,27.3 1 0 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:29.67,31.3 1 1 +github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:33.16,35.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:16.46,23.16 5 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:27.2,31.16 3 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:34.2,34.26 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:53.2,53.10 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:23.16,25.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:31.16,33.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:34.26,36.12 2 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:50.3,50.32 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:37.18,38.47 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:39.18,40.47 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:41.20,42.49 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:43.19,44.48 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:45.21,46.50 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:47.11,48.49 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:57.40,58.28 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:58.28,60.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:64.39,65.28 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:65.28,67.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:71.28,72.28 1 0 +github.com/containrrr/watchtower/pkg/notifications/notifier.go:72.28,74.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:36.86,41.16 4 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:45.2,59.10 4 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:41.16,43.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:62.49,63.30 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:74.2,74.16 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:63.30,66.28 2 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:66.28,67.18 1 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:67.18,70.5 1 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:77.74,79.59 2 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:83.2,83.22 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:79.59,81.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:86.66,89.2 2 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:91.52,92.22 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:92.22,94.3 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:97.51,98.45 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:102.2,103.17 2 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:98.45,100.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:106.40,113.2 3 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:115.53,117.2 1 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:119.61,120.22 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:126.2,126.12 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:120.22,122.3 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:122.8,125.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:129.63,144.35 5 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:152.2,152.16 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:160.2,160.35 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:164.2,164.12 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:144.35,146.3 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:152.16,154.3 1 1 +github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:160.35,162.3 1 1 +github.com/containrrr/watchtower/pkg/notifications/slack.go:18.83,40.2 9 0 +github.com/containrrr/watchtower/pkg/notifications/slack.go:42.50,42.51 0 0 +github.com/containrrr/watchtower/pkg/notifications/slack.go:44.49,44.50 0 0 +github.com/containrrr/watchtower/pkg/notifications/slack.go:46.38,46.39 0 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:33.110,35.16 2 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:38.2,39.44 2 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:42.2,42.42 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:49.2,49.14 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:56.2,56.36 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:59.2,59.26 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:64.2,65.16 2 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:68.2,69.16 2 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:72.2,73.16 2 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:76.2,76.17 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:35.16,37.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:39.44,41.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:42.42,45.43 3 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:45.43,47.4 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:49.14,50.39 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:50.39,51.35 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:51.35,53.5 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:56.36,58.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:59.26,60.37 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:60.37,62.4 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:65.16,67.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:69.16,71.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/smtp.go:73.16,75.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/util.go:7.42,13.26 5 0 +github.com/containrrr/watchtower/pkg/notifications/util.go:23.2,23.13 1 0 +github.com/containrrr/watchtower/pkg/notifications/util.go:13.26,15.19 2 0 +github.com/containrrr/watchtower/pkg/notifications/util.go:15.19,18.4 2 0 +github.com/containrrr/watchtower/pkg/notifications/util.go:18.9,18.26 1 0 +github.com/containrrr/watchtower/pkg/notifications/util.go:18.26,20.4 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:36.83,65.2 13 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:67.71,70.24 2 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:75.2,75.48 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:78.2,79.32 2 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:84.2,96.27 11 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:100.2,102.50 2 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:106.2,106.24 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:70.24,72.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:72.8,74.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:75.48,77.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:79.32,82.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:96.27,98.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:102.50,104.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:109.63,112.12 2 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:112.12,113.18 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:117.3,118.19 2 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:121.3,122.17 2 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:113.18,115.4 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:118.19,120.4 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:122.17,125.4 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:129.49,130.22 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:130.22,132.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:135.48,136.45 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:140.2,141.17 2 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:136.45,138.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:144.50,146.2 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:148.58,149.22 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:154.2,154.12 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:149.22,151.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:151.8,153.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/email.go:157.38,157.39 0 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:27.84,31.24 3 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:39.2,40.26 2 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:44.2,55.10 4 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:31.24,33.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:33.8,33.99 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:33.99,35.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:35.8,35.52 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:35.52,37.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:40.26,42.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:58.51,58.52 0 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:60.50,60.51 0 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:62.39,62.40 0 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:64.51,66.2 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:68.46,70.34 2 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:73.2,73.50 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:70.34,72.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:76.59,78.12 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:110.2,110.12 1 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:78.12,84.17 2 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:90.3,99.17 4 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:103.3,105.54 2 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:84.17,87.4 2 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:99.17,102.4 2 0 +github.com/containrrr/watchtower/pkg/notifications/gotify.go:105.54,107.4 1 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:25.87,30.26 3 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:34.2,43.10 4 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:30.26,32.3 1 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:46.52,46.53 0 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:48.51,48.52 0 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:50.40,50.41 0 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:52.52,54.2 1 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:56.60,60.12 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:111.2,111.12 1 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:60.12,68.57 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:86.3,87.17 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:92.3,93.17 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:97.3,99.53 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:68.57,75.33 3 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:83.4,83.56 1 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:75.33,81.5 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:87.17,90.4 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:93.17,95.4 1 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:99.53,101.24 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:101.24,103.19 2 0 +github.com/containrrr/watchtower/pkg/notifications/msteams.go:103.19,106.6 2 0 +github.com/containrrr/watchtower/pkg/registry/registry.go:9.71,12.16 3 0 +github.com/containrrr/watchtower/pkg/registry/registry.go:16.2,16.16 1 0 +github.com/containrrr/watchtower/pkg/registry/registry.go:19.2,24.8 2 0 +github.com/containrrr/watchtower/pkg/registry/registry.go:12.16,14.3 1 0 +github.com/containrrr/watchtower/pkg/registry/registry.go:16.16,18.3 1 0 +github.com/containrrr/watchtower/pkg/registry/registry.go:30.43,33.2 2 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:20.46,22.16 2 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:25.2,25.18 1 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:22.16,24.3 1 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:31.49,34.38 3 1 +github.com/containrrr/watchtower/pkg/registry/trust.go:43.2,43.93 1 1 +github.com/containrrr/watchtower/pkg/registry/trust.go:34.38,42.3 4 1 +github.com/containrrr/watchtower/pkg/registry/trust.go:50.52,52.16 2 1 +github.com/containrrr/watchtower/pkg/registry/trust.go:56.2,57.21 2 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:60.2,61.16 2 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:65.2,68.34 3 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:72.2,74.25 3 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:52.16,55.3 2 1 +github.com/containrrr/watchtower/pkg/registry/trust.go:57.21,59.3 1 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:61.16,64.3 2 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:68.34,71.3 2 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:78.53,81.16 2 1 +github.com/containrrr/watchtower/pkg/registry/trust.go:85.2,86.22 2 1 +github.com/containrrr/watchtower/pkg/registry/trust.go:81.16,83.3 1 1 +github.com/containrrr/watchtower/pkg/registry/trust.go:91.75,92.39 1 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:95.2,95.46 1 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:92.39,94.3 1 0 +github.com/containrrr/watchtower/pkg/registry/trust.go:99.56,101.2 1 1 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:13.68,17.16 3 1 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:21.2,22.16 2 1 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:25.2,31.26 3 1 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:17.16,19.3 1 0 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:22.16,24.3 1 0 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:34.71,37.46 3 1 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:45.2,45.17 1 1 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:37.46,41.3 3 1 +github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:41.8,44.3 2 1 +github.com/containrrr/watchtower/pkg/container/container.go:16.97,21.2 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:33.57,35.2 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:38.32,40.2 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:45.37,47.2 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:50.34,52.2 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:56.37,58.2 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:63.39,66.9 2 1 +github.com/containrrr/watchtower/pkg/container/container.go:70.2,70.39 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:74.2,74.18 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:66.9,68.3 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:70.39,72.3 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:79.43,81.9 2 1 +github.com/containrrr/watchtower/pkg/container/container.go:85.2,86.16 2 1 +github.com/containrrr/watchtower/pkg/container/container.go:90.2,90.25 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:81.9,83.3 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:86.16,88.3 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:95.41,97.9 2 0 +github.com/containrrr/watchtower/pkg/container/container.go:101.2,102.16 2 0 +github.com/containrrr/watchtower/pkg/container/container.go:106.2,106.19 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:97.9,99.3 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:102.16,104.3 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:111.43,113.9 2 0 +github.com/containrrr/watchtower/pkg/container/container.go:117.2,117.24 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:113.9,115.3 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:122.37,127.31 3 1 +github.com/containrrr/watchtower/pkg/container/container.go:132.2,132.69 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:139.2,139.14 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:127.31,130.3 2 1 +github.com/containrrr/watchtower/pkg/container/container.go:132.69,133.57 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:133.57,136.4 2 1 +github.com/containrrr/watchtower/pkg/container/container.go:144.37,146.2 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:152.40,154.2 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:161.43,168.29 5 0 +github.com/containrrr/watchtower/pkg/container/container.go:172.2,172.16 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:168.29,170.3 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:178.40,180.2 1 1 +github.com/containrrr/watchtower/pkg/container/container.go:193.60,198.49 4 0 +github.com/containrrr/watchtower/pkg/container/container.go:202.2,202.37 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:206.2,206.42 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:210.2,210.64 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:217.2,224.37 4 0 +github.com/containrrr/watchtower/pkg/container/container.go:229.2,229.57 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:233.2,234.15 2 0 +github.com/containrrr/watchtower/pkg/container/container.go:198.49,200.3 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:202.37,204.3 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:206.42,208.3 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:210.64,212.51 2 0 +github.com/containrrr/watchtower/pkg/container/container.go:212.51,214.4 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:224.37,225.47 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:225.47,227.4 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:229.57,231.3 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:239.61,242.40 2 0 +github.com/containrrr/watchtower/pkg/container/container.go:249.2,249.19 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:242.40,247.3 3 0 +github.com/containrrr/watchtower/pkg/container/container.go:253.40,255.2 1 0 +github.com/containrrr/watchtower/pkg/container/container.go:257.52,259.2 1 0 +github.com/containrrr/watchtower/pkg/container/metadata.go:19.57,21.2 1 0 +github.com/containrrr/watchtower/pkg/container/metadata.go:24.58,26.2 1 0 +github.com/containrrr/watchtower/pkg/container/metadata.go:29.58,31.2 1 0 +github.com/containrrr/watchtower/pkg/container/metadata.go:34.59,36.2 1 0 +github.com/containrrr/watchtower/pkg/container/metadata.go:40.61,43.2 2 1 +github.com/containrrr/watchtower/pkg/container/metadata.go:45.62,46.57 1 1 +github.com/containrrr/watchtower/pkg/container/metadata.go:49.2,49.11 1 1 +github.com/containrrr/watchtower/pkg/container/metadata.go:46.57,48.3 1 1 +github.com/containrrr/watchtower/pkg/container/metadata.go:52.63,55.2 2 1 +github.com/containrrr/watchtower/pkg/container/client.go:43.101,46.16 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:50.2,56.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:46.16,48.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:67.77,71.27 3 1 +github.com/containrrr/watchtower/pkg/container/client.go:77.2,84.16 3 1 +github.com/containrrr/watchtower/pkg/container/client.go:88.2,88.46 1 1 +github.com/containrrr/watchtower/pkg/container/client.go:100.2,100.16 1 1 +github.com/containrrr/watchtower/pkg/container/client.go:71.27,73.3 1 1 +github.com/containrrr/watchtower/pkg/container/client.go:73.8,75.3 1 1 +github.com/containrrr/watchtower/pkg/container/client.go:84.16,86.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:88.46,91.17 2 1 +github.com/containrrr/watchtower/pkg/container/client.go:95.3,95.12 1 1 +github.com/containrrr/watchtower/pkg/container/client.go:91.17,93.4 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:95.12,97.4 1 1 +github.com/containrrr/watchtower/pkg/container/client.go:103.60,107.27 3 1 +github.com/containrrr/watchtower/pkg/container/client.go:112.2,112.19 1 1 +github.com/containrrr/watchtower/pkg/container/client.go:107.27,110.3 2 1 +github.com/containrrr/watchtower/pkg/container/client.go:115.80,119.16 3 1 +github.com/containrrr/watchtower/pkg/container/client.go:123.2,124.16 2 1 +github.com/containrrr/watchtower/pkg/container/client.go:128.2,128.77 1 1 +github.com/containrrr/watchtower/pkg/container/client.go:119.16,121.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:124.16,126.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:131.84,134.18 3 0 +github.com/containrrr/watchtower/pkg/container/client.go:138.2,138.19 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:146.2,148.43 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:159.2,159.64 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:163.2,163.12 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:134.18,136.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:138.19,140.70 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:140.70,142.4 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:148.43,150.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:150.8,153.144 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:153.144,155.4 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:159.64,161.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:166.72,173.58 5 0 +github.com/containrrr/watchtower/pkg/container/client.go:183.2,187.16 4 0 +github.com/containrrr/watchtower/pkg/container/client.go:191.2,191.40 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:209.2,209.45 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:213.2,213.78 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:173.58,175.51 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:180.3,180.65 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:175.51,178.9 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:187.16,189.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:191.40,193.54 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:200.3,200.51 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:193.54,195.18 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:195.18,197.5 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:200.51,202.18 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:202.18,204.5 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:209.45,211.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:217.131,222.16 4 0 +github.com/containrrr/watchtower/pkg/container/client.go:225.2,225.12 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:222.16,224.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:228.79,232.2 3 0 +github.com/containrrr/watchtower/pkg/container/client.go:234.80,237.24 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:243.2,243.43 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:237.24,239.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:239.8,239.64 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:239.64,241.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:246.96,251.16 4 0 +github.com/containrrr/watchtower/pkg/container/client.go:255.2,255.35 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:260.2,261.18 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:251.16,253.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:255.35,258.3 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:264.86,275.16 6 0 +github.com/containrrr/watchtower/pkg/container/client.go:280.2,281.86 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:288.2,291.16 3 0 +github.com/containrrr/watchtower/pkg/container/client.go:296.2,298.51 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:302.2,302.12 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:275.16,278.3 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:281.86,283.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:283.8,283.18 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:283.18,286.3 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:291.16,294.3 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:298.51,301.3 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:305.61,316.2 3 0 +github.com/containrrr/watchtower/pkg/container/client.go:318.98,329.16 4 0 +github.com/containrrr/watchtower/pkg/container/client.go:333.2,337.22 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:342.2,344.16 3 0 +github.com/containrrr/watchtower/pkg/container/client.go:348.2,349.22 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:362.2,363.16 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:367.2,367.12 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:329.16,331.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:337.22,339.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:344.16,346.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:349.22,353.17 4 0 +github.com/containrrr/watchtower/pkg/container/client.go:353.17,355.4 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:355.9,355.25 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:355.25,357.4 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:363.16,365.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:370.118,374.17 3 0 +github.com/containrrr/watchtower/pkg/container/client.go:381.2,381.6 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:406.2,406.12 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:374.17,377.3 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:377.8,379.3 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:381.6,390.17 3 0 +github.com/containrrr/watchtower/pkg/container/client.go:393.3,393.34 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:397.3,397.26 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:400.3,400.31 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:404.3,404.8 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:390.17,392.4 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:393.34,395.12 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:397.26,399.4 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:400.31,403.4 2 0 +github.com/containrrr/watchtower/pkg/container/client.go:409.92,413.6 3 0 +github.com/containrrr/watchtower/pkg/container/client.go:413.6,414.10 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:424.3,424.30 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:415.18,416.14 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:417.11,418.70 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:418.70,420.5 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:420.10,420.32 1 0 +github.com/containrrr/watchtower/pkg/container/client.go:420.32,422.5 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:24.121,30.49 5 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:34.2,35.53 2 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:39.2,41.43 3 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:45.2,52.43 4 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:55.2,55.44 1 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:60.2,60.67 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:30.49,32.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:35.53,37.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:41.43,43.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:52.43,54.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:55.44,58.3 2 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:64.63,67.16 2 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:70.2,72.17 3 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:67.16,69.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:76.139,81.16 4 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:85.2,86.72 2 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:90.2,90.62 1 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:97.2,98.50 2 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:102.2,106.16 4 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:110.2,110.33 1 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:81.16,83.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:86.72,88.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:90.62,93.3 2 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:93.8,95.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:98.50,100.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:106.16,108.3 1 0 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:114.66,120.29 5 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:128.2,128.79 1 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:132.2,140.21 8 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:120.29,126.3 5 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:128.79,130.3 1 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:144.52,147.16 3 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:151.2,156.17 2 1 +github.com/containrrr/watchtower/pkg/registry/auth/auth.go:147.16,149.3 1 0 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:24.124,28.16 4 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:32.2,33.16 2 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:37.2,37.64 1 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:41.2,44.24 3 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:48.2,48.40 1 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:56.2,56.19 1 0 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:28.16,30.3 1 0 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:33.16,35.3 1 0 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:37.64,39.3 1 0 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:44.24,46.3 1 0 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:48.40,51.28 3 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:51.28,53.4 1 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:60.79,63.17 3 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:69.2,75.16 6 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:78.2,78.27 1 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:81.2,81.49 1 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:63.17,65.3 1 1 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:65.8,67.3 1 0 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:75.16,77.3 1 0 +github.com/containrrr/watchtower/pkg/registry/digest/digest.go:78.27,80.3 1 0 +github.com/containrrr/watchtower/internal/actions/check.go:24.101,28.16 3 1 +github.com/containrrr/watchtower/internal/actions/check.go:33.2,33.26 1 1 +github.com/containrrr/watchtower/internal/actions/check.go:38.2,39.62 2 1 +github.com/containrrr/watchtower/internal/actions/check.go:28.16,31.3 2 0 +github.com/containrrr/watchtower/internal/actions/check.go:33.26,36.3 2 1 +github.com/containrrr/watchtower/internal/actions/check.go:42.110,49.44 5 1 +github.com/containrrr/watchtower/internal/actions/check.go:66.2,66.64 1 1 +github.com/containrrr/watchtower/internal/actions/check.go:49.44,50.65 1 1 +github.com/containrrr/watchtower/internal/actions/check.go:57.3,57.14 1 1 +github.com/containrrr/watchtower/internal/actions/check.go:50.65,54.12 3 0 +github.com/containrrr/watchtower/internal/actions/check.go:57.14,58.62 1 1 +github.com/containrrr/watchtower/internal/actions/check.go:58.62,62.5 2 0 +github.com/containrrr/watchtower/internal/actions/check.go:69.55,70.22 1 1 +github.com/containrrr/watchtower/internal/actions/check.go:74.2,76.11 2 0 +github.com/containrrr/watchtower/internal/actions/check.go:79.2,79.11 1 0 +github.com/containrrr/watchtower/internal/actions/check.go:82.2,82.36 1 0 +github.com/containrrr/watchtower/internal/actions/check.go:70.22,72.3 1 1 +github.com/containrrr/watchtower/internal/actions/check.go:76.11,78.3 1 0 +github.com/containrrr/watchtower/internal/actions/check.go:79.11,81.3 1 0 +github.com/containrrr/watchtower/internal/actions/check.go:85.26,88.2 2 1 +github.com/containrrr/watchtower/internal/actions/update.go:17.71,20.27 2 1 +github.com/containrrr/watchtower/internal/actions/update.go:24.2,25.16 2 1 +github.com/containrrr/watchtower/internal/actions/update.go:29.2,29.45 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:41.2,42.16 2 1 +github.com/containrrr/watchtower/internal/actions/update.go:46.2,49.25 3 1 +github.com/containrrr/watchtower/internal/actions/update.go:57.2,57.27 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:63.2,63.27 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:66.2,66.12 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:20.27,22.3 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:25.16,27.3 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:29.45,31.127 2 1 +github.com/containrrr/watchtower/internal/actions/update.go:34.3,34.17 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:38.3,38.30 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:31.127,33.4 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:34.17,37.4 2 0 +github.com/containrrr/watchtower/internal/actions/update.go:42.16,44.3 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:49.25,50.45 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:50.45,51.38 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:51.38,53.5 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:57.27,59.3 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:59.8,62.3 2 1 +github.com/containrrr/watchtower/internal/actions/update.go:63.27,65.3 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:69.114,72.44 2 0 +github.com/containrrr/watchtower/internal/actions/update.go:79.2,79.20 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:72.44,73.26 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:73.26,76.4 2 0 +github.com/containrrr/watchtower/internal/actions/update.go:79.20,81.3 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:84.122,85.44 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:85.44,87.3 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:90.108,91.30 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:96.2,96.22 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:99.2,99.27 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:107.2,107.72 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:91.30,94.3 2 0 +github.com/containrrr/watchtower/internal/actions/update.go:96.22,98.3 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:99.27,100.78 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:100.78,104.4 3 0 +github.com/containrrr/watchtower/internal/actions/update.go:107.72,109.3 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:112.123,115.44 2 1 +github.com/containrrr/watchtower/internal/actions/update.go:123.2,123.20 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:115.44,116.28 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:119.3,120.44 2 1 +github.com/containrrr/watchtower/internal/actions/update.go:116.28,117.12 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:123.20,125.3 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:128.71,129.32 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:129.32,130.57 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:130.57,132.4 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:136.111,141.30 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:148.2,148.23 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:141.30,142.76 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:142.76,145.4 2 0 +github.com/containrrr/watchtower/internal/actions/update.go:148.23,149.74 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:149.74,151.4 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:151.9,151.54 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:151.54,153.4 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:157.58,159.36 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:159.36,160.25 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:164.2,165.43 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:160.25,161.12 1 1 +github.com/containrrr/watchtower/internal/actions/update.go:165.43,166.37 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:166.37,167.54 1 0 +github.com/containrrr/watchtower/internal/actions/update.go:167.54,169.20 2 0 diff --git a/docs/arguments.md b/docs/arguments.md index 64bbdfc..62e73ad 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -145,7 +145,7 @@ Poll interval (in seconds). This value controls how frequently watchtower will p Argument: --interval, -i Environment Variable: WATCHTOWER_POLL_INTERVAL Type: Integer - Default: 300 + Default: 86400 (24 hours) ``` ## Filter by enable label diff --git a/go.mod b/go.mod index 300eb31..0e37602 100644 --- a/go.mod +++ b/go.mod @@ -26,6 +26,7 @@ require ( github.com/docker/go-units v0.3.3 // indirect github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect github.com/gofrs/uuid v3.2.0+incompatible // indirect + github.com/golang/protobuf v1.4.2 // indirect github.com/google/certificate-transparency-go v1.0.21 // indirect github.com/gorilla/mux v1.7.0 // indirect github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect @@ -39,11 +40,11 @@ require ( github.com/lib/pq v1.2.0 // indirect github.com/miekg/pkcs11 v0.0.0-20190401114359-553cfdd26aaa // indirect github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect - github.com/onsi/ginkgo v1.8.0 - github.com/onsi/gomega v1.5.0 + github.com/onsi/ginkgo v1.11.0 + github.com/onsi/gomega v1.10.0 github.com/opencontainers/go-digest v1.0.0-rc1 // indirect github.com/opencontainers/image-spec v1.0.1 // indirect - github.com/opencontainers/runc v0.1.1 + github.com/opencontainers/runc v0.1.1 // indirect github.com/pkg/errors v0.8.1 // indirect github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.4.1 @@ -53,9 +54,14 @@ require ( github.com/stretchr/testify v1.3.0 github.com/theupdateframework/notary v0.6.1 // indirect github.com/zmap/zlint v1.0.2 // indirect - golang.org/x/net v0.0.0-20190522155817-f3200d17e092 + golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 // indirect + golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 + golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69 // indirect + golang.org/x/text v0.3.4 // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect gopkg.in/dancannon/gorethink.v3 v3.0.5 // indirect gopkg.in/fatih/pool.v2 v2.0.0 // indirect gopkg.in/gorethink/gorethink.v3 v3.0.5 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect gotest.tools v2.2.0+incompatible // indirect ) diff --git a/go.sum b/go.sum index 7285415..d1d77ae 100644 --- a/go.sum +++ b/go.sum @@ -63,7 +63,6 @@ github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BU github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4 h1:34LfsqlE2kEvmGP9qbRoPvOWkmluYGzmlvWVTzwvT0A= github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v1.13.1 h1:IkZjBSIc8hBjLpqeAbeE5mca5mNgeatLHBy3GO78BWo= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go v1.5.1-1 h1:hr4w35acWBPhGBXlzPoHpmZ/ygPjnmFVxGxxGnMyP7k= @@ -106,6 +105,13 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -115,6 +121,9 @@ github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= @@ -191,9 +200,13 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0 h1:JAKSXpt1YjtLA7YpPiqO9ss6sNXEsPfSGdwN0UHqzrw= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.10.0 h1:Gwkk+PTu/nfOwNMtUB/mRUv0X7ewW5dO4AERT1ThVKo= +github.com/onsi/gomega v1.10.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -280,6 +293,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -297,7 +312,8 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20191116160921-f9c825593386 h1:ktbWvQrW08Txdxno1PiDpSxPXG6ndGsfnJjRRtkM0LQ= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -314,24 +330,31 @@ golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69 h1:Wdn4Yb8d5VrsO3jWgaeSZss09x1VLVBMePDh4VW/xSQ= +golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= @@ -344,6 +367,13 @@ google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.21.0 h1:G+97AoqBnmZIT91cLG/EkCoK9NSelj64P8bOHHNmGn0= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -364,6 +394,9 @@ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bl gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gosrc.io/xmpp v0.1.1 h1:iMtE9W3fx254+4E6rI34AOPJDqWvpfQR6EYaVMzhJ4s= gosrc.io/xmpp v0.1.1/go.mod h1:4JgaXzw4MnEv2sGltONtK3GMhj+h9gpQ7cO8nwbFJLU= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= diff --git a/internal/actions/check.go b/internal/actions/check.go index 56a9fc4..aeff0cd 100644 --- a/internal/actions/check.go +++ b/internal/actions/check.go @@ -10,7 +10,7 @@ import ( "github.com/containrrr/watchtower/pkg/filters" "github.com/containrrr/watchtower/pkg/sorter" - "github.com/opencontainers/runc/Godeps/_workspace/src/github.com/Sirupsen/logrus" + "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus" diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index e92ee1c..1db8652 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -17,6 +17,7 @@ func CreateMockContainer(id string, name string, image string, created time.Time Created: created.String(), }, Config: &container2.Config{ + Image: image, Labels: make(map[string]string), }, } @@ -24,10 +25,40 @@ func CreateMockContainer(id string, name string, image string, created time.Time &content, &types.ImageInspect{ ID: image, + RepoDigests: []string{ + image, + }, }, ) } +// CreateMockContainerWithImageInfo should only be used for testing +func CreateMockContainerWithImageInfo(id string, name string, image string, created time.Time, imageInfo types.ImageInspect) container.Container { + content := types.ContainerJSON{ + ContainerJSONBase: &types.ContainerJSONBase{ + ID: id, + Image: image, + Name: name, + Created: created.String(), + }, + Config: &container2.Config{ + Image: image, + Labels: make(map[string]string), + }, + } + return *container.NewContainer( + &content, + &imageInfo, + ) +} + +// CreateMockContainerWithDigest should only be used for testing +func CreateMockContainerWithDigest(id string, name string, image string, created time.Time, digest string) container.Container { + c := CreateMockContainer(id, name, image, created) + c.ImageInfo().RepoDigests = []string{digest} + return c +} + // CreateMockContainerWithConfig creates a container substitute valid for testing func CreateMockContainerWithConfig(id string, name string, image string, created time.Time, config *container2.Config) container.Container { content := types.ContainerJSON{ diff --git a/internal/flags/flags.go b/internal/flags/flags.go index c7c98b1..163eefc 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -300,10 +300,11 @@ Should only be used for testing.`) // SetDefaults provides default values for environment variables func SetDefaults() { + day := time.Hour * 24 / time.Second viper.AutomaticEnv() viper.SetDefault("DOCKER_HOST", "unix:///var/run/docker.sock") viper.SetDefault("DOCKER_API_VERSION", DockerAPIMinVersion) - viper.SetDefault("WATCHTOWER_POLL_INTERVAL", 300) + viper.SetDefault("WATCHTOWER_POLL_INTERVAL", day) viper.SetDefault("WATCHTOWER_TIMEOUT", time.Second*10) viper.SetDefault("WATCHTOWER_NOTIFICATIONS", []string{}) viper.SetDefault("WATCHTOWER_NOTIFICATIONS_LEVEL", "info") diff --git a/pkg/container/client.go b/pkg/container/client.go index a333ea5..ce694d0 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -8,6 +8,7 @@ import ( "time" "github.com/containrrr/watchtower/pkg/registry" + "github.com/containrrr/watchtower/pkg/registry/digest" t "github.com/containrrr/watchtower/pkg/types" "github.com/docker/docker/api/types" @@ -275,14 +276,36 @@ func (client dockerClient) HasNewImage(ctx context.Context, container Container) func (client dockerClient) PullImage(ctx context.Context, container Container) error { containerName := container.Name() imageName := container.ImageName() - log.Debugf("Pulling %s for %s", imageName, containerName) + fields := log.Fields{ + "image": imageName, + "container": containerName, + } + + log.WithFields(fields).Debugf("Trying to load authentication credentials.") opts, err := registry.GetPullOptions(imageName) + if opts.RegistryAuth != "" { + log.Debug("Credentials loaded") + } if err != nil { log.Debugf("Error loading authentication credentials %s", err) return err } + log.WithFields(fields).Debugf("Checking if pull is needed") + + if match, err := digest.CompareDigest(container, opts.RegistryAuth); err != nil { + log.Info("Could not do a head request, falling back to regulara pull.") + log.Debugf("Reason: %s", err.Error()) + } else if match { + log.Debug("No pull needed. Skipping image.") + return nil + } else { + log.Debug("Digests did not match, doing a pull.") + } + + log.WithFields(fields).Debugf("Pulling image") + response, err := client.api.ImagePull(ctx, imageName, opts) if err != nil { log.Debugf("Error pulling image %s, %s", imageName, err) diff --git a/pkg/container/container.go b/pkg/container/container.go index 9e339c3..8a9d39e 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -253,3 +253,8 @@ func (c Container) hostConfig() *dockercontainer.HostConfig { func (c Container) HasImageInfo() bool { return c.imageInfo != nil } + +// ImageInfo fetches the ImageInspect data of the current container +func (c Container) ImageInfo() *types.ImageInspect { + return c.imageInfo +} diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go new file mode 100644 index 0000000..56f64a2 --- /dev/null +++ b/pkg/registry/auth/auth.go @@ -0,0 +1,168 @@ +package auth + +import ( + "encoding/json" + "errors" + "fmt" + "github.com/containrrr/watchtower/pkg/registry/helpers" + "github.com/containrrr/watchtower/pkg/types" + "github.com/docker/distribution/reference" + "github.com/sirupsen/logrus" + "io/ioutil" + "net/http" + "net/url" + "strings" +) + +// ChallengeHeader is the HTTP Header containing challenge instructions +const ChallengeHeader = "WWW-Authenticate" + +// GetToken fetches a token for the registry hosting the provided image +func GetToken(container types.Container, registryAuth string) (string, error) { + var err error + var URL url.URL + + if URL, err = GetChallengeURL(container.ImageName()); err != nil { + return "", err + } + logrus.WithField("URL", URL.String()).Debug("Building challenge URL") + + var req *http.Request + if req, err = GetChallengeRequest(URL); err != nil { + return "", err + } + + client := &http.Client{} + var res *http.Response + if res, err = client.Do(req); err != nil { + return "", err + } + + v := res.Header.Get(ChallengeHeader) + + logrus.WithFields(logrus.Fields{ + "status": res.Status, + "header": v, + }).Debug("Got response to challenge request") + + challenge := strings.ToLower(v) + if strings.HasPrefix(challenge, "basic") { + if registryAuth == "" { + return "", fmt.Errorf("no credentials available") + } + + return fmt.Sprintf("Basic %s", registryAuth), nil + } + if strings.HasPrefix(challenge, "bearer") { + return GetBearerHeader(challenge, container.ImageName(), err, registryAuth) + } + + return "", errors.New("unsupported challenge type from registry") +} + +// GetChallengeRequest creates a request for getting challenge instructions +func GetChallengeRequest(URL url.URL) (*http.Request, error) { + req, err := http.NewRequest("GET", URL.String(), nil) + if err != nil { + return nil, err + } + req.Header.Set("Accept", "*/*") + req.Header.Set("User-Agent", "Watchtower (Docker)") + return req, nil +} + +// GetBearerHeader tries to fetch a bearer token from the registry based on the challenge instructions +func GetBearerHeader(challenge string, img string, err error, registryAuth string) (string, error) { + client := http.Client{} + if strings.Contains(img, ":") { + img = strings.Split(img, ":")[0] + } + authURL, err := GetAuthURL(challenge, img) + + if err != nil { + return "", err + } + + var r *http.Request + if r, err = http.NewRequest("GET", authURL.String(), nil); err != nil { + return "", err + } + + if registryAuth != "" { + logrus.WithField("credentials", registryAuth).Debug("Credentials found.") + r.Header.Add("Authorization", fmt.Sprintf("Basic %s", registryAuth)) + } else { + logrus.Debug("No credentials found.") + } + + var authResponse *http.Response + if authResponse, err = client.Do(r); err != nil { + return "", err + } + + body, _ := ioutil.ReadAll(authResponse.Body) + tokenResponse := &types.TokenResponse{} + + err = json.Unmarshal(body, tokenResponse) + if err != nil { + return "", err + } + + return fmt.Sprintf("Bearer %s", tokenResponse.Token), nil +} + +// GetAuthURL from the instructions in the challenge +func GetAuthURL(challenge string, img string) (*url.URL, error) { + loweredChallenge := strings.ToLower(challenge) + raw := strings.TrimPrefix(loweredChallenge, "bearer") + + pairs := strings.Split(raw, ",") + values := make(map[string]string, len(pairs)) + + for _, pair := range pairs { + trimmed := strings.Trim(pair, " ") + kv := strings.Split(trimmed, "=") + key := kv[0] + val := strings.Trim(kv[1], "\"") + values[key] = val + } + logrus.WithFields(logrus.Fields{ + "realm": values["realm"], + "service": values["service"], + }).Debug("Checking challenge header content") + if values["realm"] == "" || values["service"] == "" { + + return nil, fmt.Errorf("challenge header did not include all values needed to construct an auth url") + } + + authURL, _ := url.Parse(fmt.Sprintf("%s", values["realm"])) + q := authURL.Query() + q.Add("service", values["service"]) + scopeImage := strings.TrimPrefix(img, values["service"]) + if !strings.Contains(scopeImage, "/") { + scopeImage = "library/" + scopeImage + } + scope := fmt.Sprintf("repository:%s:pull", scopeImage) + logrus.WithFields(logrus.Fields{"scope": scope, "image": img}).Debug("Setting scope for auth token") + q.Add("scope", scope) + + authURL.RawQuery = q.Encode() + return authURL, nil +} + +// GetChallengeURL creates a URL object based on the image info +func GetChallengeURL(img string) (url.URL, error) { + + normalizedNamed, _ := reference.ParseNormalizedNamed(img) + host, err := helpers.NormalizeRegistry(normalizedNamed.String()) + if err != nil { + return url.URL{}, err + } + + URL := url.URL{ + Scheme: "https", + Host: host, + Path: "/v2/", + } + return URL, nil +} diff --git a/pkg/registry/auth/auth_test.go b/pkg/registry/auth/auth_test.go new file mode 100644 index 0000000..16a6478 --- /dev/null +++ b/pkg/registry/auth/auth_test.go @@ -0,0 +1,98 @@ +package auth_test + +import ( + "fmt" + "github.com/containrrr/watchtower/internal/actions/mocks" + "github.com/containrrr/watchtower/pkg/registry/auth" + "net/url" + "os" + "testing" + "time" + + wtTypes "github.com/containrrr/watchtower/pkg/types" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +func TestAuth(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Registry Auth Suite") +} +func SkipIfCredentialsEmpty(credentials *wtTypes.RegistryCredentials, fn func()) func() { + if credentials.Username == "" { + return func() { + Skip("Username missing. Skipping integration test") + } + } else if credentials.Password == "" { + return func() { + Skip("Password missing. Skipping integration test") + } + } else { + return fn + } +} + +var GHCRCredentials = &wtTypes.RegistryCredentials{ + Username: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_GH_USERNAME"), + Password: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_GH_PASSWORD"), +} + +var _ = Describe("the auth module", func() { + mockId := "mock-id" + mockName := "mock-container" + mockImage := "ghcr.io/k6io/operator:latest" + mockCreated := time.Now() + mockDigest := "ghcr.io/k6io/operator@sha256:d68e1e532088964195ad3a0a71526bc2f11a78de0def85629beb75e2265f0547" + + mockContainer := mocks.CreateMockContainerWithDigest( + mockId, + mockName, + mockImage, + mockCreated, + mockDigest) + + When("getting an auth url", func() { + It("should parse the token from the response", + SkipIfCredentialsEmpty(GHCRCredentials, func() { + creds := fmt.Sprintf("%s:%s", GHCRCredentials.Username, GHCRCredentials.Password) + token, err := auth.GetToken(mockContainer, creds) + Expect(err).NotTo(HaveOccurred()) + Expect(token).NotTo(Equal("")) + }), + ) + + It("should create a valid auth url object based on the challenge header supplied", func() { + input := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull"` + expected := &url.URL{ + Host: "ghcr.io", + Scheme: "https", + Path: "/token", + RawQuery: "scope=repository%3Acontainrrr%2Fwatchtower%3Apull&service=ghcr.io", + } + res, err := auth.GetAuthURL(input, "containrrr/watchtower") + Expect(err).NotTo(HaveOccurred()) + Expect(res).To(Equal(expected)) + }) + It("should create a valid auth url object based on the challenge header supplied", func() { + input := `bearer realm="https://ghcr.io/token"` + res, err := auth.GetAuthURL(input, "containrrr/watchtower") + Expect(err).To(HaveOccurred()) + Expect(res).To(BeNil()) + }) + }) + When("getting a challenge url", func() { + It("should create a valid challenge url object based on the image ref supplied", func() { + expected := url.URL{Host: "ghcr.io", Scheme: "https", Path: "/v2/"} + Expect(auth.GetChallengeURL("ghcr.io/containrrr/watchtower:latest")).To(Equal(expected)) + }) + It("should assume dockerhub if the image ref is not fully qualified", func() { + expected := url.URL{Host: "index.docker.io", Scheme: "https", Path: "/v2/"} + Expect(auth.GetChallengeURL("containrrr/watchtower:latest")).To(Equal(expected)) + }) + It("should convert legacy dockerhub hostnames to index.docker.io", func() { + expected := url.URL{Host: "index.docker.io", Scheme: "https", Path: "/v2/"} + Expect(auth.GetChallengeURL("docker.io/containrrr/watchtower:latest")).To(Equal(expected)) + Expect(auth.GetChallengeURL("registry-1.docker.io/containrrr/watchtower:latest")).To(Equal(expected)) + }) + }) +}) diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go new file mode 100644 index 0000000..aae8dfb --- /dev/null +++ b/pkg/registry/digest/digest.go @@ -0,0 +1,98 @@ +package digest + +import ( + "crypto/tls" + "encoding/base64" + "encoding/json" + "errors" + "fmt" + "github.com/containrrr/watchtower/pkg/registry/auth" + "github.com/containrrr/watchtower/pkg/registry/manifest" + "github.com/containrrr/watchtower/pkg/types" + "github.com/sirupsen/logrus" + "net/http" + "strings" +) + +// ContentDigestHeader is the key for the key-value pair containing the digest header +const ContentDigestHeader = "Docker-Content-Digest" + +// CompareDigest ... +func CompareDigest(container types.Container, registryAuth string) (bool, error) { + var digest string + + registryAuth = TransformAuth(registryAuth) + token, err := auth.GetToken(container, registryAuth) + if err != nil { + return false, err + } + + digestURL, err := manifest.BuildManifestURL(container) + if err != nil { + return false, err + } + + if digest, err = GetDigest(digestURL, token); err != nil { + return false, err + } + + logrus.WithField("remote", digest).Debug("Found a remote digest to compare with") + + for _, dig := range container.ImageInfo().RepoDigests { + localDigest := strings.Split(dig, "@")[1] + fields := logrus.Fields{"local": localDigest, "remote": digest} + logrus.WithFields(fields).Debug("Comparing") + + if localDigest == digest { + logrus.Debug("Found a match") + return true, nil + } + } + + return false, nil +} + +// TransformAuth from a base64 encoded json object to base64 encoded string +func TransformAuth(registryAuth string) string { + b, _ := base64.StdEncoding.DecodeString(registryAuth) + credentials := &types.RegistryCredentials{} + _ = json.Unmarshal(b, credentials) + + if credentials.Username != "" && credentials.Password != "" { + ba := []byte(fmt.Sprintf("%s:%s", credentials.Username, credentials.Password)) + registryAuth = base64.StdEncoding.EncodeToString(ba) + } + + return registryAuth +} + +// GetDigest from registry using a HEAD request to prevent rate limiting +func GetDigest(url string, token string) (string, error) { + tr := &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + } + client := &http.Client{Transport: tr} + + if token != "" { + logrus.WithField("token", token).Trace("Setting request token") + } else { + return "", errors.New("could not fetch token") + } + + req, _ := http.NewRequest("HEAD", url, nil) + req.Header.Add("Authorization", token) + req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.v2+json") + req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.list.v2+json") + req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.v1+json") + + logrus.WithField("url", url).Debug("Doing a HEAD request to fetch a digest") + + res, err := client.Do(req) + if err != nil { + return "", err + } + if res.StatusCode != 200 { + return "", fmt.Errorf("registry responded to head request with %d", res.StatusCode) + } + return res.Header.Get(ContentDigestHeader), nil +} diff --git a/pkg/registry/digest/digest_test.go b/pkg/registry/digest/digest_test.go new file mode 100644 index 0000000..0de6025 --- /dev/null +++ b/pkg/registry/digest/digest_test.go @@ -0,0 +1,87 @@ +package digest_test + +import ( + "fmt" + "github.com/containrrr/watchtower/internal/actions/mocks" + "github.com/containrrr/watchtower/pkg/registry/digest" + wtTypes "github.com/containrrr/watchtower/pkg/types" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "os" + "testing" + "time" +) + +func TestDigest(t *testing.T) { + + RegisterFailHandler(Fail) + RunSpecs(GinkgoT(), "Digest Suite") +} + +var DockerHubCredentials = &wtTypes.RegistryCredentials{ + Username: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_DH_USERNAME"), + Password: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_DH_PASSWORD"), +} +var GHCRCredentials = &wtTypes.RegistryCredentials{ + Username: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_GH_USERNAME"), + Password: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_GH_PASSWORD"), +} + +func SkipIfCredentialsEmpty(credentials *wtTypes.RegistryCredentials, fn func()) func() { + if credentials.Username == "" { + return func() { + Skip("Username missing. Skipping integration test") + } + } else if credentials.Password == "" { + return func() { + Skip("Password missing. Skipping integration test") + } + } else { + return fn + } +} + +var _ = Describe("Digests", func() { + mockId := "mock-id" + mockName := "mock-container" + mockImage := "ghcr.io/k6io/operator:latest" + mockCreated := time.Now() + mockDigest := "ghcr.io/k6io/operator@sha256:d68e1e532088964195ad3a0a71526bc2f11a78de0def85629beb75e2265f0547" + + mockContainer := mocks.CreateMockContainerWithDigest( + mockId, + mockName, + mockImage, + mockCreated, + mockDigest) + + When("a digest comparison is done", func() { + It("should return true if digests match", + SkipIfCredentialsEmpty(GHCRCredentials, func() { + creds := fmt.Sprintf("%s:%s", GHCRCredentials.Username, GHCRCredentials.Password) + matches, err := digest.CompareDigest(mockContainer, creds) + Expect(err).NotTo(HaveOccurred()) + Expect(matches).To(Equal(true)) + }), + ) + + It("should return false if digests differ", func() { + + }) + It("should return an error if the registry isn't available", func() { + + }) + }) + When("using different registries", func() { + It("should work with DockerHub", + SkipIfCredentialsEmpty(DockerHubCredentials, func() { + fmt.Println(DockerHubCredentials != nil) // to avoid crying linters + }), + ) + It("should work with GitHub Container Registry", + SkipIfCredentialsEmpty(GHCRCredentials, func() { + fmt.Println(GHCRCredentials != nil) // to avoid crying linters + }), + ) + }) +}) diff --git a/pkg/registry/helpers/helpers.go b/pkg/registry/helpers/helpers.go new file mode 100644 index 0000000..1469331 --- /dev/null +++ b/pkg/registry/helpers/helpers.go @@ -0,0 +1,36 @@ +package helpers + +import ( + "fmt" + url2 "net/url" +) + +// ConvertToHostname strips a url from everything but the hostname part +func ConvertToHostname(url string) (string, string, error) { + urlWithSchema := fmt.Sprintf("x://%s", url) + u, err := url2.Parse(urlWithSchema) + if err != nil { + return "", "", err + } + hostName := u.Hostname() + port := u.Port() + + return hostName, port, err +} + +// NormalizeRegistry makes sure variations of DockerHubs registry +func NormalizeRegistry(registry string) (string, error) { + hostName, port, err := ConvertToHostname(registry) + if err != nil { + return "", err + } + + if hostName == "registry-1.docker.io" || hostName == "docker.io" { + hostName = "index.docker.io" + } + + if port != "" { + return fmt.Sprintf("%s:%s", hostName, port), nil + } + return hostName, nil +} diff --git a/pkg/registry/helpers/helpers_test.go b/pkg/registry/helpers/helpers_test.go new file mode 100644 index 0000000..92e9116 --- /dev/null +++ b/pkg/registry/helpers/helpers_test.go @@ -0,0 +1,31 @@ +package helpers + +import ( + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "testing" +) + +func TestHelpers(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Helper Suite") +} + +var _ = Describe("the helpers", func() { + + When("converting an url to a hostname", func() { + It("should return docker.io given docker.io/containrrr/watchtower:latest", func() { + host, port, err := ConvertToHostname("docker.io/containrrr/watchtower:latest") + Expect(err).NotTo(HaveOccurred()) + Expect(host).To(Equal("docker.io")) + Expect(port).To(BeEmpty()) + }) + }) + When("normalizing the registry information", func() { + It("should return index.docker.io given docker.io", func() { + out, err := NormalizeRegistry("docker.io/containrrr/watchtower:latest") + Expect(err).NotTo(HaveOccurred()) + Expect(out).To(Equal("index.docker.io")) + }) + }) +}) diff --git a/pkg/registry/manifest/manifest.go b/pkg/registry/manifest/manifest.go new file mode 100644 index 0000000..837bc3f --- /dev/null +++ b/pkg/registry/manifest/manifest.go @@ -0,0 +1,64 @@ +package manifest + +import ( + "fmt" + "github.com/containrrr/watchtower/pkg/registry/helpers" + "github.com/containrrr/watchtower/pkg/types" + ref "github.com/docker/distribution/reference" + "github.com/sirupsen/logrus" + url2 "net/url" + "strings" +) + +// BuildManifestURL from raw image data +func BuildManifestURL(container types.Container) (string, error) { + + normalizedName, err := ref.ParseNormalizedNamed(container.ImageName()) + if err != nil { + return "", err + } + + host, err := helpers.NormalizeRegistry(normalizedName.String()) + img, tag := extractImageAndTag(strings.TrimPrefix(container.ImageName(), host+"/")) + + logrus.WithFields(logrus.Fields{ + "image": img, + "tag": tag, + "normalized": normalizedName, + "host": host, + }).Debug("Parsing image ref") + + if err != nil { + return "", err + } + img = strings.TrimPrefix(img, fmt.Sprintf("%s/", host)) + if !strings.Contains(img, "/") { + img = "library/" + img + } + url := url2.URL{ + Scheme: "https", + Host: host, + Path: fmt.Sprintf("/v2/%s/manifests/%s", img, tag), + } + return url.String(), nil +} + +func extractImageAndTag(imageName string) (string, string) { + var img string + var tag string + + if strings.Contains(imageName, ":") { + parts := strings.Split(imageName, ":") + if len(parts) > 2 { + img = fmt.Sprintf("%s%s", parts[0], parts[1]) + tag = parts[3] + } else { + img = parts[0] + tag = parts[1] + } + } else { + img = imageName + tag = "latest" + } + return img, tag +} diff --git a/pkg/registry/manifest/manifest_test.go b/pkg/registry/manifest/manifest_test.go new file mode 100644 index 0000000..3b86f90 --- /dev/null +++ b/pkg/registry/manifest/manifest_test.go @@ -0,0 +1,66 @@ +package manifest_test + +import ( + "github.com/containrrr/watchtower/internal/actions/mocks" + "github.com/containrrr/watchtower/pkg/registry/manifest" + apiTypes "github.com/docker/docker/api/types" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "testing" + "time" +) + +func TestManifest(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Manifest Suite") +} + +var _ = Describe("the manifest module", func() { + mockId := "mock-id" + mockName := "mock-container" + mockCreated := time.Now() + + When("building a manifest url", func() { + It("should return a valid url given a fully qualified image", func() { + expected := "https://ghcr.io/v2/containrrr/watchtower/manifests/latest" + imageInfo := apiTypes.ImageInspect{ + RepoTags: []string{ + "ghcr.io/k6io/operator:latest", + }, + } + mock := mocks.CreateMockContainerWithImageInfo(mockId, mockName, "ghcr.io/containrrr/watchtower:latest", mockCreated, imageInfo) + res, err := manifest.BuildManifestURL(mock) + Expect(err).NotTo(HaveOccurred()) + Expect(res).To(Equal(expected)) + }) + It("should assume dockerhub for non-qualified images", func() { + expected := "https://index.docker.io/v2/containrrr/watchtower/manifests/latest" + imageInfo := apiTypes.ImageInspect{ + RepoTags: []string{ + "containrrr/watchtower:latest", + }, + } + + mock := mocks.CreateMockContainerWithImageInfo(mockId, mockName, "containrrr/watchtower:latest", mockCreated, imageInfo) + res, err := manifest.BuildManifestURL(mock) + Expect(err).NotTo(HaveOccurred()) + Expect(res).To(Equal(expected)) + }) + It("should assume latest for images that lack an explicit tag", func() { + expected := "https://index.docker.io/v2/containrrr/watchtower/manifests/latest" + imageInfo := apiTypes.ImageInspect{ + + RepoTags: []string{ + "containrrr/watchtower", + }, + } + + mock := mocks.CreateMockContainerWithImageInfo(mockId, mockName, "containrrr/watchtower", mockCreated, imageInfo) + + res, err := manifest.BuildManifestURL(mock) + Expect(err).NotTo(HaveOccurred()) + Expect(res).To(Equal(expected)) + }) + }) + +}) diff --git a/pkg/registry/trust.go b/pkg/registry/trust.go index 937d2c3..c2bf7da 100644 --- a/pkg/registry/trust.go +++ b/pkg/registry/trust.go @@ -66,7 +66,7 @@ func EncodedConfigAuth(ref string) (string, error) { auth, _ := credStore.Get(server) // returns (types.AuthConfig{}) if server not in credStore if auth == (types.AuthConfig{}) { - log.Debugf("No credentials for %s in %s", server, configFile.Filename) + log.WithField("config_file", configFile.Filename).Debugf("No credentials for %s found", server) return "", nil } log.Debugf("Loaded auth credentials for user %s, on registry %s, from file %s", auth.Username, ref, configFile.Filename) diff --git a/pkg/registry/trust_test.go b/pkg/registry/trust_test.go index 8ffe1b9..7d4d48d 100644 --- a/pkg/registry/trust_test.go +++ b/pkg/registry/trust_test.go @@ -1,59 +1,71 @@ package registry import ( - "github.com/stretchr/testify/assert" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" "os" "testing" ) -func TestEncodedEnvAuth_ShouldReturnAnErrorIfRepoEnvsAreUnset(t *testing.T) { - os.Unsetenv("REPO_USER") - os.Unsetenv("REPO_PASS") - _, err := EncodedEnvAuth("") - assert.Error(t, err) -} -func TestEncodedEnvAuth_ShouldReturnAuthHashIfRepoEnvsAreSet(t *testing.T) { - expectedHash := "eyJ1c2VybmFtZSI6ImNvbnRhaW5ycnItdXNlciIsInBhc3N3b3JkIjoiY29udGFpbnJyci1wYXNzIn0=" - - os.Setenv("REPO_USER", "containrrr-user") - os.Setenv("REPO_PASS", "containrrr-pass") - config, _ := EncodedEnvAuth("") - - assert.Equal(t, config, expectedHash) +func TestTrust(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Trust Suite") } -func TestEncodedConfigAuth_ShouldReturnAnErrorIfFileIsNotPresent(t *testing.T) { - os.Setenv("DOCKER_CONFIG", "/dev/null/should-fail") - _, err := EncodedConfigAuth("") - assert.Error(t, err) -} +var _ = Describe("Testing with Ginkgo", func() { + It("encoded env auth_ should return an error if repo envs are unset", func() { + _ = os.Unsetenv("REPO_USER") + _ = os.Unsetenv("REPO_PASS") -/* - * TODO: - * This part only confirms that it still works in the same way as it did - * with the old version of the docker api client sdk. I'd say that - * ParseServerAddress likely needs to be elaborated a bit to default to - * dockerhub in case no server address was provided. - * - * ++ @simskij, 2019-04-04 - */ + _, err := EncodedEnvAuth("") + Expect(err).To(HaveOccurred()) + }) + It("encoded env auth_ should return auth hash if repo envs are set", func() { + var err error + expectedHash := "eyJ1c2VybmFtZSI6ImNvbnRhaW5ycnItdXNlciIsInBhc3N3b3JkIjoiY29udGFpbnJyci1wYXNzIn0=" -func TestParseServerAddress_ShouldReturnErrorIfPassedEmptyString(t *testing.T) { - _, err := ParseServerAddress("") - assert.Error(t, err) -} + err = os.Setenv("REPO_USER", "containrrr-user") + Expect(err).NotTo(HaveOccurred()) -func TestParseServerAddress_ShouldReturnTheRepoNameIfPassedAFullyQualifiedImageName(t *testing.T) { - val, _ := ParseServerAddress("github.com/containrrrr/config") - assert.Equal(t, val, "github.com") -} + err = os.Setenv("REPO_PASS", "containrrr-pass") + Expect(err).NotTo(HaveOccurred()) -func TestParseServerAddress_ShouldReturnTheOrganizationPartIfPassedAnImageNameMissingServerName(t *testing.T) { - val, _ := ParseServerAddress("containrrr/config") - assert.Equal(t, val, "containrrr") -} + config, err := EncodedEnvAuth("") + Expect(config).To(Equal(expectedHash)) + Expect(err).NotTo(HaveOccurred()) + }) + It("encoded config auth_ should return an error if file is not present", func() { + var err error -func TestParseServerAddress_ShouldReturnTheServerNameIfPassedAFullyQualifiedImageName(t *testing.T) { - val, _ := ParseServerAddress("github.com/containrrrr/config") - assert.Equal(t, val, "github.com") -} + err = os.Setenv("DOCKER_CONFIG", "/dev/null/should-fail") + Expect(err).NotTo(HaveOccurred()) + + _, err = EncodedConfigAuth("") + Expect(err).To(HaveOccurred()) + + }) + /* + * TODO: + * This part only confirms that it still works in the same way as it did + * with the old version of the docker api client sdk. I'd say that + * ParseServerAddress likely needs to be elaborated a bit to default to + * dockerhub in case no server address was provided. + * + * ++ @simskij, 2019-04-04 + */ + It("parse server address_ should return error if passed empty string", func() { + + _, err := ParseServerAddress("") + Expect(err).To(HaveOccurred()) + }) + It("parse server address_ should return the organization part if passed an image name missing server name", func() { + + val, _ := ParseServerAddress("containrrr/config") + Expect(val).To(Equal("containrrr")) + }) + It("parse server address_ should return the server name if passed a fully qualified image name", func() { + + val, _ := ParseServerAddress("github.com/containrrrr/config") + Expect(val).To(Equal("github.com")) + }) +}) diff --git a/pkg/types/container.go b/pkg/types/container.go new file mode 100644 index 0000000..50baac6 --- /dev/null +++ b/pkg/types/container.go @@ -0,0 +1,26 @@ +package types + +import "github.com/docker/docker/api/types" + +// Container is a docker container running an image +type Container interface { + ContainerInfo() *types.ContainerJSON + ID() string + IsRunning() bool + Name() string + ImageID() string + ImageName() string + Enabled() (bool, bool) + IsMonitorOnly() bool + Scope() (string, bool) + Links() []string + ToRestart() bool + IsWatchtower() bool + StopSignal() string + HasImageInfo() bool + ImageInfo() *types.ImageInspect + GetLifecyclePreCheckCommand() string + GetLifecyclePostCheckCommand() string + GetLifecyclePreUpdateCommand() string + GetLifecyclePostUpdateCommand() string +} diff --git a/pkg/types/registry_credentials.go b/pkg/types/registry_credentials.go new file mode 100644 index 0000000..607fa05 --- /dev/null +++ b/pkg/types/registry_credentials.go @@ -0,0 +1,7 @@ +package types + +// RegistryCredentials is a credential pair used for basic auth +type RegistryCredentials struct { + Username string + Password string // usually a token rather than an actual password +} diff --git a/pkg/types/token_response.go b/pkg/types/token_response.go new file mode 100644 index 0000000..722dde8 --- /dev/null +++ b/pkg/types/token_response.go @@ -0,0 +1,6 @@ +package types + +// TokenResponse is returned by the registry on successful authentication +type TokenResponse struct { + Token string `json:"token"` +} From f697870ed5c7ea71f9aa19499f80b8e65c3c4869 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Mon, 7 Dec 2020 20:01:26 +0100 Subject: [PATCH 008/389] fix erroneous poll interval change --- internal/flags/flags.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 163eefc..356c16f 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -304,7 +304,7 @@ func SetDefaults() { viper.AutomaticEnv() viper.SetDefault("DOCKER_HOST", "unix:///var/run/docker.sock") viper.SetDefault("DOCKER_API_VERSION", DockerAPIMinVersion) - viper.SetDefault("WATCHTOWER_POLL_INTERVAL", day) + viper.SetDefault("WATCHTOWER_POLL_INTERVAL", day.Seconds()) viper.SetDefault("WATCHTOWER_TIMEOUT", time.Second*10) viper.SetDefault("WATCHTOWER_NOTIFICATIONS", []string{}) viper.SetDefault("WATCHTOWER_NOTIFICATIONS_LEVEL", "info") From 023919e0fd4f2c35fc044acd4a769e54610333db Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Mon, 7 Dec 2020 20:04:11 +0100 Subject: [PATCH 009/389] actually fix it --- internal/flags/flags.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 356c16f..af62062 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -300,7 +300,7 @@ Should only be used for testing.`) // SetDefaults provides default values for environment variables func SetDefaults() { - day := time.Hour * 24 / time.Second + day := time.Hour * 24 viper.AutomaticEnv() viper.SetDefault("DOCKER_HOST", "unix:///var/run/docker.sock") viper.SetDefault("DOCKER_API_VERSION", DockerAPIMinVersion) From 33b4957d07a09e311592c39dd8a0fd382ddee89b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 7 Dec 2020 20:09:43 +0100 Subject: [PATCH 010/389] fix default interval to be the intended value (#700) Co-authored-by: Simon Aronsson --- internal/flags/flags.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index af62062..2f7a89f 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -300,11 +300,11 @@ Should only be used for testing.`) // SetDefaults provides default values for environment variables func SetDefaults() { - day := time.Hour * 24 + day := (time.Hour * 24).Seconds() viper.AutomaticEnv() viper.SetDefault("DOCKER_HOST", "unix:///var/run/docker.sock") viper.SetDefault("DOCKER_API_VERSION", DockerAPIMinVersion) - viper.SetDefault("WATCHTOWER_POLL_INTERVAL", day.Seconds()) + viper.SetDefault("WATCHTOWER_POLL_INTERVAL", day) viper.SetDefault("WATCHTOWER_TIMEOUT", time.Second*10) viper.SetDefault("WATCHTOWER_NOTIFICATIONS", []string{}) viper.SetDefault("WATCHTOWER_NOTIFICATIONS_LEVEL", "info") From 9ac1bf6ca2fe8114fab961ce7bb02e34aa1c034f Mon Sep 17 00:00:00 2001 From: rg9400 <39887349+rg9400@users.noreply.github.com> Date: Tue, 8 Dec 2020 11:40:27 -0600 Subject: [PATCH 011/389] fix typo (#702) --- pkg/container/client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/container/client.go b/pkg/container/client.go index ce694d0..2063332 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -295,7 +295,7 @@ func (client dockerClient) PullImage(ctx context.Context, container Container) e log.WithFields(fields).Debugf("Checking if pull is needed") if match, err := digest.CompareDigest(container, opts.RegistryAuth); err != nil { - log.Info("Could not do a head request, falling back to regulara pull.") + log.Info("Could not do a head request, falling back to regular pull.") log.Debugf("Reason: %s", err.Error()) } else if match { log.Debug("No pull needed. Skipping image.") From 0f065399b01a36a7c782f5fe735612a5907f9e80 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 8 Dec 2020 18:40:43 +0100 Subject: [PATCH 012/389] docs: add rg9400 as a contributor (#703) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 67b4092..3365865 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -693,6 +693,15 @@ "contributions": [ "doc" ] + }, + { + "login": "rg9400", + "name": "rg9400", + "avatar_url": "https://avatars2.githubusercontent.com/u/39887349?v=4", + "profile": "https://github.com/rg9400", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index da9dfcf..25e6474 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Chander Ganesan

📖
yrien30

💻
ksurl

📖 +
rg9400

💻 From ea16683c46bf563acb3980fd510a22667c3c3d83 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Wed, 9 Dec 2020 16:18:07 +0100 Subject: [PATCH 013/389] add defered closer calls for the http clients (#705) --- pkg/registry/auth/auth.go | 2 +- pkg/registry/digest/digest.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index 56f64a2..1596aca 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -37,7 +37,7 @@ func GetToken(container types.Container, registryAuth string) (string, error) { if res, err = client.Do(req); err != nil { return "", err } - + defer res.Body.Close() v := res.Header.Get(ChallengeHeader) logrus.WithFields(logrus.Fields{ diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go index aae8dfb..389f059 100644 --- a/pkg/registry/digest/digest.go +++ b/pkg/registry/digest/digest.go @@ -91,6 +91,8 @@ func GetDigest(url string, token string) (string, error) { if err != nil { return "", err } + defer res.Body.Close() + if res.StatusCode != 200 { return "", fmt.Errorf("registry responded to head request with %d", res.StatusCode) } From 4d17cf1a296c88bfec41983b634033d8d95ce0d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 20 Dec 2020 18:16:32 +0100 Subject: [PATCH 014/389] fix cleanup for rolling updates (#706) --- internal/actions/update.go | 1 + internal/actions/update_test.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/internal/actions/update.go b/internal/actions/update.go index 61f6433..e37e671 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -73,6 +73,7 @@ func performRollingRestart(containers []container.Container, client container.Cl if containers[i].Stale { stopStaleContainer(containers[i], client, params) restartStaleContainer(containers[i], client, params) + cleanupImageIDs[containers[i].ImageID()] = true } } diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index d599cde..1a53aad 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -80,6 +80,14 @@ var _ = Describe("the update action", func() { Expect(client.TestData.TriedToRemoveImageCount).To(Equal(2)) }) }) + When("performing a rolling restart update", func() { + It("should try to remove the image once", func() { + + err := actions.Update(client, types.UpdateParams{Cleanup: true, RollingRestart: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) + }) + }) }) When("watchtower has been instructed to monitor only", func() { From 8c9545b336462c3e295ae4695a985539a0eef8df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 20 Dec 2020 18:23:06 +0100 Subject: [PATCH 015/389] documentation theme updates (#713) Co-authored-by: Zois Pagoulatos --- docs/images/favicon.ico | Bin 0 -> 53108 bytes docs/images/logo-450px.png | Bin 0 -> 36798 bytes docs/index.md | 11 +++++++---- docs/stylesheets/theme.css | 16 ++++++++++++++++ mkdocs.yml | 7 +++++++ 5 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 docs/images/favicon.ico create mode 100644 docs/images/logo-450px.png create mode 100644 docs/stylesheets/theme.css diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b9099b44fc39d2564727d7f3938c9b79ae5d0c80 GIT binary patch literal 53108 zcmYhiby!=^6E~WK1lM52-CC?jaR?rYyA&-HcP~YPLyObmkRUDA7K#;jYbg%Jy|}x> z&G+}d_dYlOoZUR<%=#(WD4e;0kC8Ky(ub zz{W&BOg&3%0RSC{ih``3|LlGcmcMDw!_{5X z{s>7)g1u)7jeufXfGiLZtT4GB^WiQtu&_{K8fWf?P#WIlr{xuOOA?P_UVd*>(!SQ| zXH6wG-!C?-H+$XiC&AUZO^V{?Y6qT_RQ${$FJ7S4%6;FHL_bzP05Du2aq$!T~T%~`HNxjweDI`S9B3M9gFzHIS4=HoUH$5 zVx2UF$>Ws3U|e3h;qmS8v@3Ucn*WDj)hR))yvc4qJF)o!fH%;P-hbQv-Q;x8)& z=2T<$qA+F3yDMn>HlvRRqTTI~(W11^9d=5SHoi-Uuyh&f=oGNu(7vo8Pyze`=S-eT zPrC_bNQyCi%6IRwCtLo3f7Re$ikUBT(b4A(^}NHkJ5*Y6rMc=Er_8Jk>3O>rLV~%~ z-Y(_|Eve^VkXHT{n%mts?2+>h@X;)*_mYa>u9CV2IqUliUNJ$Df|UY*VrMN}fi7U7{(W@^=*oYtuH>-shk-xy-%s7~)uQWSk{sEOL$T1$cR?+R_+b*eP+W zn&26+Sjk@!F9qH1#=D)=<=Ifjnl5+viZXW+i@oe`iTyTvH51o%gX%Y3>SMp*;srap zn05V03Kw=V|!kCv?J#N=&=O% z*yGC(;RPD?)7ZVEC>;3xw$Q*m3m`P2M~(w}lw%5{hYmxuj|^f$N#7)W0g#JMw_Md{ zK5tEqoYv^slW1Iz7ilKemSufSr~>$bS$0k;a_B>)cgRVAPq{Mqz*e(#dh7uRc69pE z8y#teErQ$7VL!&8y>&h#C7H^x{|1jVyf>R9j2d@mxGPKEONWshL-K08(BFOi>Q_@- zdA6Rs<m*Fp?F=aTwaDx*z)+>M<-@!u_@+Wc9CY zrh3+#Sg8~kq}B*k2`jZDMI`8mCDX$LAbHcNOaF-&fx<2}~ypFWI2(2b>IK7FrxX(G+D8lb@wX@cKS6G6@E25({=EFs1WPob zU`v;~Fya8cUG3#~tNh|i)>$k!Im|HPqqklH%l{Pa@ZA>AO~XGa>CZH-e@hWhGLbE2 z!a)hb<{p~k=WfdWxI^+9c8`ObVm$g2{0|}n7$^c#d!9y0;}Y8-He~siNo`=#5lVug z%(!Y-cn<@JHrLltAwfcK=2fPQ=9a zz4L$KH07DADlq(0U=5KSIh_0jb5UbJjmTk0r!lc`Z^*j%7?hkGMG?@*#nO9K$wS+X z8TW1jT;h7CK{+lPEBGOVtuFb)%+*pjQiB&{-*>spZ*8L88KdOFu)~5ayuJb26Ni1* zex}hNc+SP9UAH;xX-*PcAP@+idPgw%rht9}&hUtje^!)IPC(H<&7dv6@xEn^k-{Hy zW)IYSSke-aEE20W43XD>9k0<9e%1SWd5?UpbWiG4og{;F3^t)~5nX0){pM{~el@;S3rw5@;PB(AMfR?LE`uuOyO7r-?RsEFh$ zP)?rs5Mz07_;PjfHoEL+stzf0jPj;<2|~@^?Ik&8Mmw&`_4?DdzM)`jt+KE84(=S*f?9`Q(e)G6B%W6lM(@5{t`uQx@I5^B_Jg{Nd zE%g{bJ|n3JE?l15>n!Ah$kdLOkoZe=I{1qt5lzRAkFTtcLfCsQd7+^kqt@!+fQ1Eh z-(YnUBu<>ulI$!px-OUyyI2~71-G?l0}yVE8>|`57=~cDTg1dpR%)lAVbHVB;WHHK zVo+|nN?0_=n$JG))Vp+3@L3AMFu7RjlCZ4FD;$n+ar+_B{f962ofJ(GFiB|64rMwu!`y{o4^q0h@)5Y{q9mCP3T#_Iqz36Kz4wuGb!09U7hV?>2P>G#QIe zm?JyxIS(zO-17;=E+QHe!HoNXI3PA65@5~?JZ6aUo<&Y{aO(EA#c5qHtbii0T8@-N zYH8i8Cr3@%{n4TDW!-k?TD+Cw8Z(^OG}PH^X5eooY-Kz+mne)Km@(OwUSVpSy7gR% zM(P8Af=A~>dit=%&)sHQf^LcRr?VaH8Q%B~V$ z=)wP5kyLtH1xG?^%e=3f8%$$iC(o z(-dkUVd$HdsZ!pl{l&NE}$HVmQd~IrAe@fUt+TS-HA( z21KFUxb>5RY1B+>Nv^GlFbo({k7V*cdhEfBmumL8Pq|O()DHW|2Kc>IUb}Ao-tNKB zpNvv>GSB^NW~@DBBk4^eR2xE0eyvT4?N4(iOjI(TaY{rM`6$_ve-f@24=rK^;y0G` zr=@mOtl5GNFrUp9KgByC1tg#YDNmWDfjKJ^5OZjLV+icBr)P6p@>(> z9t@rxua|oj*LTfjz+B6;Y7mg++v?4DyRs9}p({hhoFLXK1%N;|M>0HVnG{G&vNa^D zF%)`^>S$TtO*;r<Cb*ktvkK^%@nJ`n8^nJm0fFzJHG5E+K;FBqHPrXqF8leUlq>aI|gO#lsZps{2`_f!HKnj@EEOr zD<>Jq+zyqW{?p(&T!+^eloTfn{-q4i8#!It*X=+_Muum@t&3jMzYB=s+(}M?`)c_o z35B{pCt1gJw$8cNoQYgpQhfo1zW`~m51G4{7IZR_wvh$L>Va_DezqFe zgHe}s&!%84POrA#6TyV&R0vr~f&4Yse3sPjvYvAyVvffDxCyZZI76Yin3+HuLIpU$ z*ivw9_VV}3bdGpUMq_NmIyrAfMA#!fhA)ZG&>huEni&*YinGJ7u+i?I4v-!}6tY*= z;HMzKDWL$P#l79$XIU3m|N8loe_G7mL8WkP2>o|DrGdNw1TL1e2QQ-}LnBCGi<637 z#!0rp(k#q(MHd4)=COI;r(73*4e+XAHB5Gu3DMKJbBm^)jLB;+Ie{_r!G$NUXnW&7 zt|-^F5(iW5q;7@UQ!^{PLOi@9S6^gE`@~xcpU8kJ0Sd~90^8b20*N%kKD~bnzj~9B zsGu1Irzk7`D~MToTG@-N;~%bo>MLdtgEGX=UpT3o+?%QC25aaCeVo%Ilrbrimn$d^ zr(j{~v#kFCr^8+0Gs~;7d%=oA!sc;c-X}jc7bEsAUzKeZzovKmXH_R*!$K5m4*X4o z??1onHMOfBk%P3!dE{R(ymoAs!0UOnYV;5X(UlFA$v;Xgcul`Et~n@KbfkL5PKDdKmgLu z3dqG=)YtR9{d=x@(c^^g!2)nxaCuIHY%dl`?L$i5U!1AUR9F-khCjuUs?}#!gU2h4 zlKG3FelYZwult)~TW(F1{>6WFK?EQ(DIV6K4{3U)8+FUd3L_#4a4c8Mem?4%(82fb`W%8^5X|#amS~3cYt<$Txq_f18N~Z2dpfy$@>fnH6LT`=KktlcF3EjjxsB>a$ixG8 z%yZ5|qWHcQ)G_FXgvVW~!o8n3ips#quYonoF(;@}=F?c7S9wHAUNWQXfHXtVOC8Lp zwl!y&k8;5u_pA%(AE4;fC^xbR(KM^2rv?WTe?H%+5>|c0(-wjhyaYgW-Tr8Q3*D5p z@^YAC9%gU}DZN4Spl22`vM8UzVVe^eMYll*Ij&E@02>>FJ4*ay^&8|EPTQ zhWh+O)$7fGo&`>kGoj4h0l#@~cUe`Y&=+vcA=3LEIVlq{7xJR&8XI{-PyN zAo_=Y_IFzwIDso|g}L8bH90U)_+!6>81|n#^*-f+)pb9+CML1ugw#C5c>TWu0VGFW%nT&$v1sF)=ZbsJoBK#-uTENFXpmx@fi9 z7R{n9FR>9%@1^Ij31~-k>q~{+Ul+fz0XhKDx*UZJJ`_Q=oCrOC_O67~ebTt1flWQb zY*GY}+6^=0m;Bz1>$oP{VQI2RyM77pCTx_iREoepUQ(9q{(d+#3o>H|I35^V4?H|~ zeNBSf7Ml{pxvgAxnUWMk*UtpEl6B-u;3kGu-vZN%SC79_;Q3?%*oPZ~zkZ2KD>zDg z^By=>(v`Tk&BsLIm2^akvqcqFDOlvFDDju?w&vN~4ird6MwTJh&{bOesOgTuZoJ3B zL?W}*BR9#+-JeVZTWfofCw_I5#`8+tjAMi?b};*eTi9!@w1RFVi|u0^_so)}9CHFn zI*dU06A90p%IX%^Sy`d+sHG1kuv&9o z{G+_gAG^{fx}MD}ZTp?do(+Cy!>UXuqs*!)FCD6EchOAy!72pJjGxo$g+ zgud(`B!Qu$%kN1l?=pee;ZJ2)CM{mvCMCh?g-S^nmzJMe$1K#LL&({S;3+0hKk~=& z0IL0U*=2F0)L!O{rw@`Iu%bu^ZfC#`>vDvoIxnSFp|mXJecsgT5Nm*l%nS`0U(3I1 zb4mwv#>ynFP#zXg$V~i8b$npcp=7yXvd zG2Y|Y0oER!p5&aa@eCuSo|l+`L@SPNlAlIAs3^+34;>5kviXT5gVcUHzk(k*p$Z7y zD01#&@tOHKaiO7fH*aiVU&e84Rlr;jN7`8}FI*vgw%w58QIuKr+w&RuuzeE1z%$b$ zpWbCEy~l3?XX#lZkR>b*_gCB|6BHzQx+Fs&XDqrHrI*TJWAEi!*k(F?LjZ57iZ2yPYGsOCwgWWEp3a z=KxLIv7U2?biZcSd&*56)h>YKI;veLH<(3hyS6cTgtz~i8ie94#GjPlkJ8M^B8=&k6ck{MC&aKnMr!jz3z`c*V3zk~{5 zr4pH&sF&oMPhbJY5BQJ*$2k6#=YQH?R4mqSD;l#$rY}QU!=S-q3X{k`x0*^NtXJk0 zTIbJpcMEy1cw`llloXOym zSuk(E;&{8`3sq(~KeHGxpqltfac1^7vCe>TVn;tq^!AIIBHqX4Xv3H1GH;1V?$-1t zwbp&*`8&|xGway=KslhCz$w_!=r257Bl!NL-1)n|4ZnYNxNb41(0JG@z|(RuilwYT z>OGPY>FejGff?-Xc38>o(qf2Z87LjWCFIkrB;9nK_$AVid`mnY zYF6LsZKR@~Kra$@yTsb^7%Ptrkr7zK>o6>=V)mYAr12u!}qfZ5LJB3kal*4NQWf zNK#cmPy-#XQm|hW{RjqR0zcmM)b?OnFYodgl1Z;URm(FMdjG7FT1KqTQb^XsHbLzn zmJ~kXv_Md@V<=Amg>m+vDZ#hCg<+2={$o^!%BnG?gpJ^9$uo1=|Llyfmf;Nw3K>7l z@whm(8$y1lejK<;4)=U?XyBvz7te!UmF{0SIx1X_&P35RCktjL{fAP5HGs)vwf;#_ z1Zfe#>t6tnO{4hrZ+9En%Cmw$&lvOZ^1j&fJ&h(`zSMD#zPW$3=lNsUC^YBo!rpkGz?ARvwj55P?M`8yXyJO1kPCVyW|C=99uwaAt{q-ES`--0c(P> zJKh$?N^6hL)uS!}5tbN8#r@Fhfe`jTh`!iQ#iKNJXPTI3$}hlmo4CQ$mic~ul3go- zUh`#BkhVn@w8pkY5DJv2}yEjL;NOgQ>IE~cF^7DXZ?Hh%30O-K(l_HFCbiHOs=2Or4vFs_C{!9y_pW184zTWqOn?JLW63Cd39jRvzJ5Prr z`VsK_#ya|DPDTZaQVlGj;1EVe6W8QrT|C}z(J7_^p|+iB%2^s<2M5bNpaQHDF6UC6 z(k>BMnL3i%KK|8>477B;1t%6BBX|26y72CD^xovxTl<5$G4ey@3$7%?`ehn_+{b>h zp1^HI%Fc-a-q?UN3KBVDI~9>EtWWmrIWVQNlCM!FHK{ER2*wCKARV6Yl%!&oMm*V_ zLPvyL^2&%Xh;p{Gmu$d<9F%y`_>2xhzkk_k-)EN}a0su)N%;_kKh|V2A@zg^`#NgD z!}=JcrvhC9#s~q%z>Zx^$^ukR%boIDJ6QIz{QoqQbjZYpS%j9g_Aw-dAwi5C9H}sS zaLufCP7K1?V!BZu@X;KS;a?gMfE0Ji{nIfwM_MA*t=ltadrc_eA z`ao{HT>M{XIQci`d@(G?A!BvxWBc(`7dJRmw>!~Ox9T-Htt4yCqlG<_&qkd{`XMox z|E+;G)0E|Nes_%_BsO}($`rzI!()vrD~nCCRyPZ(PGTXE6Ov0fyOk;trz8FPmfCyF zhRVq^?7RQKu0|MABrwC?a@H(nBxjVdky(Ub@C~Y6w?4u4%BESw{>1clYK8t}PvU0jlJBLY4;ai4W-MkL;fdNL zmNzG(%rxqQQ8V984Ua zq@h_Xp@)w4yo-$2SHr#Pl`Ho|{pl1o?QOaSjeC$Ue1NJ`Lx23smC!0NLA&;DQ3b%N zN4pJ$kWdtDIZBQ=>{SNI0*;tY@OhzM2%Zulea2STNBhwDIo}RGWROZxxgU9e{ZJU_ z&_1q5*FNF(@hI*f8)(jVFKlx6?}v|;y(=rpkFWX<+FTcF`Mvv> z6%vJah|%d7;&}pkQGL20*^)8}!rq}M+E@U66S`srkUD+dN&-Bg)!mm|h!Juf3xIAT zQODET&kB^)$0?cP?Yg64BVV5VmSsj@Jzl*o#)c6M8n>^jkzPm)o`_}gCR@85$U4y_ z-D?H|POz32PF|06PzVG8wU%@w`^$4Qu;%re0iIr-P^rHe;jUW0XDaZbX(OW$5sY#P zq1Dl}+0gcf;l$4B4~DVX(&kSlL?{oMJ@Sr(7{uP<=Dqc4uxCr-Oyct1R6otvG{DS} zbJ^WCOp{miQNI+Km(}8x%uRe~n4x1v^p51L)wFNw#D|817vqqZ_@QpGspQ4WlPRD5 z6Pvcz1Dd$Bx_bwo9@uRJ60|-S6Onio0T>^bFvJ)kMJbliF03S3E0Qn%5f12oJ|g*V z`Xj)1PYQ7P_%OWs?zppr3B%*j55{g@JlraZc`1F(oh9ajBjI`ld>BasDeeTp3hp@~7p?M19?N4dV9F zmp=lID1?bK2H6MmWT^E%lRb%hB598*0o5pWyvo{PoXm4A$hrwg{!aT#7A1UDLd~;^ zkpxZ(1jD2O0`as3jtM)f)mjq2pl_-SJ}8Pp-m#QCY@B}{P}CvDYF%oN7o2`u{Q+;p zm4yH`ELN!0(Ohm9tAH6hPOP7h_4GGa`R-06fzR&VGb>9Ztt>$1z6+`Cg{IF5+6o6B z*=GQJ_hrBzmI5dTK^!*qIj;ps^}TQ;Bz|F>gz~&P$J|?Zq;dfC9oOacoY+#Bbs)x> zQQz-kNi8qp99opvcAkDM(J;>vQTmt1AZ-o|F>j?HWRPMnqgCwJo_xLYad#gK(-4yq zvLjg$6=%Ss{6irfvsUu$-fz>~`27OzR%;PwdmWvG3PuTpV1pU>$D&=d7HD1ffiDAO zsMgZl=PzX)`30;MEBAPsTtJ3Ur>YHJsmr4$209{kim(@e5;KKw~l3cJ3Y9i~_Q^qYU} z_cN5GXK+DZ=9zsWz$EPTTBs#V6qkmkTcW zIbTc#K-agCIAD1{_gJ6;SBziA;tuHz!^-Fk9!;$RSjP`RVX84n){KloAm*^Oc>M%| z6^#MAO9tibph1| z%s`TX?B|avk~2#pRPoLSlhrHpqlHkZ-Xdi`92DA7WgACSL9-3S8l~t*WlKNH|6oDe zC(e!;v5N&Oo#5n*h@vt!?9ftG-|K=x-)m*WRD^ao1t6ZFdAUcv-yxSzyg;p4*_?@& zr$0i$&$7!~f8qE-f@ZSUT4C0%L1clpAZT8mR`{xxUdKcT{-iR6EIw$KCIzPJ5Q z5&S^0cH8qJTfYXh+iwDBp*u#iVw7`V{VMJ==C7Ble$*4Id(>}X9@(Xwi1&?&?4TwP z5c$ZT0;`d2x$YyPW7hL6+_H2EB?-ss3|eX?xhWtxytuNIpV1ioCu}~-iZ+30BNodU z++^|?k>9({I##2emi&fiAX9!K%!|YjzIHu%W*h|U_A^ah^M>#N=GD{&U4d(US);*W zID)+^r0y`Hi$hZ>XlWw#@pss1x3gwmzz-N?_QWs;8QpE8sNO?#=yv-rjvn_%1S=w8 zt$);-na=186Wp331Tf*d+YxG_`_7kzg>iGPdiErh{+9xvmVn;B?M|0OpHT}OniC!3 z?}Foe@9j2mxxg@abKB}s?!Kxh=jBiWF-?=9pnZXc+9VYAC3H9`0ObUjYf@J+&^ElVqfBe6R0pC2SOhpr%Zg@l-0lN#-sXlKl`kt$01YP&UAF6=h zbU7rLA7f#;%2lN8U-p}pLoB#Rd?2HkJr|o6V&twF9&fC3ETFKR3yO6t|0Pnk{6s@u3A6VJ5#yECNb~ss;ZXwYNF7d9D?m^al*f414x) zPv2a1F__`Q)+p*GIqzfrgY$q1{vUsB{E4r$_3oHzw0r}hbMgYD05(udb0gV9!-~xF zxySBNmSyFi3*082B&@(9!XZwqGy+-iL>qQM8AYJ)FI<1S)4v(}A^%W7_s4w;@@I?C z|Gj39El^sym7U`;3f&t>x4=yAPqW--M$ecyzSQ;Ql;yzph39i2kMp!w*FRlJg#lo+ zT7f}9?L=1cMQl%WDXN;cPbpD2jM-tnpkHbL*F;MC>)oZ5ag6BKbs>(u*VS`w;Y|0p z@2Aju#`yLE^2wz`;=e)dyi`+xMJMLQ%siC->eFlu#*3qp)@x1!CsB{gg;kJ#hxX#XoNC3PXkU@QMs}Lr0o|i$c{C>2YGH|`e#}am9I9*I&=8U3it+ja2VM}JUz6&J61Cf zg!6UaiG35{AzGwk6$IY-&1qb9m9xFJN-+wJ2wpVgji#~FNChX!i5hE%f-ApzymhZI zqHnIBcK$x~5NCK|P=>{s=f{JedJeEtL^Hj4494c;4k?@~C#sDu=apn=6@H{1-P1)6 zd3ia%ORGw*0t0sY*n+mIK2tIKZ40K;U-s*{uzO&Fw+r z%ZF4bZw9|X5k~3}+J*^)et{;QL`VNL7kvPd91SBImS4efhB>$)V-`m@utJNzNQGGLv!!(z0v*&++F^B++q1J!Q$D%ec3(m$9fqwTdXrek>DzI$J zu3LtY-+Ho`cM@+t519WKDgaJ%<`JYZG0}ZTE9(5BpGF%0D?2IvRyIarU(;nD-0fX6SG$w29UDe`;pmD=@3BFO5AP#0^YC@Rm|Q) zuKlL|g%{qp}{Bryxa@Qlxm0yYaa#7H2QzLuUI#3alx%@Q%8w~ zb&|j%()|YxYu0vfFCv}L!i9gBI#84%G*=JHw_!oI5tiywNa#4gN=yD zeec)o@3G@yTk#(IommTUFayt7=-i}u{R>NCpIR;hW@svTydwc6Y9d8Dj*>Vc-);?KUo;W>k_9sZnf6R>hnniJ z(JB7UIt(lnQrO*8!Z;ZH$@ z;1Kf7``2GM+tIm@Wc^SV6c;c@u4As!hht*p>j8Uqiw5OISxn{aU1#W&zLgt+3kjg~ zVUCC%diz0mYf;p08McM|M1>v%fjHOJ28I{~jSACOuB45l^)Q^}6!6GXPSDZNyTdLl z8kwTakNj1YU%j_KoEaBJX#Ou5H2iD?zhC?^N1NZTjvLnzhu7AZ9M00>`BK_u?Q6~B zY2nda`pf0+(wBM_1$=wo@_9gvn+#$=>s+t`ipI{rEttPZ)AbJyN|=}{i6N}fm}q+m z>)?KtfFGs#A~3jFj$7lU2`H1x6FU9@k=FJD^I~s783*>M1ZeuI)i=|gYSQ1AeK<=- zZ_Swi+Ft+vWy3BOvj9wcWltyk{ibab|LiF>Uk5iH**=l3l-Zkp2RL}VM@E`4@YN^+ zIGh|6o@jmWfNFumy}Yax9)m|@fZ!3bhD`LfwG?HAaoe$x+qCj4Jsm;CQSmj-nYtR%j}jK)XhG^5E==QYP+n}a!}wUnb2Cwp%L^J)kw=p! zaZksq?P3M_(#zF$sI`VOS2gcYeSVU@1L83awIJXJ(AKp?}g6{#SLdFt~xHi%wwFB=nh7Ge8QYY-EMAjU!a@xRqIF3C2{wkq1EWose{YQ-3> zeru-ru{FwoZ?Z|C#m$M0`Gna+2OW6drj>e!Gex9ksS++T#?jzUl=B>6U=NMx(W{XM zi_x=bn&)r-o?D9%X}ck;Fm5iRcPamn$7SFWcYfdQTx5(`_*Q<*x_8yg#Jnd|?We2g z`VvqhHO9XB*_YHFv(WgxtI}^8)Jxc`%;-DGK9WpzE>`8T8Yn$cvX$})Re_&$hP}3i z^)@cBCcxRBn?#*S-5!@PpKYrMmL-=#_VFKkB<6&g15bNlU*g)cV8)^oJ`UpD(E=t8ELp z|EpYhI1xR!yj+##98a~(1w5~g&6MJ_^$4=92zMmA$Z9yfRX1MZ6z<$hLm zAV)0zrh|?aQ~@{p=a@L)5i^JiaM3TOaq%G~C8bw*ZRp8pkulzP#qg`ct7PldD~|$I z{vN%x(3r|p((fI+;U;A6S(E4;mfrXe2k+O}-ai_($N#{EE-|TeA5P<&*j~ABA%Z(! z=%pY4oMEyeZJ}JRosYw)*-gcK7yCxrX z54ll1GH0BFBZr7MoIVs?TV}OA7SEdL>ftXMOLgRnFx#)EwlFp%Y9j38AW$0kq zTZ~y@rYdD2F0vd^>0p9)l%|Fau;nBaacvb5OYtNG09xy8GU*?&T3_jNSJzbpuUFfy zIbIi{G4p$6j`uXuJYPD-!tx8161FZZ;Ykj*99Y^4)6dGCdj1?7gjN2G!Um2w+xPwG zljE7J$E2^}+h!(E=4oGtf4Gqr#}K!`N~Di=lq?n#?ZQ8p;$VNT=_G1y%+?v~EuTm$ z%J_Y@k7^V6NXQ_=)R|utZ*+Xqw<@VMh;^OL36h&kqGLn+MWu$xW?&OGnPm{o6gba9 zw!_H0)jLLdZv78i@0l_9iLsYmIw@)5AKbKnTGh{MUVOjHJZ+06(j4=&sxcwTRMyiSNZ1XEdQP{x9p9YK3PB8{tp6b0<9HF~g-Wr3gySDfYW!L~g4u zmk0!T#btJGx9|fy0Q2Wt49m#F2TIpmDS}|H&3zB;zU|rjL#Kh|yhe&j}bSa9K3^j^z)2GlPZJ-aqO16(VJBcD76~-L}<7MlT>E{O}wQ)gH ziWJzHA-dgxq65Bg%*XqK+e+=PpdtvOx@q8L`W*?X!DV9S1v~jrcBiayWcar745H`s zJMbON3QQmSU5STn@o$m$wNpBo<$a`r=+l=3gd&A6IF7xpY?Uoq9kLf{FK>I`GDQbx z&t<+>hsq%=?t2O=|9vB%d%QHPcOC;9U3XV73QGL|ALTAd zLioO#;spr^SpHd-eSSO~=&?h#ClkPJ3m&0nF0v#qvZVZ!%*-1550=}!KVjKpbv4UgU;Y&5Bwkt+CNMo{YUOmZ8W z6$l4y@t_C4fHH@IRYDO zKalTH%_vC3O7~XFK@qHoMKu74`@{r|<5MOw;@o@<0fG%zv!DOkz6Jdp6clm|&`$dW z_)vP5o9~hw1-2C8@GI2%Paakv0JoJ02lbK|XkPqND15zfzudyXr*^t-ILV0LrZ3U` zZwPjqO-+$l$A&lC&GgX!w1ED~f7hvFNlWwKfq3n%wQ3AUv+m0S=}?5dYwyfU z$wUl%_UaMPN7nu;N4)7sNj;6sTenCr8Dn;%JX&hgDW2Ssx7U<;~O z-x~h;)HGGK+tjk%Jjo7qRdDQ5{N7Lfljed}3=J6f#;Ey&v2548Y}dNvJZJZiasogn zq7?p7OL|W2AALSO>82D@@LW4TJT+LtYm2IG?#q6p$Z`%>uABS!^W(>p?j_ab`)_kr zy*;|ibBbPC4!WIfE>%H`o@zICvch0TI7W45CmeHSBX)vpWN`G#)W#sXdZIH-vFP+9 z>!;;>O#V^(&(^0|{_i!jf*7dRj@5tS@YI!td~Ug9o)f>9tde=j{O&3;r2WKiF`B!W zH0pA9E&{-O>vk_*{bkt5=@8j_yyGb9y;=m{q!YAHYTd%IR*?tGA}J+n^^hm2X*~Gggy*#6}zci4h z<41O6?)|%)kgpzr#aJ(gOP)XD`Jka9P@q*D@6@05ICXb#5aNDADn9J}rvRMwvg#Q5 zjE6vpU~6eTuEjp|d*RPIYLGOM)a7c)eE~9F7F6tgDbQ|FMxjv>B;9H!SQXf)@?D-3;pw zs{_UO@>L;K>(`sZPs!-0kBd4BN^_2(zj64p{#XwGQ4)UkHYfCBzR~7+=W&_i3U=J) z%NA%0Q71!G*pdhfhNqzE>(B`WJek28q1#jnMC!T97yF)9Q{3-Khq1 ztLmR*xW>RD1GvUWA^3-Z>Uj<(so#yXGm>LAVPq=q(Ym!QSZ*?1eOmyL2}Aq@Hv0(M z+@@OFeWs#zy{)XN`MzMiv-LwW%h;PmXW;ZoXwd$LT-Gx@BdB+%1Azj#mVm$=KNdB+ z@9I6P0{4bAE@!*f4HH)f3*bo0+B{4e$o3zS#>;5wKK}hX##Vt*vqb*6OF6%S@$08$ zP2NKOR4EoxwX}b@ICWqgX&;;d=nyq4SOpBt1>%U6UKVYnE~m~S)xsFi_kkdq>b3m$ z9uFa!!c-p|)|UwBtfMch?2`rFjt?DrV4}UZ4>OKf+0Tv>5)%;Mw%G;77=#eU%yamv zGfE;WYvo_#nD&w2c|w;;05WxCH(!Pi;&YGcAo@L}er5eCGvphcQ}lC>i#w9{U%2}i z*0sM*=7G+E>LjepB^A-ulatK0+_A6%F7FNzS&c^3>FbXwSzp5#faG`nj!)0eImP(K z^MM!eZi*zrL4P!SGz)=FxK?ZBybC!4zBRAo7Q$q^>2`!=33DtpIm}m)9T@j9AGx z(6QM7jwI}oUKmt%7=wJ@MvQI*30`v5^uKX6l&zK#zF+RVh}P65+;lTLz2V4R&`8Hd zp-}B)JA!+5SEsk`7+>;G5Cs^sCeQC@j=M?NW%(V4nnsE8v0I@ONB!R7`7&iU+g#jN z;Gm0&-kBx&yhp~hJ*M=Z1-f-1V6(L8uiG};93O5@^A1<;vFtjs#@&@M=Z9Z zqXLnF3b+)j47cbt9W=0PR`pFsBIDNOHd|Zg+i&}N!f!e*d{lk?-n>GCSl?q$%z7Ot z;+jP0wq@Rcr%Uzfv2vEb5Idv6QLOG&UkoJE6_V~4JBDGQhsaNC;H8XqMb!cvXaMv9 zm3K}F(4uH)<_MYlG=m)B$u;{2K?7$?u919WY@_&$UMP;Rh`dH%E-_l|Y2b9YbP}Zu zhTR>I^J=1kiRv$R9DCNkyR~Nz`4q23yx9+ypbLVtl<2!XFZS;mL3dmeAliVrN^ULu zU!!zv6ev<;-T@$c5L&p-!PbZ|`lM)xK-yx@5Gz4MNSHM%Xooyxevs-mWZkK+ZF=-; z+usqF3bT$JF)_49izl5cKQlh@tbGTrdDifrsz2&(=zOYuuapvF_hCCVMu4;E_R7K{ z{8DByZ!2Gc%Jl4p^8Dd7{pzC-)}&kD*~Rz<@T6_*qJfs`7_9@Xm;Hx zlzo_IcSvyGH}~y-II;Ba6`r9!PCvd2V&i_d+d{uyPO=b;Mh3I#B9YzlO||Hp;{*msJOyI5_*q8TYs`$pcAFkILR_PNutc#3a6-Q!imZO!_$|-$ zJWiahy#w?gZ+@#Fv68V7{v_zXXn*urx&E@vOm@P1T4lUqVDtUOQ)~V-v=bEt)AYtB zMCSt&7re0W+m&Pgbw>@ZA7#tj%V%In0UOsU4EQb~t*YzpYYAhY=L*okZ4#J=#}6yb z+zXeSGltJ!m@o@fER-2lX4#bSgiaqfZkIsmg`3H*G&>T4u$GJ4LS(ruvv;)QWs?sz z6GiVu0CqCe`!>VrA3rL5Zcx-~G1A=_8YH}m8_uWTN7lLgkZ6CO1=H*&j$0O}xep2G z`(~*=3MyGd@M-9^w`fXZ^*wD|XHXSY5TGu52qq$-D%PoeBl~ILhtqvZnf*S?Y|5{b z;=#5Es+pzZZGHg=rx@o91?e{7hPemT{M+$n`eg0Dy4t#jQMY+Fq=5m;?gi0fJTZ#W zJ7rzh4|jmIy^T7G>%FH1(!!Kv+(M;d`ZD0iN05ly=XrpMcK-;58qh>??G@fe`?+96 z60n^$YM23GA$182)T$F4mERVa(1P3C#b(I3GprpUbdv9F?8@(F<<$<>PHq3}RtR+A z#U0E2CfMTYk<*h1J`{0{c*ZBmH!7bjil?U^Dbrj12tIELFUX7RBz@;X@>Ad?~CXvlPKM5=>+{*dLr<@W?q%PyRJj zsBfTXKa!l6@_^tX?QO?cy3evF3w^*UkHQmnl>#T zH@_-=UP1NO*_iq^<=9IV+~jAy+RG%-xZ zjoO=#<&3<+PU$_Fbo$ceGW7?pvj6#K$J%LEf!zacwx4gQwuUKF<88rC1?3G41KM6e zjan%U`uzF9=MTg3hS`+T0B@ArM5an5QG zCJXhVV|G&t58HX)i0>CRSKRK+o6*a?$Gm-z6h=4KZdJb5+v z@PP}q8L50Pk*%u$V`l$ic>mn~z z)xUWie{wj_hK9W0W0P`YIaRjAdryCUY1KPR&Vwv_r%$;e!*&qB-qrddQDqjK2<@)noVR~g<#3n_(Jnon+Wd|PX82w`Z=Mb5$Z- zG_xe6wvjbQoxjB-Kj%FWaJW+$)}S*=;911nc?!zr5h>HZJPiHYFK!y^)8X7RU*2Oe zPUao-Pr(-})!|&x6H_Pqd8MoyJ8X(*^oun9fO~7ocW@+TZLU?1zV`OS-<47Y+WWJV z&v=f?a(%A2ts-PX?0MCOqR?rqHXpuNZF@^o{f|DyW*yMKgpEJ1D+P86V z?Au3MUZf3FITo4ZbMt|eaoKNWj#`u+^!VzU@{Q~Hg2lsmS1`K=DzR*p zJyOj*viPukX~@FuDJeLnENLnOjTU+j5WDNkT_&}(YWRk&#%}dhNj1%CrBWX8Ir>|# zm&{CJvKi9EH+GZMgwL#EDRNazWl~Iwn58z48Men}?-U_t77_oaF0*70vkr@T>4`qWuQsn0_kC4UH!SglN7WTF=uFv@#}mPE?~KrU>pz|co=Y*^WUS!2U@P;} z@e1qft8W^(-1iSOJ8KepQ!-`9xJ?s8boPyp9hm9)HtO`k8MB5*N7Ztw4E2cLZ>*pw zIyyNuY91Tcxy|C<|BT@tpS;3dB*kd<;6cYuh|Tb09U*h@hT0$|?ZhdwhE0l(nt3X5 za8YJ$)4(+^y!0y;JY_Q|+0-#oFV zCaNSVh9hOx0!1nBs$`>WOZ^Kjrz_k^a5$wbqr`GOO<`_fHq)*2jPbQ$8`#FMkKD0% z#5Ielul~&Y9Ja7>*=jrf_$ZrU?^_}#Ugzv@Wqp2~@zNsg%r6>Mvx8Df2Fx+>m>qM~ z_gs_g2c~U&Q7~Rlk=MzC%&3~{7Y)@VmRccSFPVNUBc5E@ zrp3Q$LL;kC_3KP`KeopXd4s2!@Hp_ks$XmRxg=1Ajh8JU%W3!Sk|0y5k}=OzxGFS~ zKE7V=9I10G#+8%(rhQTf$2{Y__akN;uN|!x%)~b9kFn2O`ZrXkj;oe`HILmYOfh!! z`K(+O%@dQ{cMRf^^4l|b+gX;T(;>@Oi%K7=lYKTk^MBe!1hv z2i7$`I8x2i{Af@T;jG&x=_{w9X{;UX!X_~u-9zJ#r0JM9kK1%G+HG>aEB6!yEw7vJ zPs% z9(>+-%9rOx_PP;omBdtq1w%O`JkEJ=MUR!2;#9Hvp$GC(#J{M(h5hCK|O=)eDRnj|}OystZxh>vdnq*pJV?8qu!dTR2E zImPonH1ek0o;KrFnE#dRtBY=F1}f!xqVLD7B=x0bp!8#r@8xVb0uHxvfP1OL%cQ3PR}onD^PtDQtr$?V5%*v zyL5Jm=n?e(l-Ma`=tU8k#aEnPYC<19pwVj<4ci;DE5hmGNBqfEs&M#w?C%(G%ux z?8GX<1(aINBz(2}Q zbgH4<=0$p4Z3oi#3$AC+F&?3=GFGYi{B@do^DXidjY?9xY`uBNWMx#XiJX2Fm z(q!N0FYXuG!cjP!{oR4H_nsae%RGODr0<8qKbH-xt(=-^8#T2!nPn8{v8S=Ve-#sw z(lU+1N3?K&{U70?dy+2QE3~{^SF$W}@$DCXu#H%J`%mrCtL%E4DqO=Khvr;MlVRS@ z@^GHh1~Jy?U^#DpE(dWZrinnl^IYfShMD&t$~M39ylzoi*~Qr+%|qNlpDfVt$l2DQ z73SgN){bT#IA+|qN%gna&vFX(-o|4ob~0|Tq?853A}KbL$}M&nnN}3DdbJJvhw&k+ za@LOvP1>0+e*GmA2m7*{-k)+<-hA0TH^lng;w z!o$WIjD9hGT?Tv!F?}x2}5bjPfmBX0=qws=tBHQsyi9)h^?OUD)n8Xsx-i zdCZKnMmfX9?lw%=*VIr@`%eg`l;vv088HhtRJi7yyDKj7EN4}LMRQtm?DcZZ3tqxH2T+-J-HgR>{W4Vy|uny0_Ttp4|9FbW!@_KQ0I#`vYB4Z$7Bn z>HltADN0mqzT*m{~nsu1ri*bLgZzN2wBD zPWPI-1BP;lCUcH$W*yS_+H+gctM^(p(E+}*W-ur9d$KX?YJWlTiegi-M=EtHE$1um zo0+ogJT0q+OQ~7!A>g=vzp%Lf#;mz2nxfX68DIJrPS#g# zG=4r&KW0K^qd{ro8>vwe)?j4B`_E28?<=X^{S*UVzk6!9NziE6AAdxxk(gL~-TzC~ zsf%lz-mPhJDy>bcbXl@QGjM_P#EDsr7WdySb{f%AuzRvV+{zFs=?M1WzIS%!R2>%& zj^yOxDdOOtKu$a6N2Jg>cbbL7DaSm$G~<-XLLO(hs}_zIwqqOeqGG@eRdeo%o8IZXnU^+V zsG#KBn~V61qo2&KD);_emi?HuKwNm>dF5o5$ZHjMe3z~&ytudanSjXr*BXjV9>uR7 z=X%|mD|q3q*xVOYdHMl3c+Pc3Tl_ztXR%g)x4wm4uAc4vIF$g^r}is$GT$hl%$>Sw z!6pu|G3UZLm|-sZx5$iGkTH6mmHMU6!)^LE3<$`)U2&RcOs#jwu+!P1pH1JEoOb$f zMmFi$B(|wR{uvuXE@Ypd=Q&Nv*()dbW7asznGuQ zDZSfoqK*0==ia}I@fQlYyUl$j&&2R3tK6kZTK$J`Tvu)!x?%_iTj1x0(+#}A@e+St zd@3y?P`>m^&CMnEIsKL#uJ|h}t18U=d==l}XD{EnuJg&t>OZkCIh}=5SMq+KNA<`D z%O)hMzMb3usO+Nt^;?t^HD(8k9hJ#0$b267$Ca(-b-|myTzw#9WbQOou6RuBvoZdFK8TQJ7n3g*o0l9 z*Ucwd0+VUEK=)@X1kAdY=r$792+Av$0 zA+g70J`O&-Ao-%js36JXgW2B?Ss9XQYY;1{uCSd=VEmAcD%-}ran3tGcqm6??Ujm~ zw+3sTJX#u_Tc~gGFgogUAhU|IRz+#ec9|<9pKiMKBsn5X(`~%N>AbvYk?ZWrhMZqv z5m1m9S2=6+4CWc5m#N+ua5QS>^!vNA0+$As3B^R7z3etj?#769j|MEi6nt&JP_8;( zjMfx3vwy4=nxls=9W=Nw?cHMg=A;n|;zzRVn>y&aLe8S5uyv2>4_|qiG1svyL^$W{ z+vMWsDe5spo2zCgz4KlXSXGx=lMtD_yPQMjcHFEj$9Gl;tMMz(VjA?TJUm zx8CL@Jb2(JaDU2D4yUSSrOWBoqo#6Szfo4HBweB)ZK`xSY$a={L*v##*0wvdmk$&+ zUcSK>K6i+U?1EWZ z@_cf}8e*=trgDjHc3SyfuEsa~JT0pOylh@!^7F8)#%K5r%V1fogLMs-FBlB)GXEx+ zf3_QD85x0L8qz$AO|-<2oQDoZRq zR_W)bCWhBsxp?Xe;`8~_C-S3zpP(+baphvkmz2a!H9(8w`l?GTurKWMSK!jiHkm2B z)kItZy=<@NAKlmV^2IaK+}!-5D0f;9+kE-rDak*wuPJb?&2=M95oZngg_8i@|7308 zT-1=`G1OD$yX;^r`Dt^gBS}s0A!%EEe`&%#urF(U;ZM4XJeSnvcnmZ(=ML%Rxcy9V zW_9U>f9WXj?K0C8`moYSj96*&k`)4MM2e5;wbU@P z?yn)wt!bdbf6GQsCCj6Z zF#gQoc2*bXyS5y+r-`~?4UReDO{bMc!bCx2=x@beTV_gI{|E=d1hBo>3o%m7*Sn1`nTe5s5I+4I1n~ilOMI@xx?iF<{!be zV;u^21)g{d?Zu7se5dhlpKGm{^xN=X#?L~`)#rbQKf;4+0%6sb=ZX7S8c=f{#=Se- zv0rZ|6_OC?O14J1{qhvEaV2rHTFwyvRvJi9G{AZAqh|x|BU-ZDYs_KJcQx+x9M~4U z7I>W|($doM%hSu})x_6Dqf`888sJ)>_JiK+3JR-n`eEjgfQ~sqd zUp%^3PCV`8x`hk(1KbnwT!3}mV?IfB`GR@+%KW!G?(<#YAFx`Nym|e+FVXC@t!tNx zh^xi2Zt+KW5eLBK=2!lp;=ro(;{ED3hH&lv8(THRx3z(=^5btKmXG7`ST}|l@{JB*l_`F#Itcfe4i?%= zKEZk5%;@f{492H0_GOO7-S78^x2>Ka(Us*SvJ~IX{M&e+_IE6#gOb>AVxsaV>~r1I zVI|-OI9|tj-eCeTYs&LlS!yqCYCpb=KHKRF5k0x7L~h9-!1=$yyFCr?^YTSN2k{Za zM0GCEL8Qz10K8li@HH0g@z)2Lm98RRfkTITO-KB3-1X$Rh`jJ%q9QShC{t-9Q5GKw z{f{JSQe%j-r8sf5UP>hwD+%hmvnAY@EJVpFa}lDaz)9?l1Yiv>AuCN6la(ey)MrOC zVPd7rO^j4$Qe~Yi#HhM1R^kNP!8YA&B#Es7KQ;HUPb$%Hz;}6(A;dy+VVC$Lj=D;` z$MKw_X`n90y~I*S?u~=;@7wBNeY&lNhL7a>l_FxT z!~0F&2n+6qx-d45#-iQgV5Yga2IYxg@n<$vUF^MWv)7lsX&XsWvf|Iu;94p%5lP3^zGdo`J^@W3M9~7heQS0kkq(!BreSL3&<+H0DnqG z?O-Zfn13jloG;o(rL!mYkm9_ZBriLG>`eNU%A510=rgHfxTi1}DKig-u(UUWUd)n})>Ciq$ zniK&|j_%(=_N0W6#0WRC(Z`hdII9tNYiZ(awv-&mh$ENI9wYg=I~k^Xx37}(rw)_M z)KHQRZFEd~c7&1JH!hIN=km$%gJ}%YjjN|fWRM-qOG)Ah^V8o=lSBkqlH`~*WdF`h zf>fujrs*`Szd+Mu+z)g#s zIGRq5W+(oO>#<#=D_lFnCnnUb9{3$OeHEeAyOTm%IxE+k=a27SCpWH~Y^BM*c(Nxs zglvs)B^$kAo;azI{6jlP^m+&28Sw10)# z5=k-O`si*cxmjA&HJj|iseN|cXrwz z-EU9wp5R}8^(62-f(-Ew^3)_%56gcG{wD!vM+=1;t~RRGCCAf$8~(Sh6%$YU<=^4I zjGr0KXN%v4Kc0uq)+*I*c51Iq!fU-~=zQGXWZV@z%W4_pps2&26Z*I-|*e;WT^HUANQ-184+Mw67- zwIs~fjGWBNAPM1al)g}7`2?b|YJq3Fv-ib1{2g7(c5WHvL_#lsq`lwJJ6S8l2B*}z( zB%^d-Pb}Hr#e1wnl}V3cSRdc-+Z93Ftd~*uJ-nN)v6m<7*XYB#asfVZBk-8p$?1a3 zZufJV|7qoaH+;wcBEF|#kHq^#R_X?d-a#I^aOaRC&T#i=&)4HTHdFhHl8HzQ_M_x6 zD3j^?#7fEAG*?U{ws7BV4+DP2d%{`=MH1>|1ZRmm$=(%C3UgD)nZobsu?u*9JvBks zw)+p@dj{xM0Q5tCduzBW(A9vtJ9m@;bnKV@j?T_f`H~*q!{luV6wtSZFK+ zdHGmMmX3N9l&k(~yb*rHQ4i+6jLeK-t=LolQSWIDy032aAALmwYzOIJZ?NRI;7!Ag z`VURng_iAbr#@$q+pRbH&;M`uTY~;mLzc&d zk^U1W0j2*|;=j^c{rCR|I(*fCU+zr*{dGMsYshjN{fPa;|1u5GmIHA@+YZ39OFJMX zr6ogk6?oHadujjjzl=ZHzo5Nxd!6Uk@n)E5$nwsIeWF+PPyeg<qSd}CklCn|4%ePSkY!z8*F!by5>8hhsKJzqoAFH|1UJa^@_N|xW%LG zc4v6?<~h;;=K-z-M)vPNI!F7u9%cUy_R2W!eT6$sC!9x`^4x2U;qLUm$R8n0Xs?Xx z{b%PqjdRDG+7sbi0AG{a$RG69MzpWT8{0z|DE}8Y<8Yt<(Y>xCu3dbGpCg<3bt*jv$zTERI$&mcAQ=E^E9BpGRM0!$`4S60(O*z zC|?43;uoBsKf^a*U2Fr}!Zy)HQ&WDS724`zpT82PA8eZ$Woal+M475C$d!%M7Co`h z5^6yCs=c8og%8eOJg3_ye1^DU87ylKb+9hd6V4rPY!llCxc>9;?jda`+d|YYsLL); z(2(O@t)sx3q^rnV0P^;7eI>qXn8&ZE1fTI4zSDv-SXM)Bp*+^5Wz;?Fv)9E4X=Y*) zNAHYECZ^$-`vHX^Yr&>`sn=A2TKo7#CVO;2OqAH62JC5|YVnHZIk2}VR;D%%ZiH;NDHxs_}@t=YM zAG@vs-y9obS@ku}MnN0=opNF}t-F>OyZ-6+gwVH`5@Um(#)f;B;=8pj#(`K?Ly3Pj z*6m|(dej^+Q>+?_0#hBWRIDOG+;br&!;`Yo3r)|TRkwVodrv-rzu%WHU)ucr@H0L` zyY9cARkhr>cA+tM|BmYL_3npOS*TcQD+_XAn?36MCkj#L5!kk_w$}+rPmQU#U4Hdb z-TPYd1!4#wjJ--w2kYLtarx7(iogG7VMLbrW%5GT&-6$Z}2f9 zn*z-HBw<@C&BU4wl({Q(6!}(SUq3pk9Sx068kD91!4GxpgsJ8_Z@9TK64AL#Vnje=aV`OIyIl`JcU}|NV>*K!@mXW1 z0QShY@UZNYzb{{!$*#m;hVWy5IG1oefb1EM#q=D)I-y9jo~pIs?x1cdTmzHaA+*lfX}J+rdl2jXBy-pzTbnf6e#)B|X{Sds+r<`|vC<1-rlY=K&25&JP>|ZRv$v z^g`BE;IX#T7h&jMj5ck0@>9VccpSwyXo2k$j)A`7G!hzvy zPtb6;&q2odNk@s-65&T4+|gYA@J1iAPJII{HM!gD)DRy`UaOSIo0=D-sp;D_T=(uD zlDmH^K{9l3bBUJPNubOq`MKsfoV^Fv>A4@Tn=`8O5pRS zOYDtT9HQ?Yv0-jc(DtvrZy(x8(!PD@Lu{Zpo$~KQA5Y59(^Q!9SKAAAr|nY~*ht2Q zJAuFACU_p+mUblilcd-+-;|~6;W!v7&HSc)6Y$|i8`fYCJ+gVdJ=vMy3wDapq#!q$ zoC3Sv&7p49cn31k7T3&7-PFX$mbtxeUS{%o%62o<+n9>UvLhh?{Kd9YcE@OYOs7)? z`^oY<_hpyWgmwfBg&5W)xvXo7s-= zWu}HTnrVruuQFE%M&GB7?>qZW`_`3SI1YY*$&|lg82B6dqQ4>79Piv3Oak1szvJ)F zFFt$sX7C@=B5T3#GYI@Xql0ZpTD%YV9-RQcs@&a9rsv$1uk;F{aY8o7CjaGzK4HvMyxVhLiy-jIeWN6 zUq1#v!tA@+s5EG;#WP0pt36DNK6eHGX=qzx`PgsZU%OI<@-gWv_z~v7HRex4ysh8% zHT)M!4iJ6tr*D5|1+UeneCYZT{`Fo~Z~F><+^f(A``U$kuuqSK^LkP{J9$=E+sjDl zg#z$3-Ua>!?e~-)n?FeN_3NzO{^tguxjB{sZWP{h;Dvpx@ALIE#*ECy~tLjU*I& za9jOM^dQ$GIq9(^Io5~zjNkuF`mnBdf&YahqQV_}`!( zPG^20v>(9F`$M38^dO=m%R%wD?Rhl(jQo!GDizAd41LYe=Zx}m0G}-C{4$ddLjD2b z9yI;y*CGF1Y=@5R(%)%3Fy=?^?Dzq0h?CMg`)1(Zz-J6)2k8GD9$?#K4E%$(9M7K+ zzvd|o(~smm^+!NoRJkSWRIC$>YtfaApgTAqX5tgI74zmG4{E5k=x|3FRd@9ny+?i* z{jECs6STn%_Xv#1`7>~1zo?TlQsvL3JNai5A-3f2*%f; zeF3|x-`#t>zi2D+TG98fulL8heQmdac(lf0Vk`&i4o*hz>HDLG;)1C({CI!YQ{)fo z>i*8Ct^eW~b$?gl4QPLVM?6rc3HRc=-N{e>3z+FX5jKVbNyzo5qj^+$lSCD^FIIQ;&(MAIE%|54jL#93RBM-A7*?_ATkR&k%iIn!IZ z)AXlvTo1UWk>6<5pZ+V8?#bHgO&MHo*azxRP!EKC({TK3j(aPf4>%Tf2BK{-(t876 zXJrv?Jo};TJ7D9xs=Gb%M{&V(1J7waW&R)v58$Ja7winK?w(^^^4_B-r1 z7~z6ExC-2XwB`9U!LDvS>e#?O?mF0GKQmPqe2WP`8>tCg!*^g$7K~-pz~+YL-x;;r z(`ST$aTg{qOyb1663vJpFGlMl$gv^#*J?J##MEkj#KZ)}p#l?At69>&c_ls{z{FIH zIcRw3+z-Elg=W zizb%++5H{C#5QaUrFh~Zd?L>j9lcxi_-^C7+Bc*T;#zjp@!~UlhhtM2^#YlC2HLNdR9Yw)$y&yZY zp7J7Y;PZ~d+58D(RdyEtuDu+$<7d3vqplI#0K5BR2J!+60S1_nUH&oaDe?(}efo9a zO(|P}l@N;n<1wI)v^NRmA=cV_)ER(nS?Mgkrmf7sq$?N@Z|oa*oHjcJ)X$}F4$(wxS-{TYQZ6np#kr1CDrR#9r}AKSyWaV$E{ z2b`nE>WlnvtlIZWf5!Me827a`{wo~^w(Gp~;z>%*N4G)e*ayzZ_Ui(98XH~VCv+J) zN4=?)77xS;hPcrXcXy=;#^3E(vea4lb^eKbLj!CZ>?NvktZ@(!4pVi3C^$pg#vJ82 zXbYjad?G>nHH>+Q^SQSPWsfL>G*g=gXY{}EO0X~BLnE+n1F+YG-y^!$K4uN_*r<0! zU9l0wNVU=9qx7}8`xD5aeOsu{7`GK;4`JH5Es%=Si|=yxC4inf0rc1kZT0mPTI1i+ zbj3MsXC!_X?K?dkG_?1mY;3}~vH$9p)hT%#>c=fW-sNf~MT+u4)(kp8Os7ulCkH^k za1Qi-mU09|)V+j}g7GHi^UfqDiju;E$@YawKf0N2K}@hr2{#T9!Uy8UVgeDqfO_FF$6=_Sx0XUbv=zTeY$@}ImUpzP@F@> zP0fNhum>|^iI0nNn;uI`dLlWzH-U<)btrQ)CCkRRnq9Sv@1i%joZ1?-wwh6&?VsJa zQV9B|V{I^EOvddo?rpkcYdvm=u?cZJi}zDyE|z4IJD>+@-v*=436X26x5xOrXY{W9 zGe-TVZx3vX4dVoHvMX+!>2?3xHhaJCY5!Nx9i`&=qF(D*P7;i@4YjruA)Y$gEEOK! z33~Jhh#!>JmOT|jV-%i1K<_$7`Oo3oyum^tQ z0CiGf5O+B#+7n{w?It+yP8?39;y1OYC;b`ePtQN>?_0f+Jrzf8weblnpL0qJ6^eMPMVoYHP{UMpf<$0 z?@=5VS|5VH-PB&MgZ-jB9_@d>>$ek`Cft`Ajno%up}joZt?zvUYbSN+GHv<{utmc8 zhrjKFabf89J;|+gm%#qJkPFWM6AgjrZ_l5e$r2C_q)AWuYhQ*sf7Asd=`&a#&tJXo z&)@cS`tmcLzdB0%Z8ArM!$@7wzcc=$FZ;$mkguk3rx`Kizd)Xt&xrr(tNtne3wS*2 zi|)65jx@2-T~gMb|Lm*2u}$P{X}+g@zwJIVgWNy_VdzUbU|Uq*z}rJ#-QEF^4mcKl zF(0rELP23-Fj{;d5#C7Og zu7&Tgj1`mx*-8}h)g9+~CtY><7~8;o5_B*+Ah(GDdY%Tq)@r!VyvKx}@fp4|ROZ)4 zxl>R3C4S84gNOci;vj=SKf3{#ia|=@2Xh4z(+~d9^^2jc%CGHWAJ`Z6iG8D-0>u(s zkZ3uDL^qxtD`jR32=uZNIg*nWeeqmjd0FYXI!yREH#;>t(92W=;+26^<@-Nl%|+v3 zUPPE{E_@Al6p-2RlJ*Io87j|yWv#O~9Lu(E0l(Yo3Ga0@k@)OxBTdjhDAd>ZyR^nZ z9`1T#pFy9TMYn-4W4~Az_ms^cj^yR@D(W}D@OQxIRP*|8u%T?V`NuY3uMS6Cz?MN2 z*3xU7V;IvC?-X{1i@;u0kotWT{EZYU!FNNY85G}-W#OECWvVGCvccPOGsF~b!5F)C z`ilTQ5y}=d2l!?DeFgj-jeWqs%?Xm57; zOfK;C*$|%<^rvdGAl7pxxmc1zN`cpGU-n>TTph$;{eaJqZ$i7u!rWBoKN{{AzQo&E z1#Cd1NGjND?oA7$-l5$j9TOVsLk!%Tc%Q+zz!)DGe}lpn=wPfmix?=O4evB!q%wF_{X%i#C&)WKfM8e%H@;qMESuQXm7<7_6`?v9GS))=p{)vf|m dzHhcrhq>Ni{Z^vv7v!dXz1WSgEY`ug{|CNyh1~!E literal 0 HcmV?d00001 diff --git a/docs/images/logo-450px.png b/docs/images/logo-450px.png new file mode 100644 index 0000000000000000000000000000000000000000..30495268d7ddc4e83f8c528c5221b630ce01560e GIT binary patch literal 36798 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 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index c0bab4c..1b997bf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,3 +1,6 @@ +

+ +

Watchtower

@@ -29,12 +32,12 @@ Codacy Badge - - Join the chat at https://gitter.im/containrrr/watchtower - All Contributors + + Pulls from DockerHub +

## Quick Start @@ -46,4 +49,4 @@ $ docker run -d \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower -``` \ No newline at end of file +``` diff --git a/docs/stylesheets/theme.css b/docs/stylesheets/theme.css new file mode 100644 index 0000000..34f507d --- /dev/null +++ b/docs/stylesheets/theme.css @@ -0,0 +1,16 @@ +[data-md-color-scheme="containrrr"] { + --md-primary-fg-color: #406170; + --md-primary-fg-color--light:#acbfc7; + --md-primary-fg-color--dark: #003343; + --md-accent-fg-color: #003343; + --md-accent-fg-color--transparent: #00334310; +} + +.md-header-nav__button.md-logo { + padding: 0; +} + +.md-header-nav__button.md-logo img { + width: 1.6rem; + height: 1.6rem; +} \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 696f87d..1d1506b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,10 +3,17 @@ site_url: http://containrrr.github.io/watchtower/ repo_url: https://github.com/containrrr/watchtower/ theme: name: 'material' + palette: + scheme: containrrr + logo: images/logo-450px.png + favicon: images/favicon.ico +extra_css: + - stylesheets/theme.css markdown_extensions: - toc: permalink: True separator: "_" + - codehilite nav: - 'Home': 'index.md' - 'Introduction': 'introduction.md' From 9b998fb751c8a8b716c0d1e6dc2c16da2c3e118c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 20 Dec 2020 18:24:16 +0100 Subject: [PATCH 016/389] Fix syntax highlight and typo in docs (#712) --- docs/arguments.md | 2 +- docs/http-api-mode.md | 2 +- docs/running-multiple-instances.md | 2 +- docs/usage-overview.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/arguments.md b/docs/arguments.md index 62e73ad..a36c438 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -39,7 +39,7 @@ Environment Variable: N/A ## Time Zone Sets the time zone to be used by WatchTower's logs and the optional Cron scheduling argument (--schedule). If this environment variable is not set, Watchtower will use the default time zone: UTC. -To find out the right value, see [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), find your location and use the value in _TZ Database Name_, e.g _Europe/Rome_. The timezome can alternatively be set by volume mounting your hosts /etc/timezone file. `-v /etc/timezone:/etc/timezone:ro` +To find out the right value, see [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), find your location and use the value in _TZ Database Name_, e.g _Europe/Rome_. The timezone can alternatively be set by volume mounting your hosts /etc/timezone file. `-v /etc/timezone:/etc/timezone:ro` ``` Argument: N/A diff --git a/docs/http-api-mode.md b/docs/http-api-mode.md index 7d14d09..def90d5 100644 --- a/docs/http-api-mode.md +++ b/docs/http-api-mode.md @@ -6,7 +6,7 @@ Watchtower provides an HTTP API mode that enables an HTTP endpoint that can be r To enable this mode, use the flag `--http-api`. For example, in a Docker Compose config file: -```json +```yaml version: '3' services: diff --git a/docs/running-multiple-instances.md b/docs/running-multiple-instances.md index 82cd955..641f4e4 100644 --- a/docs/running-multiple-instances.md +++ b/docs/running-multiple-instances.md @@ -8,7 +8,7 @@ To define an instance monitoring scope, use the `--scope` argument or the `WATCH For example, in a Docker Compose config file: -```json +```yaml version: '3' services: diff --git a/docs/usage-overview.md b/docs/usage-overview.md index 2fa8fe7..b5737c3 100644 --- a/docs/usage-overview.md +++ b/docs/usage-overview.md @@ -41,7 +41,7 @@ docker run -d \ If you mount the config file as described above, be sure to also prepend the URL for the registry when starting up your watched image (you can omit the https://). Here is a complete docker-compose.yml file that starts up a docker container from a private repo at Docker Hub and monitors it with watchtower. Note the command argument changing the interval to 30s rather than the default 5 minutes. -```json +```yaml version: "3" services: cavo: From cbe9ab87fa03d284ae1935eabf4d357c3de3abfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 20 Dec 2020 19:23:49 +0100 Subject: [PATCH 017/389] move secret value "credentials" to trace log (#707) --- pkg/registry/auth/auth.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index 1596aca..3b3d088 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -89,7 +89,8 @@ func GetBearerHeader(challenge string, img string, err error, registryAuth strin } if registryAuth != "" { - logrus.WithField("credentials", registryAuth).Debug("Credentials found.") + logrus.Debug("Credentials found.") + logrus.Tracef("Credentials: %v", registryAuth) r.Header.Add("Authorization", fmt.Sprintf("Basic %s", registryAuth)) } else { logrus.Debug("No credentials found.") From ff8cb884a0852ce35a18f59802826f669c740236 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 21 Dec 2020 15:17:45 +0100 Subject: [PATCH 018/389] feat(config): swap viper and cobra for config (#684) --- cmd/root.go | 136 ++++++++------------ internal/flags/config.go | 31 +++++ internal/flags/flags.go | 191 ++++++++++++----------------- internal/flags/flags_test.go | 19 +-- pkg/container/client.go | 13 +- pkg/notifications/email.go | 26 ++-- pkg/notifications/gotify.go | 11 +- pkg/notifications/msteams.go | 17 ++- pkg/notifications/notifier.go | 7 +- pkg/notifications/shoutrrr.go | 13 +- pkg/notifications/shoutrrr_test.go | 6 +- pkg/notifications/slack.go | 14 +-- 12 files changed, 229 insertions(+), 255 deletions(-) create mode 100644 internal/flags/config.go diff --git a/cmd/root.go b/cmd/root.go index 1e61308..d0fa413 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,9 +1,10 @@ package cmd import ( + "fmt" + "github.com/spf13/viper" "os" "os/signal" - "strconv" "syscall" "time" @@ -21,17 +22,9 @@ import ( ) var ( - client container.Client - scheduleSpec string - cleanup bool - noRestart bool - monitorOnly bool - enableLabel bool - notifier *notifications.Notifier - timeout time.Duration - lifecycleHooks bool - rollingRestart bool - scope string + client container.Client + notifier *notifications.Notifier + c flags.WatchConfig ) var rootCmd = &cobra.Command{ @@ -46,10 +39,11 @@ More information available at https://github.com/containrrr/watchtower/. } func init() { - flags.SetDefaults() flags.RegisterDockerFlags(rootCmd) flags.RegisterSystemFlags(rootCmd) flags.RegisterNotificationFlags(rootCmd) + flags.SetEnvBindings() + flags.BindViperFlags(rootCmd) } // Execute the root func and exit in case of errors @@ -60,10 +54,10 @@ func Execute() { } // PreRun is a lifecycle hook that runs before the command is executed. -func PreRun(cmd *cobra.Command, args []string) { - f := cmd.PersistentFlags() +func PreRun(cmd *cobra.Command, _ []string) { - if enabled, _ := f.GetBool("no-color"); enabled { + // First apply all the settings that affect the output + if viper.GetBool("no-color") { log.SetFormatter(&log.TextFormatter{ DisableColors: true, }) @@ -74,75 +68,55 @@ func PreRun(cmd *cobra.Command, args []string) { }) } - if enabled, _ := f.GetBool("debug"); enabled { + if viper.GetBool("debug") { log.SetLevel(log.DebugLevel) } - if enabled, _ := f.GetBool("trace"); enabled { + if viper.GetBool("trace") { log.SetLevel(log.TraceLevel) } - pollingSet := f.Changed("interval") - schedule, _ := f.GetString("schedule") - cronLen := len(schedule) + interval := viper.GetInt("interval") - if pollingSet && cronLen > 0 { - log.Fatal("Only schedule or interval can be defined, not both.") - } else if cronLen > 0 { - scheduleSpec, _ = f.GetString("schedule") - } else { - interval, _ := f.GetInt("interval") - scheduleSpec = "@every " + strconv.Itoa(interval) + "s" + // If empty, set schedule using interval helper value + if viper.GetString("schedule") == "" { + viper.Set("schedule", fmt.Sprintf("@every %ds", interval)) + } else if interval != flags.DefaultInterval { + log.Fatal("only schedule or interval can be defined, not both") } - flags.GetSecretsFromFiles(cmd) - cleanup, noRestart, monitorOnly, timeout = flags.ReadFlags(cmd) + // Then load the rest of the settings + err := viper.Unmarshal(&c) + if err != nil { + log.Fatalf("unable to decode into struct, %v", err) + } - if timeout < 0 { + flags.GetSecretsFromFiles() + + if c.Timeout <= 0 { log.Fatal("Please specify a positive value for timeout value.") } - enableLabel, _ = f.GetBool("label-enable") - lifecycleHooks, _ = f.GetBool("enable-lifecycle-hooks") - rollingRestart, _ = f.GetBool("rolling-restart") - scope, _ = f.GetString("scope") + log.Debugf("Using scope %v", c.Scope) - log.Debug(scope) - - // configure environment vars for client - err := flags.EnvConfig(cmd) - if err != nil { - log.Fatal(err) + if err = flags.EnvConfig(); err != nil { + log.Fatalf("failed to setup environment variables: %v", err) } - noPull, _ := f.GetBool("no-pull") - includeStopped, _ := f.GetBool("include-stopped") - includeRestarting, _ := f.GetBool("include-restarting") - reviveStopped, _ := f.GetBool("revive-stopped") - removeVolumes, _ := f.GetBool("remove-volumes") - - if monitorOnly && noPull { + if c.MonitorOnly && c.NoPull { log.Warn("Using `WATCHTOWER_NO_PULL` and `WATCHTOWER_MONITOR_ONLY` simultaneously might lead to no action being taken at all. If this is intentional, you may safely ignore this message.") } - client = container.NewClient( - !noPull, - includeStopped, - reviveStopped, - removeVolumes, - includeRestarting, - ) + client = container.NewClient(&c) notifier = notifications.NewNotifier(cmd) } // Run is the main execution flow of the command -func Run(c *cobra.Command, names []string) { - filter := filters.BuildFilter(names, enableLabel, scope) - runOnce, _ := c.PersistentFlags().GetBool("run-once") - httpAPI, _ := c.PersistentFlags().GetBool("http-api") +func Run(_ *cobra.Command, names []string) { + filter := filters.BuildFilter(names, c.EnableLabel, c.Scope) - if runOnce { - if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { + if c.RunOnce { + if !c.NoStartupMessage { log.Info("Running a one time update.") } runUpdatesWithNotifications(filter) @@ -151,14 +125,12 @@ func Run(c *cobra.Command, names []string) { return } - if err := actions.CheckForMultipleWatchtowerInstances(client, cleanup, scope); err != nil { + if err := actions.CheckForMultipleWatchtowerInstances(client, c.Cleanup, c.Scope); err != nil { log.Fatal(err) } - if httpAPI { - apiToken, _ := c.PersistentFlags().GetString("http-api-token") - - if err := api.SetupHTTPUpdates(apiToken, func() { runUpdatesWithNotifications(filter) }); err != nil { + if c.HTTPAPI { + if err := api.SetupHTTPUpdates(c.HTTPAPIToken, func() { runUpdatesWithNotifications(filter) }); err != nil { log.Fatal(err) os.Exit(1) } @@ -166,20 +138,20 @@ func Run(c *cobra.Command, names []string) { api.WaitForHTTPUpdates() } - if err := runUpgradesOnSchedule(c, filter); err != nil { + if err := runUpgradesOnSchedule(filter); err != nil { log.Error(err) } os.Exit(1) } -func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { +func runUpgradesOnSchedule(filter t.Filter) error { tryLockSem := make(chan bool, 1) tryLockSem <- true - cron := cron.New() - err := cron.AddFunc( - scheduleSpec, + runner := cron.New() + err := runner.AddFunc( + viper.GetString("schedule"), func() { select { case v := <-tryLockSem: @@ -189,7 +161,7 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { log.Debug("Skipped another update already running.") } - nextRuns := cron.Entries() + nextRuns := runner.Entries() if len(nextRuns) > 0 { log.Debug("Scheduled next run: " + nextRuns[0].Next.String()) } @@ -199,11 +171,11 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { return err } - if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { - log.Info("Starting Watchtower and scheduling first run: " + cron.Entries()[0].Schedule.Next(time.Now()).String()) + if !viper.GetBool("no-startup-message") { + log.Info("Starting Watchtower and scheduling first run: " + runner.Entries()[0].Schedule.Next(time.Now()).String()) } - cron.Start() + runner.Start() // Graceful shut-down on SIGINT/SIGTERM interrupt := make(chan os.Signal, 1) @@ -211,7 +183,7 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { signal.Notify(interrupt, syscall.SIGTERM) <-interrupt - cron.Stop() + runner.Stop() log.Info("Waiting for running update to be finished...") <-tryLockSem return nil @@ -221,12 +193,12 @@ func runUpdatesWithNotifications(filter t.Filter) { notifier.StartNotification() updateParams := t.UpdateParams{ Filter: filter, - Cleanup: cleanup, - NoRestart: noRestart, - Timeout: timeout, - MonitorOnly: monitorOnly, - LifecycleHooks: lifecycleHooks, - RollingRestart: rollingRestart, + Cleanup: c.Cleanup, + NoRestart: c.NoRestart, + Timeout: c.Timeout, + MonitorOnly: c.MonitorOnly, + LifecycleHooks: c.LifecycleHooks, + RollingRestart: c.RollingRestart, } err := actions.Update(client, updateParams) if err != nil { diff --git a/internal/flags/config.go b/internal/flags/config.go new file mode 100644 index 0000000..ef0a40f --- /dev/null +++ b/internal/flags/config.go @@ -0,0 +1,31 @@ +package flags + +import ( + "time" +) + +// WatchConfig is the global watchtower configuration created from flags and environment variables +type WatchConfig struct { + Interval int + Schedule string + NoPull bool `mapstructure:"no-pull"` + NoRestart bool `mapstructure:"no-restart"` + NoStartupMessage bool `mapstructure:"no-startup-message"` + Cleanup bool + RemoveVolumes bool `mapstructure:"remove-volumes"` + EnableLabel bool `mapstructure:"label-enable"` + Debug bool + Trace bool + MonitorOnly bool `mapstructure:"monitor-only"` + RunOnce bool `mapstructure:"run-once"` + IncludeStopped bool `mapstructure:"include-stopped"` + IncludeRestarting bool `mapstructure:"include-restarting"` + ReviveStopped bool `mapstructure:"revive-stopped"` + LifecycleHooks bool `mapstructure:"enable-lifecycle-hooks"` + RollingRestart bool `mapstructure:"rolling-restart"` + HTTPAPI bool `mapstructure:"http-api"` + HTTPAPIToken string `mapstructure:"http-api-token"` + Timeout time.Duration `mapstructure:"stop-timeout"` + Scope string + NoColor bool `mapstructure:"no-color"` +} diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 2f7a89f..2e37fb6 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -8,7 +8,6 @@ import ( log "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "github.com/spf13/pflag" "github.com/spf13/viper" ) @@ -16,12 +15,15 @@ import ( // use watchtower const DockerAPIMinVersion string = "1.25" +// DefaultInterval is the default time between the start of update checks +const DefaultInterval = int(time.Hour * 24 / time.Second) + // RegisterDockerFlags that are used directly by the docker api client func RegisterDockerFlags(rootCmd *cobra.Command) { flags := rootCmd.PersistentFlags() - flags.StringP("host", "H", viper.GetString("DOCKER_HOST"), "daemon socket to connect to") - flags.BoolP("tlsverify", "v", viper.GetBool("DOCKER_TLS_VERIFY"), "use TLS and verify the remote") - flags.StringP("api-version", "a", viper.GetString("DOCKER_API_VERSION"), "api version to use by docker client") + flags.StringP("host", "H", "unix:///var/run/docker.sock", "daemon socket to connect to") + flags.BoolP("tlsverify", "v", false, "use TLS and verify the remote") + flags.StringP("api-version", "a", DockerAPIMinVersion, "api version to use by docker client") } // RegisterSystemFlags that are used by watchtower to modify the program flow @@ -30,126 +32,126 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { flags.IntP( "interval", "i", - viper.GetInt("WATCHTOWER_POLL_INTERVAL"), + DefaultInterval, "poll interval (in seconds)") flags.StringP( "schedule", "s", - viper.GetString("WATCHTOWER_SCHEDULE"), + "", "the cron expression which defines when to update") flags.DurationP( "stop-timeout", "t", - viper.GetDuration("WATCHTOWER_TIMEOUT"), + time.Second*10, "timeout before a container is forcefully stopped") flags.BoolP( "no-pull", "", - viper.GetBool("WATCHTOWER_NO_PULL"), + false, "do not pull any new images") flags.BoolP( "no-restart", "", - viper.GetBool("WATCHTOWER_NO_RESTART"), + false, "do not restart any containers") flags.BoolP( "no-startup-message", "", - viper.GetBool("WATCHTOWER_NO_STARTUP_MESSAGE"), + false, "Prevents watchtower from sending a startup message") flags.BoolP( "cleanup", "c", - viper.GetBool("WATCHTOWER_CLEANUP"), + false, "remove previously used images after updating") flags.BoolP( "remove-volumes", "", - viper.GetBool("WATCHTOWER_REMOVE_VOLUMES"), + false, "remove attached volumes before updating") flags.BoolP( "label-enable", "e", - viper.GetBool("WATCHTOWER_LABEL_ENABLE"), + false, "watch containers where the com.centurylinklabs.watchtower.enable label is true") flags.BoolP( "debug", "d", - viper.GetBool("WATCHTOWER_DEBUG"), + false, "enable debug mode with verbose logging") flags.BoolP( "trace", "", - viper.GetBool("WATCHTOWER_TRACE"), + false, "enable trace mode with very verbose logging - caution, exposes credentials") flags.BoolP( "monitor-only", "m", - viper.GetBool("WATCHTOWER_MONITOR_ONLY"), + false, "Will only monitor for new images, not update the containers") flags.BoolP( "run-once", "R", - viper.GetBool("WATCHTOWER_RUN_ONCE"), + false, "Run once now and exit") flags.BoolP( "include-stopped", "S", - viper.GetBool("WATCHTOWER_INCLUDE_STOPPED"), + false, "Will also include created and exited containers") flags.BoolP( "revive-stopped", "", - viper.GetBool("WATCHTOWER_REVIVE_STOPPED"), + false, "Will also start stopped containers that were updated, if include-stopped is active") flags.BoolP( "enable-lifecycle-hooks", "", - viper.GetBool("WATCHTOWER_LIFECYCLE_HOOKS"), + false, "Enable the execution of commands triggered by pre- and post-update lifecycle hooks") flags.BoolP( "rolling-restart", "", - viper.GetBool("WATCHTOWER_ROLLING_RESTART"), + false, "Restart containers one at a time") flags.BoolP( "http-api", "", - viper.GetBool("WATCHTOWER_HTTP_API"), + false, "Runs Watchtower in HTTP API mode, so that image updates must to be triggered by a request") flags.StringP( "http-api-token", "", - viper.GetString("WATCHTOWER_HTTP_API_TOKEN"), + "", "Sets an authentication token to HTTP API requests.") // https://no-color.org/ flags.BoolP( "no-color", "", - viper.IsSet("NO_COLOR"), + false, "Disable ANSI color escape codes in log output") flags.StringP( "scope", "", - viper.GetString("WATCHTOWER_SCOPE"), + "", "Defines a monitoring scope for the Watchtower instance.") } @@ -160,178 +162,177 @@ func RegisterNotificationFlags(rootCmd *cobra.Command) { flags.StringSliceP( "notifications", "n", - viper.GetStringSlice("WATCHTOWER_NOTIFICATIONS"), + []string{}, " notification types to send (valid: email, slack, msteams, gotify, shoutrrr)") flags.StringP( "notifications-level", "", - viper.GetString("WATCHTOWER_NOTIFICATIONS_LEVEL"), + "info", "The log level used for sending notifications. Possible values: panic, fatal, error, warn, info or debug") flags.StringP( "notification-email-from", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_FROM"), + "", "Address to send notification emails from") flags.StringP( "notification-email-to", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_TO"), + "", "Address to send notification emails to") flags.IntP( "notification-email-delay", "", - viper.GetInt("WATCHTOWER_NOTIFICATION_EMAIL_DELAY"), + 0, "Delay before sending notifications, expressed in seconds") flags.StringP( "notification-email-server", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER"), + "", "SMTP server to send notification emails through") flags.IntP( "notification-email-server-port", "", - viper.GetInt("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT"), + 25, "SMTP server port to send notification emails through") flags.BoolP( "notification-email-server-tls-skip-verify", "", - viper.GetBool("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_TLS_SKIP_VERIFY"), + false, `Controls whether watchtower verifies the SMTP server's certificate chain and host name. Should only be used for testing.`) flags.StringP( "notification-email-server-user", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER"), + "", "SMTP server user for sending notifications") flags.StringP( "notification-email-server-password", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD"), + "", "SMTP server password for sending notifications") flags.StringP( "notification-email-subjecttag", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG"), + "", "Subject prefix tag for notifications via mail") flags.StringP( "notification-slack-hook-url", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL"), + "", "The Slack Hook URL to send notifications to") flags.StringP( "notification-slack-identifier", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER"), + "watchtower", "A string which will be used to identify the messages coming from this watchtower instance") flags.StringP( "notification-slack-channel", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_CHANNEL"), + "", "A string which overrides the webhook's default channel. Example: #my-custom-channel") flags.StringP( "notification-slack-icon-emoji", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI"), + "", "An emoji code string to use in place of the default icon") flags.StringP( "notification-slack-icon-url", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_ICON_URL"), + "", "An icon image URL string to use in place of the default icon") flags.StringP( "notification-msteams-hook", "", - viper.GetString("WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL"), + "", "The MSTeams WebHook URL to send notifications to") flags.BoolP( "notification-msteams-data", "", - viper.GetBool("WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA"), + false, "The MSTeams notifier will try to extract log entry fields as MSTeams message facts") flags.StringP( "notification-gotify-url", "", - viper.GetString("WATCHTOWER_NOTIFICATION_GOTIFY_URL"), + "", "The Gotify URL to send notifications to") flags.StringP( "notification-gotify-token", "", - viper.GetString("WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN"), + "", "The Gotify Application required to query the Gotify API") flags.BoolP( "notification-gotify-tls-skip-verify", "", - viper.GetBool("WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY"), + false, `Controls whether watchtower verifies the Gotify server's certificate chain and host name. Should only be used for testing.`) flags.StringP( "notification-template", "", - viper.GetString("WATCHTOWER_NOTIFICATION_TEMPLATE"), + "", "The shoutrrr text/template for the messages") flags.StringArrayP( "notification-url", "", - viper.GetStringSlice("WATCHTOWER_NOTIFICATION_URL"), + []string{}, "The shoutrrr URL to send notifications to") } -// SetDefaults provides default values for environment variables -func SetDefaults() { - day := (time.Hour * 24).Seconds() +// SetEnvBindings binds environment variables to their corresponding config keys +func SetEnvBindings() { + if err := viper.BindEnv("host", "DOCKER_HOST"); err != nil { + log.Fatalf("failed to bind env DOCKER_HOST: %v", err) + } + if err := viper.BindEnv("tlsverify", "DOCKER_TLS_VERIFY"); err != nil { + log.Fatalf("failed to bind env DOCKER_TLS_VERIFY: %v", err) + } + if err := viper.BindEnv("api-version", "DOCKER_API_VERSION"); err != nil { + log.Fatalf("failed to bind env DOCKER_API_VERSION: %v", err) + } + viper.SetEnvPrefix("WATCHTOWER") + viper.SetEnvKeyReplacer(strings.NewReplacer("-", "_")) viper.AutomaticEnv() - viper.SetDefault("DOCKER_HOST", "unix:///var/run/docker.sock") - viper.SetDefault("DOCKER_API_VERSION", DockerAPIMinVersion) - viper.SetDefault("WATCHTOWER_POLL_INTERVAL", day) - viper.SetDefault("WATCHTOWER_TIMEOUT", time.Second*10) - viper.SetDefault("WATCHTOWER_NOTIFICATIONS", []string{}) - viper.SetDefault("WATCHTOWER_NOTIFICATIONS_LEVEL", "info") - viper.SetDefault("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT", 25) - viper.SetDefault("WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG", "") - viper.SetDefault("WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER", "watchtower") +} + +// BindViperFlags binds the cmd PFlags to the viper configuration +func BindViperFlags(cmd *cobra.Command) { + if err := viper.BindPFlags(cmd.PersistentFlags()); err != nil { + log.Fatalf("failed to bind flags: %v", err) + } } // EnvConfig translates the command-line options into environment variables // that will initialize the api client -func EnvConfig(cmd *cobra.Command) error { +func EnvConfig() error { var err error - var host string var tls bool var version string - flags := cmd.PersistentFlags() - - if host, err = flags.GetString("host"); err != nil { - return err - } - if tls, err = flags.GetBool("tlsverify"); err != nil { - return err - } - if version, err = flags.GetString("api-version"); err != nil { - return err - } + host := viper.GetString("host") + tls = viper.GetBool("tlsverify") + version = viper.GetString("api-version") if err = setEnvOptStr("DOCKER_HOST", host); err != nil { return err } @@ -344,32 +345,6 @@ func EnvConfig(cmd *cobra.Command) error { return nil } -// ReadFlags reads common flags used in the main program flow of watchtower -func ReadFlags(cmd *cobra.Command) (bool, bool, bool, time.Duration) { - flags := cmd.PersistentFlags() - - var err error - var cleanup bool - var noRestart bool - var monitorOnly bool - var timeout time.Duration - - if cleanup, err = flags.GetBool("cleanup"); err != nil { - log.Fatal(err) - } - if noRestart, err = flags.GetBool("no-restart"); err != nil { - log.Fatal(err) - } - if monitorOnly, err = flags.GetBool("monitor-only"); err != nil { - log.Fatal(err) - } - if timeout, err = flags.GetDuration("stop-timeout"); err != nil { - log.Fatal(err) - } - - return cleanup, noRestart, monitorOnly, timeout -} - func setEnvOptStr(env string, opt string) error { if opt == "" || opt == os.Getenv(env) { return nil @@ -390,9 +365,7 @@ func setEnvOptBool(env string, opt bool) error { // GetSecretsFromFiles checks if passwords/tokens/webhooks have been passed as a file instead of plaintext. // If so, the value of the flag will be replaced with the contents of the file. -func GetSecretsFromFiles(rootCmd *cobra.Command) { - flags := rootCmd.PersistentFlags() - +func GetSecretsFromFiles() { secrets := []string{ "notification-email-server-password", "notification-slack-hook-url", @@ -400,25 +373,19 @@ func GetSecretsFromFiles(rootCmd *cobra.Command) { "notification-gotify-token", } for _, secret := range secrets { - getSecretFromFile(flags, secret) + getSecretFromFile(secret) } } // getSecretFromFile will check if the flag contains a reference to a file; if it does, replaces the value of the flag with the contents of the file. -func getSecretFromFile(flags *pflag.FlagSet, secret string) { - value, err := flags.GetString(secret) - if err != nil { - log.Error(err) - } +func getSecretFromFile(secret string) { + value := viper.GetString(secret) if value != "" && isFile(value) { file, err := ioutil.ReadFile(value) if err != nil { log.Fatal(err) } - err = flags.Set(secret, strings.TrimSpace(string(file))) - if err != nil { - log.Error(err) - } + viper.Set(secret, strings.TrimSpace(string(file))) } } diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index b659a96..55697f6 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -1,6 +1,7 @@ package flags import ( + "github.com/spf13/viper" "io/ioutil" "os" "testing" @@ -12,10 +13,11 @@ import ( func TestEnvConfig_Defaults(t *testing.T) { cmd := new(cobra.Command) - SetDefaults() RegisterDockerFlags(cmd) + SetEnvBindings() + BindViperFlags(cmd) - err := EnvConfig(cmd) + err := EnvConfig() require.NoError(t, err) assert.Equal(t, "unix:///var/run/docker.sock", os.Getenv("DOCKER_HOST")) @@ -26,13 +28,14 @@ func TestEnvConfig_Defaults(t *testing.T) { func TestEnvConfig_Custom(t *testing.T) { cmd := new(cobra.Command) - SetDefaults() RegisterDockerFlags(cmd) + SetEnvBindings() + BindViperFlags(cmd) err := cmd.ParseFlags([]string{"--host", "some-custom-docker-host", "--tlsverify", "--api-version", "1.99"}) require.NoError(t, err) - err = EnvConfig(cmd) + err = EnvConfig() require.NoError(t, err) assert.Equal(t, "some-custom-docker-host", os.Getenv("DOCKER_HOST")) @@ -71,11 +74,11 @@ func TestGetSecretsFromFilesWithFile(t *testing.T) { func testGetSecretsFromFiles(t *testing.T, flagName string, expected string) { cmd := new(cobra.Command) - SetDefaults() RegisterNotificationFlags(cmd) - GetSecretsFromFiles(cmd) - value, err := cmd.PersistentFlags().GetString(flagName) - require.NoError(t, err) + SetEnvBindings() + BindViperFlags(cmd) + GetSecretsFromFiles() + value := viper.GetString(flagName) assert.Equal(t, expected, value) } diff --git a/pkg/container/client.go b/pkg/container/client.go index 2063332..36ea7c1 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -10,6 +10,7 @@ import ( "github.com/containrrr/watchtower/pkg/registry" "github.com/containrrr/watchtower/pkg/registry/digest" + "github.com/containrrr/watchtower/internal/flags" t "github.com/containrrr/watchtower/pkg/types" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" @@ -41,7 +42,7 @@ type Client interface { // * DOCKER_HOST the docker-engine host to send api requests to // * DOCKER_TLS_VERIFY whether to verify tls certificates // * DOCKER_API_VERSION the minimum docker api version to work with -func NewClient(pullImages bool, includeStopped bool, reviveStopped bool, removeVolumes bool, includeRestarting bool) Client { +func NewClient(config *flags.WatchConfig) Client { cli, err := sdkClient.NewClientWithOpts(sdkClient.FromEnv) if err != nil { @@ -50,11 +51,11 @@ func NewClient(pullImages bool, includeStopped bool, reviveStopped bool, removeV return dockerClient{ api: cli, - pullImages: pullImages, - removeVolumes: removeVolumes, - includeStopped: includeStopped, - reviveStopped: reviveStopped, - includeRestarting: includeRestarting, + pullImages: !config.NoPull, + removeVolumes: config.RemoveVolumes, + includeStopped: config.IncludeStopped, + reviveStopped: config.ReviveStopped, + includeRestarting: config.IncludeRestarting, } } diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 6079de7..5134178 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -4,6 +4,7 @@ import ( "encoding/base64" "fmt" "github.com/spf13/cobra" + "github.com/spf13/viper" "net/smtp" "os" "strings" @@ -33,18 +34,17 @@ type emailTypeNotifier struct { delay time.Duration } -func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - flags := c.PersistentFlags() +func newEmailNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - from, _ := flags.GetString("notification-email-from") - to, _ := flags.GetString("notification-email-to") - server, _ := flags.GetString("notification-email-server") - user, _ := flags.GetString("notification-email-server-user") - password, _ := flags.GetString("notification-email-server-password") - port, _ := flags.GetInt("notification-email-server-port") - tlsSkipVerify, _ := flags.GetBool("notification-email-server-tls-skip-verify") - delay, _ := flags.GetInt("notification-email-delay") - subjecttag, _ := flags.GetString("notification-email-subjecttag") + from := viper.GetString("notification-email-from") + to := viper.GetString("notification-email-to") + server := viper.GetString("notification-email-server") + user := viper.GetString("notification-email-server-user") + password := viper.GetString("notification-email-server-password") + port := viper.GetInt("notification-email-server-port") + tlsSkipVerify := viper.GetBool("notification-email-server-tls-skip-verify") + delay := viper.GetInt("notification-email-delay") + subjecttag := viper.GetString("notification-email-subjecttag") n := &emailTypeNotifier{ From: from, @@ -81,13 +81,13 @@ func (e *emailTypeNotifier) buildMessage(entries []*log.Entry) []byte { // We don't use fields in watchtower, so don't bother sending them. } - t := time.Now() + now := time.Now() header := make(map[string]string) header["From"] = e.From header["To"] = e.To header["Subject"] = emailSubject - header["Date"] = t.Format(time.RFC1123Z) + header["Date"] = now.Format(time.RFC1123Z) header["MIME-Version"] = "1.0" header["Content-Type"] = "text/plain; charset=\"utf-8\"" header["Content-Transfer-Encoding"] = "base64" diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index 789f778..a86f5c0 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -5,6 +5,7 @@ import ( "crypto/tls" "encoding/json" "fmt" + "github.com/spf13/viper" "net/http" "strings" @@ -24,10 +25,10 @@ type gotifyTypeNotifier struct { logLevels []log.Level } -func newGotifyNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - flags := c.PersistentFlags() +func newGotifyNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { + flags := viper.Sub(".") - gotifyURL, _ := flags.GetString("notification-gotify-url") + gotifyURL := flags.GetString("notification-gotify-url") if len(gotifyURL) < 1 { log.Fatal("Required argument --notification-gotify-url(cli) or WATCHTOWER_NOTIFICATION_GOTIFY_URL(env) is empty.") } else if !(strings.HasPrefix(gotifyURL, "http://") || strings.HasPrefix(gotifyURL, "https://")) { @@ -36,12 +37,12 @@ func newGotifyNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifi log.Warn("Using an HTTP url for Gotify is insecure") } - gotifyToken, _ := flags.GetString("notification-gotify-token") + gotifyToken := flags.GetString("notification-gotify-token") if len(gotifyToken) < 1 { log.Fatal("Required argument --notification-gotify-token(cli) or WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN(env) is empty.") } - gotifyInsecureSkipVerify, _ := flags.GetBool("notification-gotify-tls-skip-verify") + gotifyInsecureSkipVerify := flags.GetBool("notification-gotify-tls-skip-verify") n := &gotifyTypeNotifier{ gotifyURL: gotifyURL, diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index ab33966..5b96eaa 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "github.com/spf13/cobra" + "github.com/spf13/viper" "net/http" t "github.com/containrrr/watchtower/pkg/types" @@ -22,16 +23,14 @@ type msTeamsTypeNotifier struct { data bool } -func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { +func newMsTeamsNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - flags := cmd.PersistentFlags() - - webHookURL, _ := flags.GetString("notification-msteams-hook") + webHookURL := viper.GetString("notification-msteams-hook") if len(webHookURL) <= 0 { log.Fatal("Required argument --notification-msteams-hook(cli) or WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL(env) is empty.") } - withData, _ := flags.GetBool("notification-msteams-data") + withData := viper.GetBool("notification-msteams-data") n := &msTeamsTypeNotifier{ levels: acceptedLogLevels, webHookURL: webHookURL, @@ -85,19 +84,19 @@ func (n *msTeamsTypeNotifier) Fire(entry *log.Entry) error { jsonBody, err := json.Marshal(webHookBody) if err != nil { - fmt.Println("Failed to build JSON body for MSTeams notificattion: ", err) + fmt.Println("Failed to build JSON body for MSTeams notification: ", err) return } - resp, err := http.Post(n.webHookURL, "application/json", bytes.NewBuffer([]byte(jsonBody))) + resp, err := http.Post(n.webHookURL, "application/json", bytes.NewBuffer(jsonBody)) if err != nil { - fmt.Println("Failed to send MSTeams notificattion: ", err) + fmt.Println("Failed to send MSTeams notification: ", err) } defer resp.Body.Close() if resp.StatusCode < 200 || resp.StatusCode > 299 { - fmt.Println("Failed to send MSTeams notificattion. HTTP RESPONSE STATUS: ", resp.StatusCode) + fmt.Println("Failed to send MSTeams notification. HTTP RESPONSE STATUS: ", resp.StatusCode) if resp.Body != nil { bodyBytes, err := ioutil.ReadAll(resp.Body) if err == nil { diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index dedb21a..3e1b539 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -5,6 +5,7 @@ import ( "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "github.com/spf13/viper" ) // Notifier can send log output as notification to admins, with optional batching. @@ -16,9 +17,7 @@ type Notifier struct { func NewNotifier(c *cobra.Command) *Notifier { n := &Notifier{} - f := c.PersistentFlags() - - level, _ := f.GetString("notifications-level") + level := viper.GetString("notifications-level") logLevel, err := log.ParseLevel(level) if err != nil { log.Fatalf("Notifications invalid log level: %s", err.Error()) @@ -27,7 +26,7 @@ func NewNotifier(c *cobra.Command) *Notifier { acceptedLogLevels := slackrus.LevelThreshold(logLevel) // Parse types and create notifiers. - types, err := f.GetStringSlice("notifications") + types := viper.GetStringSlice("notifications") if err != nil { log.WithField("could not read notifications argument", log.Fields{"Error": err}).Fatal() } diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index d16808d..ae24ba4 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" "github.com/containrrr/shoutrrr/pkg/types" + "github.com/spf13/viper" "strings" "text/template" @@ -34,9 +35,8 @@ type shoutrrrTypeNotifier struct { } func newShoutrrrNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - flags := c.PersistentFlags() - urls, _ := flags.GetStringArray("notification-url") + urls := viper.GetStringSlice("notification-url") r, err := shoutrrr.CreateSender(urls...) if err != nil { log.Fatalf("Failed to initialize Shoutrrr notifications: %s\n", err.Error()) @@ -126,12 +126,11 @@ func (e *shoutrrrTypeNotifier) Fire(entry *log.Entry) error { return nil } -func getShoutrrrTemplate(c *cobra.Command) *template.Template { +func getShoutrrrTemplate(_ *cobra.Command) *template.Template { var tpl *template.Template + var err error - flags := c.PersistentFlags() - - tplString, err := flags.GetString("notification-template") + tplString := viper.GetString("notification-template") funcs := template.FuncMap{ "ToUpper": strings.ToUpper, @@ -141,7 +140,7 @@ func getShoutrrrTemplate(c *cobra.Command) *template.Template { // If we succeed in getting a non-empty template configuration // try to parse the template string. - if tplString != "" && err == nil { + if tplString != "" { tpl, err = template.New("").Funcs(funcs).Parse(tplString) } diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index 47334af..15c1252 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -32,6 +32,7 @@ func TestShoutrrrDefaultTemplate(t *testing.T) { func TestShoutrrrTemplate(t *testing.T) { cmd := new(cobra.Command) flags.RegisterNotificationFlags(cmd) + flags.BindViperFlags(cmd) err := cmd.ParseFlags([]string{"--notification-template={{range .}}{{.Level}}: {{.Message}}{{println}}{{end}}"}) require.NoError(t, err) @@ -55,6 +56,7 @@ func TestShoutrrrTemplate(t *testing.T) { func TestShoutrrrStringFunctions(t *testing.T) { cmd := new(cobra.Command) flags.RegisterNotificationFlags(cmd) + flags.BindViperFlags(cmd) err := cmd.ParseFlags([]string{"--notification-template={{range .}}{{.Level | printf \"%v\" | ToUpper }}: {{.Message | ToLower }} {{.Message | Title }}{{println}}{{end}}"}) require.NoError(t, err) @@ -77,8 +79,8 @@ func TestShoutrrrStringFunctions(t *testing.T) { func TestShoutrrrInvalidTemplateUsesTemplate(t *testing.T) { cmd := new(cobra.Command) - flags.RegisterNotificationFlags(cmd) + flags.BindViperFlags(cmd) err := cmd.ParseFlags([]string{"--notification-template={{"}) require.NoError(t, err) @@ -108,7 +110,7 @@ type blockingRouter struct { sent chan bool } -func (b blockingRouter) Send(message string, params *types.Params) []error { +func (b blockingRouter) Send(_ string, _ *types.Params) []error { _ = <-b.unlock b.sent <- true return nil diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index 5f96390..9129f57 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -5,6 +5,7 @@ import ( "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "github.com/spf13/viper" ) const ( @@ -15,14 +16,13 @@ type slackTypeNotifier struct { slackrus.SlackrusHook } -func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - flags := c.PersistentFlags() +func newSlackNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - hookURL, _ := flags.GetString("notification-slack-hook-url") - userName, _ := flags.GetString("notification-slack-identifier") - channel, _ := flags.GetString("notification-slack-channel") - emoji, _ := flags.GetString("notification-slack-icon-emoji") - iconURL, _ := flags.GetString("notification-slack-icon-url") + hookURL := viper.GetString("notification-slack-hook-url") + userName := viper.GetString("notification-slack-identifier") + channel := viper.GetString("notification-slack-channel") + emoji := viper.GetString("notification-slack-icon-emoji") + iconURL := viper.GetString("notification-slack-icon-url") n := &slackTypeNotifier{ SlackrusHook: slackrus.SlackrusHook{ From eb8580f7f2d701bd7a613765d2e57d5eed415e79 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Mon, 21 Dec 2020 18:06:14 +0100 Subject: [PATCH 019/389] make sure all different ref formats are supported --- pkg/registry/auth/auth.go | 31 +++++++++++++++++++++++++++---- pkg/registry/auth/auth_test.go | 22 ++++++++++++++++++++++ pkg/registry/digest/digest.go | 5 +++-- pkg/registry/manifest/manifest.go | 4 +++- 4 files changed, 55 insertions(+), 7 deletions(-) diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index 3b3d088..8e7be4a 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -139,10 +139,9 @@ func GetAuthURL(challenge string, img string) (*url.URL, error) { authURL, _ := url.Parse(fmt.Sprintf("%s", values["realm"])) q := authURL.Query() q.Add("service", values["service"]) - scopeImage := strings.TrimPrefix(img, values["service"]) - if !strings.Contains(scopeImage, "/") { - scopeImage = "library/" + scopeImage - } + + scopeImage := GetScopeFromImageName(img, values["service"]) + scope := fmt.Sprintf("repository:%s:pull", scopeImage) logrus.WithFields(logrus.Fields{"scope": scope, "image": img}).Debug("Setting scope for auth token") q.Add("scope", scope) @@ -151,6 +150,30 @@ func GetAuthURL(challenge string, img string) (*url.URL, error) { return authURL, nil } +func GetScopeFromImageName(img, svc string) string { + parts := strings.Split(img, "/") + scopeImage := "" + if len(parts) > 2 { + if strings.Contains(svc, "docker.io") { + fmt.Printf("Identified dockerhub image") + scopeImage = fmt.Sprintf("%s/%s", parts[1], strings.Join(parts[2:], "/")) + } else { + scopeImage = strings.Join(parts, "/") + } + } else if len(parts) == 2 { + if strings.Contains(parts[0], "docker.io") { + scopeImage = fmt.Sprintf("library/%s", parts[1]) + } else { + scopeImage = strings.Replace(img, svc + "/", "", 1) + } + } else if strings.Contains(svc, "docker.io") { + scopeImage = fmt.Sprintf("library/%s", parts[0]) + } else { + scopeImage = img + } + return scopeImage +} + // GetChallengeURL creates a URL object based on the image info func GetChallengeURL(img string) (url.URL, error) { diff --git a/pkg/registry/auth/auth_test.go b/pkg/registry/auth/auth_test.go index 16a6478..6ad2307 100644 --- a/pkg/registry/auth/auth_test.go +++ b/pkg/registry/auth/auth_test.go @@ -95,4 +95,26 @@ var _ = Describe("the auth module", func() { Expect(auth.GetChallengeURL("registry-1.docker.io/containrrr/watchtower:latest")).To(Equal(expected)) }) }) + When("getting the auth scope from an image name", func() { + It("should prepend official dockerhub images with \"library/\"", func() { + Expect(auth.GetScopeFromImageName("docker.io/registry", "index.docker.io")).To(Equal("library/registry")) + Expect(auth.GetScopeFromImageName("docker.io/registry", "docker.io")).To(Equal("library/registry")) + + Expect(auth.GetScopeFromImageName("registry", "index.docker.io")).To(Equal("library/registry")) + Expect(auth.GetScopeFromImageName("watchtower", "registry-1.docker.io")).To(Equal("library/watchtower")) + + }) + It("should not include vanity hosts\"", func() { + Expect(auth.GetScopeFromImageName("docker.io/containrrr/watchtower", "index.docker.io")).To(Equal("containrrr/watchtower")) + Expect(auth.GetScopeFromImageName("index.docker.io/containrrr/watchtower", "index.docker.io")).To(Equal("containrrr/watchtower")) + }) + It("should not destroy three segment image names\"", func() { + Expect(auth.GetScopeFromImageName("piksel/containrrr/watchtower", "index.docker.io")).To(Equal("containrrr/watchtower")) + Expect(auth.GetScopeFromImageName("piksel/containrrr/watchtower", "ghcr.io")).To(Equal("piksel/containrrr/watchtower")) + }) + It("should not add \"library/\" for one segment image names if they're not on dockerhub", func() { + Expect(auth.GetScopeFromImageName("ghcr.io/watchtower", "ghcr.io")).To(Equal("watchtower")) + Expect(auth.GetScopeFromImageName("watchtower", "ghcr.io")).To(Equal("watchtower")) + }) + }) }) diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go index 389f059..59f4d9b 100644 --- a/pkg/registry/digest/digest.go +++ b/pkg/registry/digest/digest.go @@ -73,13 +73,14 @@ func GetDigest(url string, token string) (string, error) { } client := &http.Client{Transport: tr} + req, _ := http.NewRequest("HEAD", url, nil) + if token != "" { logrus.WithField("token", token).Trace("Setting request token") } else { return "", errors.New("could not fetch token") } - req, _ := http.NewRequest("HEAD", url, nil) req.Header.Add("Authorization", token) req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.v2+json") req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.list.v2+json") @@ -94,7 +95,7 @@ func GetDigest(url string, token string) (string, error) { defer res.Body.Close() if res.StatusCode != 200 { - return "", fmt.Errorf("registry responded to head request with %d", res.StatusCode) + return "", fmt.Errorf("registry responded to head request with %v", res) } return res.Header.Get(ContentDigestHeader), nil } diff --git a/pkg/registry/manifest/manifest.go b/pkg/registry/manifest/manifest.go index 837bc3f..aac7762 100644 --- a/pkg/registry/manifest/manifest.go +++ b/pkg/registry/manifest/manifest.go @@ -2,6 +2,7 @@ package manifest import ( "fmt" + "github.com/containrrr/watchtower/pkg/registry/auth" "github.com/containrrr/watchtower/pkg/registry/helpers" "github.com/containrrr/watchtower/pkg/types" ref "github.com/docker/distribution/reference" @@ -31,7 +32,8 @@ func BuildManifestURL(container types.Container) (string, error) { if err != nil { return "", err } - img = strings.TrimPrefix(img, fmt.Sprintf("%s/", host)) + img = auth.GetScopeFromImageName(img, host) + if !strings.Contains(img, "/") { img = "library/" + img } From cf6a71de810f2903bf24f7035c4250004a828dc4 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Mon, 21 Dec 2020 18:11:08 +0100 Subject: [PATCH 020/389] fix linting issues --- pkg/registry/auth/auth.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index 8e7be4a..ae708b6 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -150,6 +150,7 @@ func GetAuthURL(challenge string, img string) (*url.URL, error) { return authURL, nil } +// GetScopeFromImageName normalizes an image name for use as scope during auth and head requests func GetScopeFromImageName(img, svc string) string { parts := strings.Split(img, "/") scopeImage := "" @@ -164,7 +165,7 @@ func GetScopeFromImageName(img, svc string) string { if strings.Contains(parts[0], "docker.io") { scopeImage = fmt.Sprintf("library/%s", parts[1]) } else { - scopeImage = strings.Replace(img, svc + "/", "", 1) + scopeImage = strings.Replace(img, svc+"/", "", 1) } } else if strings.Contains(svc, "docker.io") { scopeImage = fmt.Sprintf("library/%s", parts[0]) From 89119515af3aa2eff87d195c33208bd15439a48c Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Mon, 21 Dec 2020 18:20:38 +0100 Subject: [PATCH 021/389] clean up scope builder and remove fmt print --- pkg/registry/auth/auth.go | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index ae708b6..99e307c 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -153,26 +153,25 @@ func GetAuthURL(challenge string, img string) (*url.URL, error) { // GetScopeFromImageName normalizes an image name for use as scope during auth and head requests func GetScopeFromImageName(img, svc string) string { parts := strings.Split(img, "/") - scopeImage := "" + if len(parts) > 2 { if strings.Contains(svc, "docker.io") { - fmt.Printf("Identified dockerhub image") - scopeImage = fmt.Sprintf("%s/%s", parts[1], strings.Join(parts[2:], "/")) - } else { - scopeImage = strings.Join(parts, "/") + return fmt.Sprintf("%s/%s", parts[1], strings.Join(parts[2:], "/")) } - } else if len(parts) == 2 { - if strings.Contains(parts[0], "docker.io") { - scopeImage = fmt.Sprintf("library/%s", parts[1]) - } else { - scopeImage = strings.Replace(img, svc+"/", "", 1) - } - } else if strings.Contains(svc, "docker.io") { - scopeImage = fmt.Sprintf("library/%s", parts[0]) - } else { - scopeImage = img + return strings.Join(parts, "/") } - return scopeImage + + if len(parts) == 2 { + if strings.Contains(parts[0], "docker.io") { + return fmt.Sprintf("library/%s", parts[1]) + } + return strings.Replace(img, svc+"/", "", 1) + } + + if strings.Contains(svc, "docker.io") { + return fmt.Sprintf("library/%s", parts[0]) + } + return img } // GetChallengeURL creates a URL object based on the image info From 8b81fbd48d2fcbae853d8af582c7da9b3b391457 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Mon, 21 Dec 2020 23:08:23 +0100 Subject: [PATCH 022/389] Revert "feat(config): swap viper and cobra for config (#684)" This reverts commit ff8cb884a0852ce35a18f59802826f669c740236. --- cmd/root.go | 136 ++++++++++++-------- internal/flags/config.go | 31 ----- internal/flags/flags.go | 191 +++++++++++++++++------------ internal/flags/flags_test.go | 19 ++- pkg/container/client.go | 13 +- pkg/notifications/email.go | 26 ++-- pkg/notifications/gotify.go | 11 +- pkg/notifications/msteams.go | 17 +-- pkg/notifications/notifier.go | 7 +- pkg/notifications/shoutrrr.go | 13 +- pkg/notifications/shoutrrr_test.go | 6 +- pkg/notifications/slack.go | 14 +-- 12 files changed, 255 insertions(+), 229 deletions(-) delete mode 100644 internal/flags/config.go diff --git a/cmd/root.go b/cmd/root.go index d0fa413..1e61308 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,10 +1,9 @@ package cmd import ( - "fmt" - "github.com/spf13/viper" "os" "os/signal" + "strconv" "syscall" "time" @@ -22,9 +21,17 @@ import ( ) var ( - client container.Client - notifier *notifications.Notifier - c flags.WatchConfig + client container.Client + scheduleSpec string + cleanup bool + noRestart bool + monitorOnly bool + enableLabel bool + notifier *notifications.Notifier + timeout time.Duration + lifecycleHooks bool + rollingRestart bool + scope string ) var rootCmd = &cobra.Command{ @@ -39,11 +46,10 @@ More information available at https://github.com/containrrr/watchtower/. } func init() { + flags.SetDefaults() flags.RegisterDockerFlags(rootCmd) flags.RegisterSystemFlags(rootCmd) flags.RegisterNotificationFlags(rootCmd) - flags.SetEnvBindings() - flags.BindViperFlags(rootCmd) } // Execute the root func and exit in case of errors @@ -54,10 +60,10 @@ func Execute() { } // PreRun is a lifecycle hook that runs before the command is executed. -func PreRun(cmd *cobra.Command, _ []string) { +func PreRun(cmd *cobra.Command, args []string) { + f := cmd.PersistentFlags() - // First apply all the settings that affect the output - if viper.GetBool("no-color") { + if enabled, _ := f.GetBool("no-color"); enabled { log.SetFormatter(&log.TextFormatter{ DisableColors: true, }) @@ -68,55 +74,75 @@ func PreRun(cmd *cobra.Command, _ []string) { }) } - if viper.GetBool("debug") { + if enabled, _ := f.GetBool("debug"); enabled { log.SetLevel(log.DebugLevel) } - if viper.GetBool("trace") { + if enabled, _ := f.GetBool("trace"); enabled { log.SetLevel(log.TraceLevel) } - interval := viper.GetInt("interval") + pollingSet := f.Changed("interval") + schedule, _ := f.GetString("schedule") + cronLen := len(schedule) - // If empty, set schedule using interval helper value - if viper.GetString("schedule") == "" { - viper.Set("schedule", fmt.Sprintf("@every %ds", interval)) - } else if interval != flags.DefaultInterval { - log.Fatal("only schedule or interval can be defined, not both") + if pollingSet && cronLen > 0 { + log.Fatal("Only schedule or interval can be defined, not both.") + } else if cronLen > 0 { + scheduleSpec, _ = f.GetString("schedule") + } else { + interval, _ := f.GetInt("interval") + scheduleSpec = "@every " + strconv.Itoa(interval) + "s" } - // Then load the rest of the settings - err := viper.Unmarshal(&c) - if err != nil { - log.Fatalf("unable to decode into struct, %v", err) - } + flags.GetSecretsFromFiles(cmd) + cleanup, noRestart, monitorOnly, timeout = flags.ReadFlags(cmd) - flags.GetSecretsFromFiles() - - if c.Timeout <= 0 { + if timeout < 0 { log.Fatal("Please specify a positive value for timeout value.") } - log.Debugf("Using scope %v", c.Scope) + enableLabel, _ = f.GetBool("label-enable") + lifecycleHooks, _ = f.GetBool("enable-lifecycle-hooks") + rollingRestart, _ = f.GetBool("rolling-restart") + scope, _ = f.GetString("scope") - if err = flags.EnvConfig(); err != nil { - log.Fatalf("failed to setup environment variables: %v", err) + log.Debug(scope) + + // configure environment vars for client + err := flags.EnvConfig(cmd) + if err != nil { + log.Fatal(err) } - if c.MonitorOnly && c.NoPull { + noPull, _ := f.GetBool("no-pull") + includeStopped, _ := f.GetBool("include-stopped") + includeRestarting, _ := f.GetBool("include-restarting") + reviveStopped, _ := f.GetBool("revive-stopped") + removeVolumes, _ := f.GetBool("remove-volumes") + + if monitorOnly && noPull { log.Warn("Using `WATCHTOWER_NO_PULL` and `WATCHTOWER_MONITOR_ONLY` simultaneously might lead to no action being taken at all. If this is intentional, you may safely ignore this message.") } - client = container.NewClient(&c) + client = container.NewClient( + !noPull, + includeStopped, + reviveStopped, + removeVolumes, + includeRestarting, + ) notifier = notifications.NewNotifier(cmd) } // Run is the main execution flow of the command -func Run(_ *cobra.Command, names []string) { - filter := filters.BuildFilter(names, c.EnableLabel, c.Scope) +func Run(c *cobra.Command, names []string) { + filter := filters.BuildFilter(names, enableLabel, scope) + runOnce, _ := c.PersistentFlags().GetBool("run-once") + httpAPI, _ := c.PersistentFlags().GetBool("http-api") - if c.RunOnce { - if !c.NoStartupMessage { + if runOnce { + if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { log.Info("Running a one time update.") } runUpdatesWithNotifications(filter) @@ -125,12 +151,14 @@ func Run(_ *cobra.Command, names []string) { return } - if err := actions.CheckForMultipleWatchtowerInstances(client, c.Cleanup, c.Scope); err != nil { + if err := actions.CheckForMultipleWatchtowerInstances(client, cleanup, scope); err != nil { log.Fatal(err) } - if c.HTTPAPI { - if err := api.SetupHTTPUpdates(c.HTTPAPIToken, func() { runUpdatesWithNotifications(filter) }); err != nil { + if httpAPI { + apiToken, _ := c.PersistentFlags().GetString("http-api-token") + + if err := api.SetupHTTPUpdates(apiToken, func() { runUpdatesWithNotifications(filter) }); err != nil { log.Fatal(err) os.Exit(1) } @@ -138,20 +166,20 @@ func Run(_ *cobra.Command, names []string) { api.WaitForHTTPUpdates() } - if err := runUpgradesOnSchedule(filter); err != nil { + if err := runUpgradesOnSchedule(c, filter); err != nil { log.Error(err) } os.Exit(1) } -func runUpgradesOnSchedule(filter t.Filter) error { +func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { tryLockSem := make(chan bool, 1) tryLockSem <- true - runner := cron.New() - err := runner.AddFunc( - viper.GetString("schedule"), + cron := cron.New() + err := cron.AddFunc( + scheduleSpec, func() { select { case v := <-tryLockSem: @@ -161,7 +189,7 @@ func runUpgradesOnSchedule(filter t.Filter) error { log.Debug("Skipped another update already running.") } - nextRuns := runner.Entries() + nextRuns := cron.Entries() if len(nextRuns) > 0 { log.Debug("Scheduled next run: " + nextRuns[0].Next.String()) } @@ -171,11 +199,11 @@ func runUpgradesOnSchedule(filter t.Filter) error { return err } - if !viper.GetBool("no-startup-message") { - log.Info("Starting Watchtower and scheduling first run: " + runner.Entries()[0].Schedule.Next(time.Now()).String()) + if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { + log.Info("Starting Watchtower and scheduling first run: " + cron.Entries()[0].Schedule.Next(time.Now()).String()) } - runner.Start() + cron.Start() // Graceful shut-down on SIGINT/SIGTERM interrupt := make(chan os.Signal, 1) @@ -183,7 +211,7 @@ func runUpgradesOnSchedule(filter t.Filter) error { signal.Notify(interrupt, syscall.SIGTERM) <-interrupt - runner.Stop() + cron.Stop() log.Info("Waiting for running update to be finished...") <-tryLockSem return nil @@ -193,12 +221,12 @@ func runUpdatesWithNotifications(filter t.Filter) { notifier.StartNotification() updateParams := t.UpdateParams{ Filter: filter, - Cleanup: c.Cleanup, - NoRestart: c.NoRestart, - Timeout: c.Timeout, - MonitorOnly: c.MonitorOnly, - LifecycleHooks: c.LifecycleHooks, - RollingRestart: c.RollingRestart, + Cleanup: cleanup, + NoRestart: noRestart, + Timeout: timeout, + MonitorOnly: monitorOnly, + LifecycleHooks: lifecycleHooks, + RollingRestart: rollingRestart, } err := actions.Update(client, updateParams) if err != nil { diff --git a/internal/flags/config.go b/internal/flags/config.go deleted file mode 100644 index ef0a40f..0000000 --- a/internal/flags/config.go +++ /dev/null @@ -1,31 +0,0 @@ -package flags - -import ( - "time" -) - -// WatchConfig is the global watchtower configuration created from flags and environment variables -type WatchConfig struct { - Interval int - Schedule string - NoPull bool `mapstructure:"no-pull"` - NoRestart bool `mapstructure:"no-restart"` - NoStartupMessage bool `mapstructure:"no-startup-message"` - Cleanup bool - RemoveVolumes bool `mapstructure:"remove-volumes"` - EnableLabel bool `mapstructure:"label-enable"` - Debug bool - Trace bool - MonitorOnly bool `mapstructure:"monitor-only"` - RunOnce bool `mapstructure:"run-once"` - IncludeStopped bool `mapstructure:"include-stopped"` - IncludeRestarting bool `mapstructure:"include-restarting"` - ReviveStopped bool `mapstructure:"revive-stopped"` - LifecycleHooks bool `mapstructure:"enable-lifecycle-hooks"` - RollingRestart bool `mapstructure:"rolling-restart"` - HTTPAPI bool `mapstructure:"http-api"` - HTTPAPIToken string `mapstructure:"http-api-token"` - Timeout time.Duration `mapstructure:"stop-timeout"` - Scope string - NoColor bool `mapstructure:"no-color"` -} diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 2e37fb6..2f7a89f 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -8,6 +8,7 @@ import ( log "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "github.com/spf13/pflag" "github.com/spf13/viper" ) @@ -15,15 +16,12 @@ import ( // use watchtower const DockerAPIMinVersion string = "1.25" -// DefaultInterval is the default time between the start of update checks -const DefaultInterval = int(time.Hour * 24 / time.Second) - // RegisterDockerFlags that are used directly by the docker api client func RegisterDockerFlags(rootCmd *cobra.Command) { flags := rootCmd.PersistentFlags() - flags.StringP("host", "H", "unix:///var/run/docker.sock", "daemon socket to connect to") - flags.BoolP("tlsverify", "v", false, "use TLS and verify the remote") - flags.StringP("api-version", "a", DockerAPIMinVersion, "api version to use by docker client") + flags.StringP("host", "H", viper.GetString("DOCKER_HOST"), "daemon socket to connect to") + flags.BoolP("tlsverify", "v", viper.GetBool("DOCKER_TLS_VERIFY"), "use TLS and verify the remote") + flags.StringP("api-version", "a", viper.GetString("DOCKER_API_VERSION"), "api version to use by docker client") } // RegisterSystemFlags that are used by watchtower to modify the program flow @@ -32,126 +30,126 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { flags.IntP( "interval", "i", - DefaultInterval, + viper.GetInt("WATCHTOWER_POLL_INTERVAL"), "poll interval (in seconds)") flags.StringP( "schedule", "s", - "", + viper.GetString("WATCHTOWER_SCHEDULE"), "the cron expression which defines when to update") flags.DurationP( "stop-timeout", "t", - time.Second*10, + viper.GetDuration("WATCHTOWER_TIMEOUT"), "timeout before a container is forcefully stopped") flags.BoolP( "no-pull", "", - false, + viper.GetBool("WATCHTOWER_NO_PULL"), "do not pull any new images") flags.BoolP( "no-restart", "", - false, + viper.GetBool("WATCHTOWER_NO_RESTART"), "do not restart any containers") flags.BoolP( "no-startup-message", "", - false, + viper.GetBool("WATCHTOWER_NO_STARTUP_MESSAGE"), "Prevents watchtower from sending a startup message") flags.BoolP( "cleanup", "c", - false, + viper.GetBool("WATCHTOWER_CLEANUP"), "remove previously used images after updating") flags.BoolP( "remove-volumes", "", - false, + viper.GetBool("WATCHTOWER_REMOVE_VOLUMES"), "remove attached volumes before updating") flags.BoolP( "label-enable", "e", - false, + viper.GetBool("WATCHTOWER_LABEL_ENABLE"), "watch containers where the com.centurylinklabs.watchtower.enable label is true") flags.BoolP( "debug", "d", - false, + viper.GetBool("WATCHTOWER_DEBUG"), "enable debug mode with verbose logging") flags.BoolP( "trace", "", - false, + viper.GetBool("WATCHTOWER_TRACE"), "enable trace mode with very verbose logging - caution, exposes credentials") flags.BoolP( "monitor-only", "m", - false, + viper.GetBool("WATCHTOWER_MONITOR_ONLY"), "Will only monitor for new images, not update the containers") flags.BoolP( "run-once", "R", - false, + viper.GetBool("WATCHTOWER_RUN_ONCE"), "Run once now and exit") flags.BoolP( "include-stopped", "S", - false, + viper.GetBool("WATCHTOWER_INCLUDE_STOPPED"), "Will also include created and exited containers") flags.BoolP( "revive-stopped", "", - false, + viper.GetBool("WATCHTOWER_REVIVE_STOPPED"), "Will also start stopped containers that were updated, if include-stopped is active") flags.BoolP( "enable-lifecycle-hooks", "", - false, + viper.GetBool("WATCHTOWER_LIFECYCLE_HOOKS"), "Enable the execution of commands triggered by pre- and post-update lifecycle hooks") flags.BoolP( "rolling-restart", "", - false, + viper.GetBool("WATCHTOWER_ROLLING_RESTART"), "Restart containers one at a time") flags.BoolP( "http-api", "", - false, + viper.GetBool("WATCHTOWER_HTTP_API"), "Runs Watchtower in HTTP API mode, so that image updates must to be triggered by a request") flags.StringP( "http-api-token", "", - "", + viper.GetString("WATCHTOWER_HTTP_API_TOKEN"), "Sets an authentication token to HTTP API requests.") // https://no-color.org/ flags.BoolP( "no-color", "", - false, + viper.IsSet("NO_COLOR"), "Disable ANSI color escape codes in log output") flags.StringP( "scope", "", - "", + viper.GetString("WATCHTOWER_SCOPE"), "Defines a monitoring scope for the Watchtower instance.") } @@ -162,177 +160,178 @@ func RegisterNotificationFlags(rootCmd *cobra.Command) { flags.StringSliceP( "notifications", "n", - []string{}, + viper.GetStringSlice("WATCHTOWER_NOTIFICATIONS"), " notification types to send (valid: email, slack, msteams, gotify, shoutrrr)") flags.StringP( "notifications-level", "", - "info", + viper.GetString("WATCHTOWER_NOTIFICATIONS_LEVEL"), "The log level used for sending notifications. Possible values: panic, fatal, error, warn, info or debug") flags.StringP( "notification-email-from", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_FROM"), "Address to send notification emails from") flags.StringP( "notification-email-to", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_TO"), "Address to send notification emails to") flags.IntP( "notification-email-delay", "", - 0, + viper.GetInt("WATCHTOWER_NOTIFICATION_EMAIL_DELAY"), "Delay before sending notifications, expressed in seconds") flags.StringP( "notification-email-server", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER"), "SMTP server to send notification emails through") flags.IntP( "notification-email-server-port", "", - 25, + viper.GetInt("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT"), "SMTP server port to send notification emails through") flags.BoolP( "notification-email-server-tls-skip-verify", "", - false, + viper.GetBool("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_TLS_SKIP_VERIFY"), `Controls whether watchtower verifies the SMTP server's certificate chain and host name. Should only be used for testing.`) flags.StringP( "notification-email-server-user", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER"), "SMTP server user for sending notifications") flags.StringP( "notification-email-server-password", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD"), "SMTP server password for sending notifications") flags.StringP( "notification-email-subjecttag", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG"), "Subject prefix tag for notifications via mail") flags.StringP( "notification-slack-hook-url", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL"), "The Slack Hook URL to send notifications to") flags.StringP( "notification-slack-identifier", "", - "watchtower", + viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER"), "A string which will be used to identify the messages coming from this watchtower instance") flags.StringP( "notification-slack-channel", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_CHANNEL"), "A string which overrides the webhook's default channel. Example: #my-custom-channel") flags.StringP( "notification-slack-icon-emoji", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI"), "An emoji code string to use in place of the default icon") flags.StringP( "notification-slack-icon-url", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_ICON_URL"), "An icon image URL string to use in place of the default icon") flags.StringP( "notification-msteams-hook", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL"), "The MSTeams WebHook URL to send notifications to") flags.BoolP( "notification-msteams-data", "", - false, + viper.GetBool("WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA"), "The MSTeams notifier will try to extract log entry fields as MSTeams message facts") flags.StringP( "notification-gotify-url", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_GOTIFY_URL"), "The Gotify URL to send notifications to") flags.StringP( "notification-gotify-token", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN"), "The Gotify Application required to query the Gotify API") flags.BoolP( "notification-gotify-tls-skip-verify", "", - false, + viper.GetBool("WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY"), `Controls whether watchtower verifies the Gotify server's certificate chain and host name. Should only be used for testing.`) flags.StringP( "notification-template", "", - "", + viper.GetString("WATCHTOWER_NOTIFICATION_TEMPLATE"), "The shoutrrr text/template for the messages") flags.StringArrayP( "notification-url", "", - []string{}, + viper.GetStringSlice("WATCHTOWER_NOTIFICATION_URL"), "The shoutrrr URL to send notifications to") } -// SetEnvBindings binds environment variables to their corresponding config keys -func SetEnvBindings() { - if err := viper.BindEnv("host", "DOCKER_HOST"); err != nil { - log.Fatalf("failed to bind env DOCKER_HOST: %v", err) - } - if err := viper.BindEnv("tlsverify", "DOCKER_TLS_VERIFY"); err != nil { - log.Fatalf("failed to bind env DOCKER_TLS_VERIFY: %v", err) - } - if err := viper.BindEnv("api-version", "DOCKER_API_VERSION"); err != nil { - log.Fatalf("failed to bind env DOCKER_API_VERSION: %v", err) - } - viper.SetEnvPrefix("WATCHTOWER") - viper.SetEnvKeyReplacer(strings.NewReplacer("-", "_")) +// SetDefaults provides default values for environment variables +func SetDefaults() { + day := (time.Hour * 24).Seconds() viper.AutomaticEnv() -} - -// BindViperFlags binds the cmd PFlags to the viper configuration -func BindViperFlags(cmd *cobra.Command) { - if err := viper.BindPFlags(cmd.PersistentFlags()); err != nil { - log.Fatalf("failed to bind flags: %v", err) - } + viper.SetDefault("DOCKER_HOST", "unix:///var/run/docker.sock") + viper.SetDefault("DOCKER_API_VERSION", DockerAPIMinVersion) + viper.SetDefault("WATCHTOWER_POLL_INTERVAL", day) + viper.SetDefault("WATCHTOWER_TIMEOUT", time.Second*10) + viper.SetDefault("WATCHTOWER_NOTIFICATIONS", []string{}) + viper.SetDefault("WATCHTOWER_NOTIFICATIONS_LEVEL", "info") + viper.SetDefault("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT", 25) + viper.SetDefault("WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG", "") + viper.SetDefault("WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER", "watchtower") } // EnvConfig translates the command-line options into environment variables // that will initialize the api client -func EnvConfig() error { +func EnvConfig(cmd *cobra.Command) error { var err error + var host string var tls bool var version string - host := viper.GetString("host") - tls = viper.GetBool("tlsverify") - version = viper.GetString("api-version") + flags := cmd.PersistentFlags() + + if host, err = flags.GetString("host"); err != nil { + return err + } + if tls, err = flags.GetBool("tlsverify"); err != nil { + return err + } + if version, err = flags.GetString("api-version"); err != nil { + return err + } if err = setEnvOptStr("DOCKER_HOST", host); err != nil { return err } @@ -345,6 +344,32 @@ func EnvConfig() error { return nil } +// ReadFlags reads common flags used in the main program flow of watchtower +func ReadFlags(cmd *cobra.Command) (bool, bool, bool, time.Duration) { + flags := cmd.PersistentFlags() + + var err error + var cleanup bool + var noRestart bool + var monitorOnly bool + var timeout time.Duration + + if cleanup, err = flags.GetBool("cleanup"); err != nil { + log.Fatal(err) + } + if noRestart, err = flags.GetBool("no-restart"); err != nil { + log.Fatal(err) + } + if monitorOnly, err = flags.GetBool("monitor-only"); err != nil { + log.Fatal(err) + } + if timeout, err = flags.GetDuration("stop-timeout"); err != nil { + log.Fatal(err) + } + + return cleanup, noRestart, monitorOnly, timeout +} + func setEnvOptStr(env string, opt string) error { if opt == "" || opt == os.Getenv(env) { return nil @@ -365,7 +390,9 @@ func setEnvOptBool(env string, opt bool) error { // GetSecretsFromFiles checks if passwords/tokens/webhooks have been passed as a file instead of plaintext. // If so, the value of the flag will be replaced with the contents of the file. -func GetSecretsFromFiles() { +func GetSecretsFromFiles(rootCmd *cobra.Command) { + flags := rootCmd.PersistentFlags() + secrets := []string{ "notification-email-server-password", "notification-slack-hook-url", @@ -373,19 +400,25 @@ func GetSecretsFromFiles() { "notification-gotify-token", } for _, secret := range secrets { - getSecretFromFile(secret) + getSecretFromFile(flags, secret) } } // getSecretFromFile will check if the flag contains a reference to a file; if it does, replaces the value of the flag with the contents of the file. -func getSecretFromFile(secret string) { - value := viper.GetString(secret) +func getSecretFromFile(flags *pflag.FlagSet, secret string) { + value, err := flags.GetString(secret) + if err != nil { + log.Error(err) + } if value != "" && isFile(value) { file, err := ioutil.ReadFile(value) if err != nil { log.Fatal(err) } - viper.Set(secret, strings.TrimSpace(string(file))) + err = flags.Set(secret, strings.TrimSpace(string(file))) + if err != nil { + log.Error(err) + } } } diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index 55697f6..b659a96 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -1,7 +1,6 @@ package flags import ( - "github.com/spf13/viper" "io/ioutil" "os" "testing" @@ -13,11 +12,10 @@ import ( func TestEnvConfig_Defaults(t *testing.T) { cmd := new(cobra.Command) + SetDefaults() RegisterDockerFlags(cmd) - SetEnvBindings() - BindViperFlags(cmd) - err := EnvConfig() + err := EnvConfig(cmd) require.NoError(t, err) assert.Equal(t, "unix:///var/run/docker.sock", os.Getenv("DOCKER_HOST")) @@ -28,14 +26,13 @@ func TestEnvConfig_Defaults(t *testing.T) { func TestEnvConfig_Custom(t *testing.T) { cmd := new(cobra.Command) + SetDefaults() RegisterDockerFlags(cmd) - SetEnvBindings() - BindViperFlags(cmd) err := cmd.ParseFlags([]string{"--host", "some-custom-docker-host", "--tlsverify", "--api-version", "1.99"}) require.NoError(t, err) - err = EnvConfig() + err = EnvConfig(cmd) require.NoError(t, err) assert.Equal(t, "some-custom-docker-host", os.Getenv("DOCKER_HOST")) @@ -74,11 +71,11 @@ func TestGetSecretsFromFilesWithFile(t *testing.T) { func testGetSecretsFromFiles(t *testing.T, flagName string, expected string) { cmd := new(cobra.Command) + SetDefaults() RegisterNotificationFlags(cmd) - SetEnvBindings() - BindViperFlags(cmd) - GetSecretsFromFiles() - value := viper.GetString(flagName) + GetSecretsFromFiles(cmd) + value, err := cmd.PersistentFlags().GetString(flagName) + require.NoError(t, err) assert.Equal(t, expected, value) } diff --git a/pkg/container/client.go b/pkg/container/client.go index 36ea7c1..2063332 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -10,7 +10,6 @@ import ( "github.com/containrrr/watchtower/pkg/registry" "github.com/containrrr/watchtower/pkg/registry/digest" - "github.com/containrrr/watchtower/internal/flags" t "github.com/containrrr/watchtower/pkg/types" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" @@ -42,7 +41,7 @@ type Client interface { // * DOCKER_HOST the docker-engine host to send api requests to // * DOCKER_TLS_VERIFY whether to verify tls certificates // * DOCKER_API_VERSION the minimum docker api version to work with -func NewClient(config *flags.WatchConfig) Client { +func NewClient(pullImages bool, includeStopped bool, reviveStopped bool, removeVolumes bool, includeRestarting bool) Client { cli, err := sdkClient.NewClientWithOpts(sdkClient.FromEnv) if err != nil { @@ -51,11 +50,11 @@ func NewClient(config *flags.WatchConfig) Client { return dockerClient{ api: cli, - pullImages: !config.NoPull, - removeVolumes: config.RemoveVolumes, - includeStopped: config.IncludeStopped, - reviveStopped: config.ReviveStopped, - includeRestarting: config.IncludeRestarting, + pullImages: pullImages, + removeVolumes: removeVolumes, + includeStopped: includeStopped, + reviveStopped: reviveStopped, + includeRestarting: includeRestarting, } } diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 5134178..6079de7 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -4,7 +4,6 @@ import ( "encoding/base64" "fmt" "github.com/spf13/cobra" - "github.com/spf13/viper" "net/smtp" "os" "strings" @@ -34,17 +33,18 @@ type emailTypeNotifier struct { delay time.Duration } -func newEmailNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { +func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { + flags := c.PersistentFlags() - from := viper.GetString("notification-email-from") - to := viper.GetString("notification-email-to") - server := viper.GetString("notification-email-server") - user := viper.GetString("notification-email-server-user") - password := viper.GetString("notification-email-server-password") - port := viper.GetInt("notification-email-server-port") - tlsSkipVerify := viper.GetBool("notification-email-server-tls-skip-verify") - delay := viper.GetInt("notification-email-delay") - subjecttag := viper.GetString("notification-email-subjecttag") + from, _ := flags.GetString("notification-email-from") + to, _ := flags.GetString("notification-email-to") + server, _ := flags.GetString("notification-email-server") + user, _ := flags.GetString("notification-email-server-user") + password, _ := flags.GetString("notification-email-server-password") + port, _ := flags.GetInt("notification-email-server-port") + tlsSkipVerify, _ := flags.GetBool("notification-email-server-tls-skip-verify") + delay, _ := flags.GetInt("notification-email-delay") + subjecttag, _ := flags.GetString("notification-email-subjecttag") n := &emailTypeNotifier{ From: from, @@ -81,13 +81,13 @@ func (e *emailTypeNotifier) buildMessage(entries []*log.Entry) []byte { // We don't use fields in watchtower, so don't bother sending them. } - now := time.Now() + t := time.Now() header := make(map[string]string) header["From"] = e.From header["To"] = e.To header["Subject"] = emailSubject - header["Date"] = now.Format(time.RFC1123Z) + header["Date"] = t.Format(time.RFC1123Z) header["MIME-Version"] = "1.0" header["Content-Type"] = "text/plain; charset=\"utf-8\"" header["Content-Transfer-Encoding"] = "base64" diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index a86f5c0..789f778 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -5,7 +5,6 @@ import ( "crypto/tls" "encoding/json" "fmt" - "github.com/spf13/viper" "net/http" "strings" @@ -25,10 +24,10 @@ type gotifyTypeNotifier struct { logLevels []log.Level } -func newGotifyNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - flags := viper.Sub(".") +func newGotifyNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { + flags := c.PersistentFlags() - gotifyURL := flags.GetString("notification-gotify-url") + gotifyURL, _ := flags.GetString("notification-gotify-url") if len(gotifyURL) < 1 { log.Fatal("Required argument --notification-gotify-url(cli) or WATCHTOWER_NOTIFICATION_GOTIFY_URL(env) is empty.") } else if !(strings.HasPrefix(gotifyURL, "http://") || strings.HasPrefix(gotifyURL, "https://")) { @@ -37,12 +36,12 @@ func newGotifyNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifi log.Warn("Using an HTTP url for Gotify is insecure") } - gotifyToken := flags.GetString("notification-gotify-token") + gotifyToken, _ := flags.GetString("notification-gotify-token") if len(gotifyToken) < 1 { log.Fatal("Required argument --notification-gotify-token(cli) or WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN(env) is empty.") } - gotifyInsecureSkipVerify := flags.GetBool("notification-gotify-tls-skip-verify") + gotifyInsecureSkipVerify, _ := flags.GetBool("notification-gotify-tls-skip-verify") n := &gotifyTypeNotifier{ gotifyURL: gotifyURL, diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index 5b96eaa..ab33966 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -5,7 +5,6 @@ import ( "encoding/json" "fmt" "github.com/spf13/cobra" - "github.com/spf13/viper" "net/http" t "github.com/containrrr/watchtower/pkg/types" @@ -23,14 +22,16 @@ type msTeamsTypeNotifier struct { data bool } -func newMsTeamsNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { +func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - webHookURL := viper.GetString("notification-msteams-hook") + flags := cmd.PersistentFlags() + + webHookURL, _ := flags.GetString("notification-msteams-hook") if len(webHookURL) <= 0 { log.Fatal("Required argument --notification-msteams-hook(cli) or WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL(env) is empty.") } - withData := viper.GetBool("notification-msteams-data") + withData, _ := flags.GetBool("notification-msteams-data") n := &msTeamsTypeNotifier{ levels: acceptedLogLevels, webHookURL: webHookURL, @@ -84,19 +85,19 @@ func (n *msTeamsTypeNotifier) Fire(entry *log.Entry) error { jsonBody, err := json.Marshal(webHookBody) if err != nil { - fmt.Println("Failed to build JSON body for MSTeams notification: ", err) + fmt.Println("Failed to build JSON body for MSTeams notificattion: ", err) return } - resp, err := http.Post(n.webHookURL, "application/json", bytes.NewBuffer(jsonBody)) + resp, err := http.Post(n.webHookURL, "application/json", bytes.NewBuffer([]byte(jsonBody))) if err != nil { - fmt.Println("Failed to send MSTeams notification: ", err) + fmt.Println("Failed to send MSTeams notificattion: ", err) } defer resp.Body.Close() if resp.StatusCode < 200 || resp.StatusCode > 299 { - fmt.Println("Failed to send MSTeams notification. HTTP RESPONSE STATUS: ", resp.StatusCode) + fmt.Println("Failed to send MSTeams notificattion. HTTP RESPONSE STATUS: ", resp.StatusCode) if resp.Body != nil { bodyBytes, err := ioutil.ReadAll(resp.Body) if err == nil { diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index 3e1b539..dedb21a 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -5,7 +5,6 @@ import ( "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "github.com/spf13/viper" ) // Notifier can send log output as notification to admins, with optional batching. @@ -17,7 +16,9 @@ type Notifier struct { func NewNotifier(c *cobra.Command) *Notifier { n := &Notifier{} - level := viper.GetString("notifications-level") + f := c.PersistentFlags() + + level, _ := f.GetString("notifications-level") logLevel, err := log.ParseLevel(level) if err != nil { log.Fatalf("Notifications invalid log level: %s", err.Error()) @@ -26,7 +27,7 @@ func NewNotifier(c *cobra.Command) *Notifier { acceptedLogLevels := slackrus.LevelThreshold(logLevel) // Parse types and create notifiers. - types := viper.GetStringSlice("notifications") + types, err := f.GetStringSlice("notifications") if err != nil { log.WithField("could not read notifications argument", log.Fields{"Error": err}).Fatal() } diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index ae24ba4..d16808d 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -4,7 +4,6 @@ import ( "bytes" "fmt" "github.com/containrrr/shoutrrr/pkg/types" - "github.com/spf13/viper" "strings" "text/template" @@ -35,8 +34,9 @@ type shoutrrrTypeNotifier struct { } func newShoutrrrNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { + flags := c.PersistentFlags() - urls := viper.GetStringSlice("notification-url") + urls, _ := flags.GetStringArray("notification-url") r, err := shoutrrr.CreateSender(urls...) if err != nil { log.Fatalf("Failed to initialize Shoutrrr notifications: %s\n", err.Error()) @@ -126,11 +126,12 @@ func (e *shoutrrrTypeNotifier) Fire(entry *log.Entry) error { return nil } -func getShoutrrrTemplate(_ *cobra.Command) *template.Template { +func getShoutrrrTemplate(c *cobra.Command) *template.Template { var tpl *template.Template - var err error - tplString := viper.GetString("notification-template") + flags := c.PersistentFlags() + + tplString, err := flags.GetString("notification-template") funcs := template.FuncMap{ "ToUpper": strings.ToUpper, @@ -140,7 +141,7 @@ func getShoutrrrTemplate(_ *cobra.Command) *template.Template { // If we succeed in getting a non-empty template configuration // try to parse the template string. - if tplString != "" { + if tplString != "" && err == nil { tpl, err = template.New("").Funcs(funcs).Parse(tplString) } diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index 15c1252..47334af 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -32,7 +32,6 @@ func TestShoutrrrDefaultTemplate(t *testing.T) { func TestShoutrrrTemplate(t *testing.T) { cmd := new(cobra.Command) flags.RegisterNotificationFlags(cmd) - flags.BindViperFlags(cmd) err := cmd.ParseFlags([]string{"--notification-template={{range .}}{{.Level}}: {{.Message}}{{println}}{{end}}"}) require.NoError(t, err) @@ -56,7 +55,6 @@ func TestShoutrrrTemplate(t *testing.T) { func TestShoutrrrStringFunctions(t *testing.T) { cmd := new(cobra.Command) flags.RegisterNotificationFlags(cmd) - flags.BindViperFlags(cmd) err := cmd.ParseFlags([]string{"--notification-template={{range .}}{{.Level | printf \"%v\" | ToUpper }}: {{.Message | ToLower }} {{.Message | Title }}{{println}}{{end}}"}) require.NoError(t, err) @@ -79,8 +77,8 @@ func TestShoutrrrStringFunctions(t *testing.T) { func TestShoutrrrInvalidTemplateUsesTemplate(t *testing.T) { cmd := new(cobra.Command) + flags.RegisterNotificationFlags(cmd) - flags.BindViperFlags(cmd) err := cmd.ParseFlags([]string{"--notification-template={{"}) require.NoError(t, err) @@ -110,7 +108,7 @@ type blockingRouter struct { sent chan bool } -func (b blockingRouter) Send(_ string, _ *types.Params) []error { +func (b blockingRouter) Send(message string, params *types.Params) []error { _ = <-b.unlock b.sent <- true return nil diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index 9129f57..5f96390 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -5,7 +5,6 @@ import ( "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "github.com/spf13/viper" ) const ( @@ -16,13 +15,14 @@ type slackTypeNotifier struct { slackrus.SlackrusHook } -func newSlackNotifier(_ *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { +func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { + flags := c.PersistentFlags() - hookURL := viper.GetString("notification-slack-hook-url") - userName := viper.GetString("notification-slack-identifier") - channel := viper.GetString("notification-slack-channel") - emoji := viper.GetString("notification-slack-icon-emoji") - iconURL := viper.GetString("notification-slack-icon-url") + hookURL, _ := flags.GetString("notification-slack-hook-url") + userName, _ := flags.GetString("notification-slack-identifier") + channel, _ := flags.GetString("notification-slack-channel") + emoji, _ := flags.GetString("notification-slack-icon-emoji") + iconURL, _ := flags.GetString("notification-slack-icon-url") n := &slackTypeNotifier{ SlackrusHook: slackrus.SlackrusHook{ From 5983d58d7c6ff6127fb74a67944ccc4814789f3a Mon Sep 17 00:00:00 2001 From: Turtle Kalus Date: Tue, 22 Dec 2020 15:48:38 -0800 Subject: [PATCH 023/389] Log based on registry known-support - reduce noise on notifications (#716) Log based on registry known-poor support of HEAD in checking container manifest. Some private registries do not support HEAD (E.G. GitLab Container Registry). With the current config, this log message is causing a notification to be sent for each container hosted in a registry lacking HEAD support. log.Debug or log.Warning for failed HTTP HEAD-check based on registry hostname where HEAD-check is known to fail. For Docker Hub, a failed HEAD leading to a "regular pull" may count against a user's call-quota whereas other registry implementations do not support HEAD, or whose container manifest may be in a different location. --- pkg/container/client.go | 6 +++++- pkg/registry/registry.go | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/pkg/container/client.go b/pkg/container/client.go index 2063332..635aa3e 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -295,7 +295,11 @@ func (client dockerClient) PullImage(ctx context.Context, container Container) e log.WithFields(fields).Debugf("Checking if pull is needed") if match, err := digest.CompareDigest(container, opts.RegistryAuth); err != nil { - log.Info("Could not do a head request, falling back to regular pull.") + if registry.WarnOnAPIConsumption(container) { + log.WithFields(fields).Warning("Could not do a head request, falling back to regular pull.") + } else { + log.Debug("Could not do a head request, falling back to regular pull.") + } log.Debugf("Reason: %s", err.Error()) } else if match { log.Debug("No pull needed. Skipping image.") diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index 98eab0e..9edd66f 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -1,6 +1,9 @@ package registry import ( + "github.com/containrrr/watchtower/pkg/registry/helpers" + watchtowerTypes "github.com/containrrr/watchtower/pkg/types" + ref "github.com/docker/distribution/reference" "github.com/docker/docker/api/types" log "github.com/sirupsen/logrus" ) @@ -31,3 +34,26 @@ func DefaultAuthHandler() (string, error) { log.Debug("Authentication request was rejected. Trying again without authentication") return "", nil } + +// WarnOnAPIConsumption will return true if the registry is known-expected +// to respond well to HTTP HEAD in checking the container digest -- or if there +// are problems parsing the container hostname. +// Will return false if behavior for container is unknown. +func WarnOnAPIConsumption(container watchtowerTypes.Container) bool { + + normalizedName, err := ref.ParseNormalizedNamed(container.ImageName()) + if err != nil { + return true + } + + containerHost, err := helpers.NormalizeRegistry(normalizedName.String()) + if err != nil { + return true + } + + if containerHost == "index.docker.io" || containerHost == "ghcr.io" { + return true + } + + return false +} From 2fb1f5f7eeeb0dfb97162af36f7ea3b0d9d3da81 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 23 Dec 2020 00:48:50 +0100 Subject: [PATCH 024/389] docs: add tkalus as a contributor (#721) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 3365865..d084e9f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -702,6 +702,15 @@ "contributions": [ "code" ] + }, + { + "login": "tkalus", + "name": "Turtle Kalus", + "avatar_url": "https://avatars2.githubusercontent.com/u/287181?v=4", + "profile": "https://github.com/tkalus", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 25e6474..cba30b1 100644 --- a/README.md +++ b/README.md @@ -163,6 +163,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
yrien30

💻
ksurl

📖
rg9400

💻 +
Turtle Kalus

💻 From 3bbe1bd109070ec546107cdaf250c1b182ccad2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 2 Jan 2021 14:32:05 +0100 Subject: [PATCH 025/389] fix manifest tag index in manifest.go (#731) Co-authored-by: Simon Aronsson --- pkg/registry/manifest/manifest.go | 9 +++++---- pkg/registry/manifest/manifest_test.go | 9 +++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pkg/registry/manifest/manifest.go b/pkg/registry/manifest/manifest.go index aac7762..facbb6c 100644 --- a/pkg/registry/manifest/manifest.go +++ b/pkg/registry/manifest/manifest.go @@ -20,7 +20,7 @@ func BuildManifestURL(container types.Container) (string, error) { } host, err := helpers.NormalizeRegistry(normalizedName.String()) - img, tag := extractImageAndTag(strings.TrimPrefix(container.ImageName(), host+"/")) + img, tag := ExtractImageAndTag(strings.TrimPrefix(container.ImageName(), host+"/")) logrus.WithFields(logrus.Fields{ "image": img, @@ -45,15 +45,16 @@ func BuildManifestURL(container types.Container) (string, error) { return url.String(), nil } -func extractImageAndTag(imageName string) (string, string) { +// ExtractImageAndTag from a concatenated string +func ExtractImageAndTag(imageName string) (string, string) { var img string var tag string if strings.Contains(imageName, ":") { parts := strings.Split(imageName, ":") if len(parts) > 2 { - img = fmt.Sprintf("%s%s", parts[0], parts[1]) - tag = parts[3] + img = parts[0] + tag = strings.Join(parts[1:], ":") } else { img = parts[0] tag = parts[1] diff --git a/pkg/registry/manifest/manifest_test.go b/pkg/registry/manifest/manifest_test.go index 3b86f90..95f196b 100644 --- a/pkg/registry/manifest/manifest_test.go +++ b/pkg/registry/manifest/manifest_test.go @@ -61,6 +61,15 @@ var _ = Describe("the manifest module", func() { Expect(err).NotTo(HaveOccurred()) Expect(res).To(Equal(expected)) }) + It("should combine the tag name and digest pinning into one digest, given multiple colons", func() { + in := "containrrr/watchtower:latest@sha256:daf7034c5c89775afe3008393ae033529913548243b84926931d7c84398ecda7" + image, tag := "containrrr/watchtower", "latest@sha256:daf7034c5c89775afe3008393ae033529913548243b84926931d7c84398ecda7" + + imageOut, tagOut := manifest.ExtractImageAndTag(in) + + Expect(imageOut).To(Equal(image)) + Expect(tagOut).To(Equal(tag)) + }) }) }) From 35490c853d95f9ead6799bd2a16c991a0e1a0ddf Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Wed, 6 Jan 2021 20:06:56 +0100 Subject: [PATCH 026/389] cherrypick notification changes from #450 (#745) --- cmd/root.go | 23 ++-- pkg/notifications/email.go | 132 ++++++++--------------- pkg/notifications/gotify.go | 132 ++++++++++------------- pkg/notifications/msteams.go | 126 +++++----------------- pkg/notifications/notifier.go | 40 +++++-- pkg/notifications/notifier_test.go | 163 +++++++++++++++++++++++++++++ pkg/notifications/shoutrrr.go | 15 ++- pkg/notifications/slack.go | 32 +++++- pkg/types/convertable_notifier.go | 7 ++ 9 files changed, 375 insertions(+), 295 deletions(-) create mode 100644 pkg/notifications/notifier_test.go create mode 100644 pkg/types/convertable_notifier.go diff --git a/cmd/root.go b/cmd/root.go index 1e61308..4308dd1 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -34,15 +34,20 @@ var ( scope string ) -var rootCmd = &cobra.Command{ - Use: "watchtower", - Short: "Automatically updates running Docker containers", - Long: ` -Watchtower automatically updates running Docker containers whenever a new image is released. -More information available at https://github.com/containrrr/watchtower/. -`, - Run: Run, - PreRun: PreRun, +var rootCmd = NewRootCommand() + +// NewRootCommand creates the root command for watchtower +func NewRootCommand() *cobra.Command { + return &cobra.Command{ + Use: "watchtower", + Short: "Automatically updates running Docker containers", + Long: ` + Watchtower automatically updates running Docker containers whenever a new image is released. + More information available at https://github.com/containrrr/watchtower/. + `, + Run: Run, + PreRun: PreRun, + } } func init() { diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 6079de7..2356978 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -1,29 +1,22 @@ package notifications import ( - "encoding/base64" - "fmt" - "github.com/spf13/cobra" - "net/smtp" "os" - "strings" "time" + "github.com/spf13/cobra" + + shoutrrrSmtp "github.com/containrrr/shoutrrr/pkg/services/smtp" t "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" - "strconv" ) const ( emailType = "email" ) -// Implements Notifier, logrus.Hook -// The default logrus email integration would have several issues: -// - It would send one email per log output -// - It would only send errors -// We work around that by holding on to log entries until the update cycle is done. type emailTypeNotifier struct { + url string From, To string Server, User, Password, SubjectTag string Port int @@ -33,7 +26,12 @@ type emailTypeNotifier struct { delay time.Duration } -func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { +// NewEmailNotifier is a factory method creating a new email notifier instance +func NewEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { + return newEmailNotifier(c, acceptedLogLevels) +} + +func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { flags := c.PersistentFlags() from, _ := flags.GetString("notification-email-from") @@ -47,6 +45,7 @@ func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifie subjecttag, _ := flags.GetString("notification-email-subjecttag") n := &emailTypeNotifier{ + entries: []*log.Entry{}, From: from, To: to, Server: server, @@ -59,12 +58,33 @@ func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifie SubjectTag: subjecttag, } - log.AddHook(n) - return n } -func (e *emailTypeNotifier) buildMessage(entries []*log.Entry) []byte { +func (e *emailTypeNotifier) GetURL() string { + conf := &shoutrrrSmtp.Config{ + FromAddress: e.From, + FromName: "Watchtower", + ToAddresses: []string{e.To}, + Port: uint16(e.Port), + Host: e.Server, + Subject: e.getSubject(), + Username: e.User, + Password: e.Password, + UseStartTLS: true, + UseHTML: false, + } + + if len(e.User) > 0 { + conf.Set("auth", "Plain") + } else { + conf.Set("auth", "None") + } + + return conf.GetURL().String() +} + +func (e *emailTypeNotifier) getSubject() string { var emailSubject string if e.SubjectTag == "" { @@ -75,83 +95,13 @@ func (e *emailTypeNotifier) buildMessage(entries []*log.Entry) []byte { if hostname, err := os.Hostname(); err == nil { emailSubject += " on " + hostname } - body := "" - for _, entry := range entries { - body += entry.Time.Format("2006-01-02 15:04:05") + " (" + entry.Level.String() + "): " + entry.Message + "\r\n" - // We don't use fields in watchtower, so don't bother sending them. - } - - t := time.Now() - - header := make(map[string]string) - header["From"] = e.From - header["To"] = e.To - header["Subject"] = emailSubject - header["Date"] = t.Format(time.RFC1123Z) - header["MIME-Version"] = "1.0" - header["Content-Type"] = "text/plain; charset=\"utf-8\"" - header["Content-Transfer-Encoding"] = "base64" - - message := "" - for k, v := range header { - message += fmt.Sprintf("%s: %s\r\n", k, v) - } - - encodedBody := base64.StdEncoding.EncodeToString([]byte(body)) - //RFC 2045 base64 encoding demands line no longer than 76 characters. - for _, line := range SplitSubN(encodedBody, 76) { - message += "\r\n" + line - } - - return []byte(message) + return emailSubject } -func (e *emailTypeNotifier) sendEntries(entries []*log.Entry) { - // Do the sending in a separate goroutine so we don't block the main process. - msg := e.buildMessage(entries) - go func() { - if e.delay > 0 { - time.Sleep(e.delay) - } - - var auth smtp.Auth - if e.User != "" { - auth = smtp.PlainAuth("", e.User, e.Password, e.Server) - } - err := SendMail(e.Server+":"+strconv.Itoa(e.Port), e.tlsSkipVerify, auth, e.From, strings.Split(e.To, ","), msg) - if err != nil { - // Use fmt so it doesn't trigger another email. - fmt.Println("Failed to send notification email: ", err) - } - }() -} - -func (e *emailTypeNotifier) StartNotification() { - if e.entries == nil { - e.entries = make([]*log.Entry, 0, 10) - } -} - -func (e *emailTypeNotifier) SendNotification() { - if e.entries == nil || len(e.entries) <= 0 { - return - } - - e.sendEntries(e.entries) - e.entries = nil -} - -func (e *emailTypeNotifier) Levels() []log.Level { - return e.logLevels -} - -func (e *emailTypeNotifier) Fire(entry *log.Entry) error { - if e.entries != nil { - e.entries = append(e.entries, entry) - } else { - e.sendEntries([]*log.Entry{entry}) - } - return nil -} +// TODO: Delete these once all notifiers have been converted to shoutrrr +func (e *emailTypeNotifier) StartNotification() {} +func (e *emailTypeNotifier) SendNotification() {} +func (e *emailTypeNotifier) Levels() []log.Level { return nil } +func (e *emailTypeNotifier) Fire(entry *log.Entry) error { return nil } func (e *emailTypeNotifier) Close() {} diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index 789f778..47bab40 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -1,16 +1,13 @@ package notifications import ( - "bytes" - "crypto/tls" - "encoding/json" - "fmt" - "net/http" "strings" + shoutrrrGotify "github.com/containrrr/shoutrrr/pkg/services/gotify" t "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "github.com/spf13/pflag" ) const ( @@ -24,10 +21,40 @@ type gotifyTypeNotifier struct { logLevels []log.Level } -func newGotifyNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { +// NewGotifyNotifier is a factory method creating a new gotify notifier instance +func NewGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertableNotifier { + return newGotifyNotifier(c, levels) +} + +func newGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertableNotifier { flags := c.PersistentFlags() + url := getGotifyURL(flags) + token := getGotifyToken(flags) + + skipVerify, _ := flags.GetBool("notification-gotify-tls-skip-verify") + + n := &gotifyTypeNotifier{ + gotifyURL: url, + gotifyAppToken: token, + gotifyInsecureSkipVerify: skipVerify, + logLevels: levels, + } + + return n +} + +func getGotifyToken(flags *pflag.FlagSet) string { + gotifyToken, _ := flags.GetString("notification-gotify-token") + if len(gotifyToken) < 1 { + log.Fatal("Required argument --notification-gotify-token(cli) or WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN(env) is empty.") + } + return gotifyToken +} + +func getGotifyURL(flags *pflag.FlagSet) string { gotifyURL, _ := flags.GetString("notification-gotify-url") + if len(gotifyURL) < 1 { log.Fatal("Required argument --notification-gotify-url(cli) or WATCHTOWER_NOTIFICATION_GOTIFY_URL(env) is empty.") } else if !(strings.HasPrefix(gotifyURL, "http://") || strings.HasPrefix(gotifyURL, "https://")) { @@ -36,82 +63,29 @@ func newGotifyNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifi log.Warn("Using an HTTP url for Gotify is insecure") } - gotifyToken, _ := flags.GetString("notification-gotify-token") - if len(gotifyToken) < 1 { - log.Fatal("Required argument --notification-gotify-token(cli) or WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN(env) is empty.") - } - - gotifyInsecureSkipVerify, _ := flags.GetBool("notification-gotify-tls-skip-verify") - - n := &gotifyTypeNotifier{ - gotifyURL: gotifyURL, - gotifyAppToken: gotifyToken, - gotifyInsecureSkipVerify: gotifyInsecureSkipVerify, - logLevels: acceptedLogLevels, - } - - log.AddHook(n) - - return n + return gotifyURL } -func (n *gotifyTypeNotifier) StartNotification() {} - -func (n *gotifyTypeNotifier) SendNotification() {} - -func (n *gotifyTypeNotifier) Close() {} - -func (n *gotifyTypeNotifier) Levels() []log.Level { - return n.logLevels -} - -func (n *gotifyTypeNotifier) getURL() string { +func (n *gotifyTypeNotifier) GetURL() string { url := n.gotifyURL - if !strings.HasSuffix(url, "/") { - url += "/" + + if strings.HasPrefix(url, "https://") { + url = strings.TrimPrefix(url, "https://") + } else { + url = strings.TrimPrefix(url, "http://") } - return url + "message?token=" + n.gotifyAppToken + + url = strings.TrimSuffix(url, "/") + + config := &shoutrrrGotify.Config{ + Host: url, + Token: n.gotifyAppToken, + } + + return config.GetURL().String() } -func (n *gotifyTypeNotifier) Fire(entry *log.Entry) error { - - go func() { - jsonBody, err := json.Marshal(gotifyMessage{ - Message: "(" + entry.Level.String() + "): " + entry.Message, - Title: "Watchtower", - Priority: 0, - }) - if err != nil { - fmt.Println("Failed to create JSON body for Gotify notification: ", err) - return - } - - // Explicitly define the client so we can set InsecureSkipVerify to the desired value. - client := &http.Client{ - Transport: &http.Transport{ - TLSClientConfig: &tls.Config{ - InsecureSkipVerify: n.gotifyInsecureSkipVerify, - }, - }, - } - jsonBodyBuffer := bytes.NewBuffer([]byte(jsonBody)) - resp, err := client.Post(n.getURL(), "application/json", jsonBodyBuffer) - if err != nil { - fmt.Println("Failed to send Gotify notification: ", err) - return - } - defer resp.Body.Close() - - if resp.StatusCode < 200 || resp.StatusCode >= 300 { - fmt.Printf("Gotify notification returned %d HTTP status code", resp.StatusCode) - } - - }() - return nil -} - -type gotifyMessage struct { - Message string `json:"message"` - Title string `json:"title"` - Priority int `json:"priority"` -} +func (n *gotifyTypeNotifier) StartNotification() {} +func (n *gotifyTypeNotifier) SendNotification() {} +func (n *gotifyTypeNotifier) Close() {} +func (n *gotifyTypeNotifier) Levels() []log.Level { return nil } diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index ab33966..0c99072 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -1,15 +1,12 @@ package notifications import ( - "bytes" - "encoding/json" - "fmt" - "github.com/spf13/cobra" - "net/http" + "strings" + shoutrrrTeams "github.com/containrrr/shoutrrr/pkg/services/teams" t "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" - "io/ioutil" + "github.com/spf13/cobra" ) const ( @@ -22,7 +19,12 @@ type msTeamsTypeNotifier struct { data bool } -func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { +// NewMsTeamsNotifier is a factory method creating a new teams notifier instance +func NewMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { + return newMsTeamsNotifier(cmd, acceptedLogLevels) +} + +func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { flags := cmd.PersistentFlags() @@ -38,103 +40,29 @@ func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Not data: withData, } - log.AddHook(n) - return n } -func (n *msTeamsTypeNotifier) StartNotification() {} +func (n *msTeamsTypeNotifier) GetURL() string { -func (n *msTeamsTypeNotifier) SendNotification() {} + baseURL := "https://outlook.office.com/webhook/" -func (n *msTeamsTypeNotifier) Close() {} + path := strings.Replace(n.webHookURL, baseURL, "", 1) + rawToken := strings.Replace(path, "/IncomingWebhook", "", 1) + token := strings.Split(rawToken, "/") + config := &shoutrrrTeams.Config{ + Token: shoutrrrTeams.Token{ + A: token[0], + B: token[1], + C: token[2], + }, + } -func (n *msTeamsTypeNotifier) Levels() []log.Level { - return n.levels + return config.GetURL().String() } -func (n *msTeamsTypeNotifier) Fire(entry *log.Entry) error { - - message := "(" + entry.Level.String() + "): " + entry.Message - - go func() { - webHookBody := messageCard{ - CardType: "MessageCard", - Context: "http://schema.org/extensions", - Markdown: true, - Text: message, - } - - if n.data && entry.Data != nil && len(entry.Data) > 0 { - section := messageCardSection{ - Facts: make([]messageCardSectionFact, len(entry.Data)), - Text: "", - } - - index := 0 - for k, v := range entry.Data { - section.Facts[index] = messageCardSectionFact{ - Name: k, - Value: fmt.Sprint(v), - } - index++ - } - - webHookBody.Sections = []messageCardSection{section} - } - - jsonBody, err := json.Marshal(webHookBody) - if err != nil { - fmt.Println("Failed to build JSON body for MSTeams notificattion: ", err) - return - } - - resp, err := http.Post(n.webHookURL, "application/json", bytes.NewBuffer([]byte(jsonBody))) - if err != nil { - fmt.Println("Failed to send MSTeams notificattion: ", err) - } - - defer resp.Body.Close() - - if resp.StatusCode < 200 || resp.StatusCode > 299 { - fmt.Println("Failed to send MSTeams notificattion. HTTP RESPONSE STATUS: ", resp.StatusCode) - if resp.Body != nil { - bodyBytes, err := ioutil.ReadAll(resp.Body) - if err == nil { - bodyString := string(bodyBytes) - fmt.Println(bodyString) - } - } - } - }() - - return nil -} - -type messageCard struct { - CardType string `json:"@type"` - Context string `json:"@context"` - CorrelationID string `json:"correlationId,omitempty"` - ThemeColor string `json:"themeColor,omitempty"` - Summary string `json:"summary,omitempty"` - Title string `json:"title,omitempty"` - Text string `json:"text,omitempty"` - Markdown bool `json:"markdown,bool"` - Sections []messageCardSection `json:"sections,omitempty"` -} - -type messageCardSection struct { - Title string `json:"title,omitempty"` - Text string `json:"text,omitempty"` - ActivityTitle string `json:"activityTitle,omitempty"` - ActivitySubtitle string `json:"activitySubtitle,omitempty"` - ActivityImage string `json:"activityImage,omitempty"` - ActivityText string `json:"activityText,omitempty"` - HeroImage string `json:"heroImage,omitempty"` - Facts []messageCardSectionFact `json:"facts,omitempty"` -} - -type messageCardSectionFact struct { - Name string `json:"name,omitempty"` - Value string `json:"value,omitempty"` -} +func (n *msTeamsTypeNotifier) StartNotification() {} +func (n *msTeamsTypeNotifier) SendNotification() {} +func (n *msTeamsTypeNotifier) Close() {} +func (n *msTeamsTypeNotifier) Levels() []log.Level { return nil } +func (n *msTeamsTypeNotifier) Fire(entry *log.Entry) error { return nil } diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index dedb21a..dea0fc8 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -31,26 +31,48 @@ func NewNotifier(c *cobra.Command) *Notifier { if err != nil { log.WithField("could not read notifications argument", log.Fields{"Error": err}).Fatal() } + + n.types = n.GetNotificationTypes(c, acceptedLogLevels, types) + + return n +} + +// GetNotificationTypes produces an array of notifiers from a list of types +func (n *Notifier) GetNotificationTypes(cmd *cobra.Command, levels []log.Level, types []string) []ty.Notifier { + output := make([]ty.Notifier, 0) + for _, t := range types { - var tn ty.Notifier + + if t == shoutrrrType { + output = append(output, newShoutrrrNotifier(cmd, levels)) + continue + } + + var legacyNotifier ty.ConvertableNotifier + switch t { case emailType: - tn = newEmailNotifier(c, acceptedLogLevels) + legacyNotifier = newEmailNotifier(cmd, []log.Level{}) case slackType: - tn = newSlackNotifier(c, acceptedLogLevels) + legacyNotifier = newSlackNotifier(cmd, []log.Level{}) case msTeamsType: - tn = newMsTeamsNotifier(c, acceptedLogLevels) + legacyNotifier = newMsTeamsNotifier(cmd, levels) case gotifyType: - tn = newGotifyNotifier(c, acceptedLogLevels) - case shoutrrrType: - tn = newShoutrrrNotifier(c, acceptedLogLevels) + legacyNotifier = newGotifyNotifier(cmd, []log.Level{}) default: log.Fatalf("Unknown notification type %q", t) } - n.types = append(n.types, tn) + + notifier := newShoutrrrNotifierFromURL( + cmd, + legacyNotifier.GetURL(), + levels, + ) + + output = append(output, notifier) } - return n + return output } // StartNotification starts a log batch. Notifications will be accumulated after this point and only sent when SendNotification() is called. diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go new file mode 100644 index 0000000..6440bbc --- /dev/null +++ b/pkg/notifications/notifier_test.go @@ -0,0 +1,163 @@ +package notifications_test + +import ( + "fmt" + "os" + "testing" + + "github.com/containrrr/watchtower/cmd" + "github.com/containrrr/watchtower/internal/flags" + "github.com/containrrr/watchtower/pkg/notifications" + "github.com/containrrr/watchtower/pkg/types" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + log "github.com/sirupsen/logrus" + "github.com/spf13/cobra" +) + +func TestActions(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Notifier Suite") +} + +var _ = Describe("notifications", func() { + // TODO: Either, we delete this test or we need to pass it valid URLs in the cobra command. + // --- + // When("getting notifiers from a types array", func() { + // It("should return the same amount of notifiers a string entries", func() { + + // notifier := ¬ifications.Notifier{} + // notifiers := notifier.GetNotificationTypes(&cobra.Command{}, []log.Level{}, []string{"slack", "email"}) + // Expect(len(notifiers)).To(Equal(2)) + // }) + // }) + Describe("the slack notifier", func() { + When("converting a slack service config into a shoutrrr url", func() { + builderFn := notifications.NewSlackNotifier + + It("should return the expected URL", func() { + + username := "containrrrbot" + tokenA := "aaa" + tokenB := "bbb" + tokenC := "ccc" + + password := fmt.Sprintf("%s-%s-%s", tokenA, tokenB, tokenC) + hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) + expectedOutput := fmt.Sprintf("slack://%s:%s@%s/%s/%s", username, password, tokenA, tokenB, tokenC) + + args := []string{ + "--notification-slack-hook-url", + hookURL, + "--notification-slack-identifier", + username, + } + + testURL(builderFn, args, expectedOutput) + }) + }) + }) + + Describe("the gotify notifier", func() { + When("converting a gotify service config into a shoutrrr url", func() { + builderFn := notifications.NewGotifyNotifier + + It("should return the expected URL", func() { + token := "aaa" + host := "shoutrrr.local" + + expectedOutput := fmt.Sprintf("gotify://%s/%s", host, token) + + args := []string{ + "--notification-gotify-url", + fmt.Sprintf("https://%s", host), + "--notification-gotify-token", + token, + } + + testURL(builderFn, args, expectedOutput) + }) + }) + }) + + Describe("the teams notifier", func() { + When("converting a teams service config into a shoutrrr url", func() { + builderFn := notifications.NewMsTeamsNotifier + + It("should return the expected URL", func() { + + tokenA := "aaa" + tokenB := "bbb" + tokenC := "ccc" + + hookURL := fmt.Sprintf("https://outlook.office.com/webhook/%s/IncomingWebhook/%s/%s", tokenA, tokenB, tokenC) + expectedOutput := fmt.Sprintf("teams://%s:%s@%s", tokenA, tokenB, tokenC) + + args := []string{ + "--notification-msteams-hook", + hookURL, + } + + testURL(builderFn, args, expectedOutput) + }) + }) + }) + + Describe("the email notifier", func() { + + builderFn := notifications.NewEmailNotifier + + When("converting an email service config into a shoutrrr url", func() { + It("should set the from address in the URL", func() { + fromAddress := "lala@example.com" + expectedOutput := buildExpectedURL("", "", "", 25, fromAddress, "", "None") + args := []string{ + "--notification-email-from", + fromAddress, + } + testURL(builderFn, args, expectedOutput) + }) + + It("should return the expected URL", func() { + + fromAddress := "sender@example.com" + toAddress := "receiver@example.com" + expectedOutput := buildExpectedURL("", "", "", 25, fromAddress, toAddress, "None") + + args := []string{ + "--notification-email-from", + fromAddress, + "--notification-email-to", + toAddress, + } + + testURL(builderFn, args, expectedOutput) + }) + }) + }) +}) + +func buildExpectedURL(username string, password string, host string, port int, from string, to string, auth string) string { + hostname, err := os.Hostname() + Expect(err).NotTo(HaveOccurred()) + + subject := fmt.Sprintf("Watchtower updates on %s", hostname) + + var template = "smtp://%s:%s@%s:%d/?fromAddress=%s&fromName=Watchtower&toAddresses=%s&auth=%s&subject=%s&startTls=Yes&useHTML=No" + return fmt.Sprintf(template, username, password, host, port, from, to, auth, subject) +} + +type builderFn = func(c *cobra.Command, acceptedLogLevels []log.Level) types.ConvertableNotifier + +func testURL(builder builderFn, args []string, expectedURL string) { + + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + command.ParseFlags(args) + + notifier := builder(command, []log.Level{}) + actualURL := notifier.GetURL() + + Expect(actualURL).To(Equal(expectedURL)) +} diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index d16808d..2715711 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -35,8 +35,17 @@ type shoutrrrTypeNotifier struct { func newShoutrrrNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { flags := c.PersistentFlags() - urls, _ := flags.GetStringArray("notification-url") + template := getShoutrrrTemplate(c) + return createSender(urls, acceptedLogLevels, template) +} + +func newShoutrrrNotifierFromURL(c *cobra.Command, url string, levels []log.Level) t.Notifier { + template := getShoutrrrTemplate(c) + return createSender([]string{url}, levels, template) +} + +func createSender(urls []string, levels []log.Level, template *template.Template) t.Notifier { r, err := shoutrrr.CreateSender(urls...) if err != nil { log.Fatalf("Failed to initialize Shoutrrr notifications: %s\n", err.Error()) @@ -45,10 +54,10 @@ func newShoutrrrNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Noti n := &shoutrrrTypeNotifier{ Urls: urls, Router: r, - logLevels: acceptedLogLevels, - template: getShoutrrrTemplate(c), messages: make(chan string, 1), done: make(chan bool), + logLevels: levels, + template: template, } log.AddHook(n) diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index 5f96390..f8cbd45 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -1,6 +1,9 @@ package notifications import ( + "strings" + + shoutrrrSlack "github.com/containrrr/shoutrrr/pkg/services/slack" t "github.com/containrrr/watchtower/pkg/types" "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" @@ -15,7 +18,12 @@ type slackTypeNotifier struct { slackrus.SlackrusHook } -func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { +// NewSlackNotifier is a factory function used to generate new instance of the slack notifier type +func NewSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { + return newSlackNotifier(c, acceptedLogLevels) +} + +func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { flags := c.PersistentFlags() hookURL, _ := flags.GetString("notification-slack-hook-url") @@ -23,7 +31,6 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifie channel, _ := flags.GetString("notification-slack-channel") emoji, _ := flags.GetString("notification-slack-icon-emoji") iconURL, _ := flags.GetString("notification-slack-icon-url") - n := &slackTypeNotifier{ SlackrusHook: slackrus.SlackrusHook{ HookURL: hookURL, @@ -34,12 +41,27 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifie AcceptedLevels: acceptedLogLevels, }, } - - log.AddHook(n) return n } -func (s *slackTypeNotifier) StartNotification() {} +func (s *slackTypeNotifier) GetURL() string { + rawTokens := strings.Replace(s.HookURL, "https://hooks.slack.com/services/", "", 1) + tokens := strings.Split(rawTokens, "/") + + conf := &shoutrrrSlack.Config{ + BotName: s.Username, + Token: shoutrrrSlack.Token{ + A: tokens[0], + B: tokens[1], + C: tokens[2], + }, + } + + return conf.GetURL().String() +} + +func (s *slackTypeNotifier) StartNotification() { +} func (s *slackTypeNotifier) SendNotification() {} diff --git a/pkg/types/convertable_notifier.go b/pkg/types/convertable_notifier.go new file mode 100644 index 0000000..3d7ac82 --- /dev/null +++ b/pkg/types/convertable_notifier.go @@ -0,0 +1,7 @@ +package types + +// ConvertableNotifier is a notifier capable of creating a shoutrrr URL +type ConvertableNotifier interface { + Notifier + GetURL() string +} From d7d5b2588277f0e07895a63c12a2117262bdf9fc Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Wed, 6 Jan 2021 22:28:32 +0100 Subject: [PATCH 027/389] Prometheus support (#450) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén Co-authored-by: MihailITPlace Co-authored-by: Sebastiaan Tammer --- cmd/root.go | 39 +++- docker-compose.yml | 43 ++++ docs/arguments.md | 16 +- docs/assets/grafana-dashboard.png | Bin 0 -> 32994 bytes docs/metrics.md | 26 +++ docs/notifications.md | 21 +- go.mod | 1 + grafana/dashboards/dashboard.json | 293 +++++++++++++++++++++++++ grafana/dashboards/dashboard.yml | 11 + grafana/datasources/datasource.yml | 8 + internal/actions/actions_suite_test.go | 3 +- internal/actions/update.go | 81 +++++-- internal/actions/update_test.go | 10 +- internal/flags/flags.go | 9 +- mkdocs.yml | 1 + pkg/api/api.go | 105 +++++---- pkg/api/metrics/metrics.go | 27 +++ pkg/api/metrics/metrics_test.go | 77 +++++++ pkg/api/update/update.go | 50 +++++ pkg/metrics/metrics.go | 91 ++++++++ pkg/notifications/gotify.go | 2 +- pkg/notifications/msteams.go | 2 +- prometheus/prometheus.yml | 9 + 23 files changed, 819 insertions(+), 106 deletions(-) create mode 100644 docker-compose.yml create mode 100644 docs/assets/grafana-dashboard.png create mode 100644 docs/metrics.md create mode 100644 grafana/dashboards/dashboard.json create mode 100644 grafana/dashboards/dashboard.yml create mode 100644 grafana/datasources/datasource.yml create mode 100644 pkg/api/metrics/metrics.go create mode 100644 pkg/api/metrics/metrics_test.go create mode 100644 pkg/api/update/update.go create mode 100644 pkg/metrics/metrics.go create mode 100644 prometheus/prometheus.yml diff --git a/cmd/root.go b/cmd/root.go index 4308dd1..0aeeac6 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,12 +1,16 @@ package cmd import ( + metrics2 "github.com/containrrr/watchtower/pkg/metrics" "os" "os/signal" "strconv" "syscall" "time" + "github.com/containrrr/watchtower/pkg/api/metrics" + "github.com/containrrr/watchtower/pkg/api/update" + "github.com/containrrr/watchtower/internal/actions" "github.com/containrrr/watchtower/internal/flags" "github.com/containrrr/watchtower/pkg/api" @@ -144,7 +148,10 @@ func PreRun(cmd *cobra.Command, args []string) { func Run(c *cobra.Command, names []string) { filter := filters.BuildFilter(names, enableLabel, scope) runOnce, _ := c.PersistentFlags().GetBool("run-once") - httpAPI, _ := c.PersistentFlags().GetBool("http-api") + enableUpdateAPI, _ := c.PersistentFlags().GetBool("http-api-update") + enableMetricsAPI, _ := c.PersistentFlags().GetBool("http-api-metrics") + + apiToken, _ := c.PersistentFlags().GetString("http-api-token") if runOnce { if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { @@ -160,17 +167,20 @@ func Run(c *cobra.Command, names []string) { log.Fatal(err) } - if httpAPI { - apiToken, _ := c.PersistentFlags().GetString("http-api-token") + httpAPI := api.New(apiToken) - if err := api.SetupHTTPUpdates(apiToken, func() { runUpdatesWithNotifications(filter) }); err != nil { - log.Fatal(err) - os.Exit(1) - } - - api.WaitForHTTPUpdates() + if enableUpdateAPI { + updateHandler := update.New(func() { runUpdatesWithNotifications(filter) }) + httpAPI.RegisterFunc(updateHandler.Path, updateHandler.Handle) } + if enableMetricsAPI { + metricsHandler := metrics.New() + httpAPI.RegisterHandler(metricsHandler.Path, metricsHandler.Handle) + } + + httpAPI.Start(enableUpdateAPI) + if err := runUpgradesOnSchedule(c, filter); err != nil { log.Error(err) } @@ -189,8 +199,11 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { select { case v := <-tryLockSem: defer func() { tryLockSem <- v }() - runUpdatesWithNotifications(filter) + metric := runUpdatesWithNotifications(filter) + metrics2.RegisterScan(metric) default: + // Update was skipped + metrics2.RegisterScan(nil) log.Debug("Skipped another update already running.") } @@ -222,7 +235,8 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { return nil } -func runUpdatesWithNotifications(filter t.Filter) { +func runUpdatesWithNotifications(filter t.Filter) *metrics2.Metric { + notifier.StartNotification() updateParams := t.UpdateParams{ Filter: filter, @@ -233,9 +247,10 @@ func runUpdatesWithNotifications(filter t.Filter) { LifecycleHooks: lifecycleHooks, RollingRestart: rollingRestart, } - err := actions.Update(client, updateParams) + metrics, err := actions.Update(client, updateParams) if err != nil { log.Println(err) } notifier.SendNotification() + return metrics } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b0a3373 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,43 @@ +version: '3.7' + +services: + watchtower: + container_name: watchtower + build: + context: ./ + dockerfile: dockerfiles/Dockerfile.dev-self-contained + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + ports: + - 8080:8080 + command: --interval 10 --http-api-metrics --http-api-token demotoken --debug prometheus grafana parent child + prometheus: + container_name: prometheus + image: prom/prometheus + volumes: + - ./prometheus/:/etc/prometheus/ + - prometheus:/prometheus/ + ports: + - 9090:9090 + grafana: + container_name: grafana + image: grafana/grafana + ports: + - 3000:3000 + environment: + GF_INSTALL_PLUGINS: grafana-clock-panel,grafana-simple-json-datasource + volumes: + - grafana:/var/lib/grafana + - ./grafana:/etc/grafana/provisioning + parent: + image: nginx + container_name: parent + child: + image: nginx:alpine + labels: + com.centurylinklabs.watchtower.depends-on: parent + container_name: child + +volumes: + prometheus: {} + grafana: {} diff --git a/docs/arguments.md b/docs/arguments.md index a36c438..4fb56c6 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -164,7 +164,7 @@ Environment Variable: WATCHTOWER_LABEL_ENABLE ## Without updating containers Will only monitor for new images, send notifications and invoke the [pre-check/post-check hooks](https://containrrr.dev/watchtower/lifecycle-hooks/), but will **not** update the containers. -> ### ⚠️ Please note +> **⚠️ Please note** > > Due to Docker API limitations the latest image will still be pulled from the registry. @@ -238,9 +238,7 @@ Sets an authentication token to HTTP API requests. Environment Variable: WATCHTOWER_HTTP_API_TOKEN Type: String Default: - -``` - -## Filter by scope +```## Filter by scope Update containers that have a `com.centurylinklabs.watchtower.scope` label set with the same value as the given argument. This enables [running multiple instances](https://containrrr.github.io/watchtower/running-multiple-instances). ``` @@ -250,6 +248,16 @@ Environment Variable: WATCHTOWER_SCOPE Default: - ``` +## HTTP API Metrics +Enables a metrics endpoint, exposing prometheus metrics via HTTP. See [Metrics](metrics.md) for details. + +``` + Argument: --http-api-metrics +Environment Variable: WATCHTOWER_HTTP_API_METRICS + Type: Boolean + Default: false +``` + ## Scheduling [Cron expression](https://pkg.go.dev/github.com/robfig/cron@v1.2.0?tab=doc#hdr-CRON_Expression_Format) in 6 fields (rather than the traditional 5) which defines when and how often to check for new images. Either `--interval` or the schedule expression can be defined, but not both. An example: `--schedule "0 0 4 * * *"` diff --git a/docs/assets/grafana-dashboard.png b/docs/assets/grafana-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..faab4229cafa6bbf67e82f994fac5a6b012ddd6c GIT binary patch literal 32994 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 **⚠️ Experimental feature** +> +> This feature was added in v1.0.4 and is still considered experimental. +> If you notice any strange behavior, please raise a ticket in the repository issues. + +Metrics can be used to track how Watchtower behaves over time. + +To use this feature, you have to set an [API token](arguments.md#http-api-token) and [enable the metrics API](arguments.md#http-api-metrics), +as well as creating a port mapping for your container for port `8080`. + +## Available Metrics + +| Name | Type | Description | +| ------------------------------- | ------- | --------------------------------------------------------------------------- | +| `watchtower_containers_scanned` | Gauge | Number of containers scanned for changes by watchtower during the last scan | +| `watchtower_containers_updated` | Gauge | Number of containers updated by watchtower during the last scan | +| `watchtower_containers_failed` | Gauge | Number of containers where update failed during the last scan | +| `watchtower_scans_total` | Counter | Number of scans since the watchtower started | +| `watchtower_scans_skipped` | Counter | Number of skipped scans since watchtower started | + +## Demo + +The repository contains a demo with prometheus and grafana, available through `docker-compose.yml`. This demo +is preconfigured with a dashboard, which will look something like this: + +![grafana metrics](assets/grafana-dashboard.png) \ No newline at end of file diff --git a/docs/notifications.md b/docs/notifications.md index afa23bd..57603cb 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -1,4 +1,3 @@ - # Notifications Watchtower can send notifications when containers are updated. Notifications are sent via hooks in the logging system, [logrus](http://github.com/sirupsen/logrus). @@ -12,14 +11,14 @@ The types of notifications to send are set by passing a comma-separated list of > There is currently a [bug](https://github.com/spf13/viper/issues/380) in Viper, which prevents comma-separated slices to be used when using the environment variable. A workaround is available where we instead put quotes around the environment variable value and replace the commas with spaces, as `WATCHTOWER_NOTIFICATIONS="slack msteams"` -> If you're a `docker-compose` user, make sure to specify environment variables' values in your `.yml` file without double quotes (`"`). +> If you're a `docker-compose` user, make sure to specify environment variables' values in your `.yml` file without double quotes (`"`). > > This prevents unexpected errors when watchtower starts. ## Settings - `--notifications-level` (env. `WATCHTOWER_NOTIFICATIONS_LEVEL`): Controls the log level which is used for the notifications. If omitted, the default log level is `info`. Possible values are: `panic`, `fatal`, `error`, `warn`, `info`, `debug` or `trace`. -- Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. +- Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. ## Available services @@ -47,7 +46,7 @@ docker run -d \ -e WATCHTOWER_NOTIFICATION_EMAIL_FROM=fromaddress@gmail.com \ -e WATCHTOWER_NOTIFICATION_EMAIL_TO=toaddress@gmail.com \ -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.gmail.com \ - -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 \ + -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 \ -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=fromaddress@gmail.com \ -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=app_password \ -e WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2 \ @@ -56,19 +55,19 @@ docker run -d \ The previous example assumes, that you already have an SMTP server up and running you can connect to. If you don't or you want to bring up watchtower with your own simple SMTP relay the following `docker-compose.yml` might be a good start for you. -The following example assumes, that your domain is called `your-domain.com` and that you are going to use a certificate valid for `smtp.your-domain.com`. This hostname has to be used as `WATCHTOWER_NOTIFICATION_EMAIL_SERVER` otherwise the TLS connection is going to fail with `Failed to send notification email` or `connect: connection refused`. We also have to add a network for this setup in order to add an alias to it. If you also want to enable DKIM or other features on the SMTP server, you will find more information at [freinet/postfix-relay](https://hub.docker.com/r/freinet/postfix-relay). +The following example assumes, that your domain is called `your-domain.com` and that you are going to use a certificate valid for `smtp.your-domain.com`. This hostname has to be used as `WATCHTOWER_NOTIFICATION_EMAIL_SERVER` otherwise the TLS connection is going to fail with `Failed to send notification email` or `connect: connection refused`. We also have to add a network for this setup in order to add an alias to it. If you also want to enable DKIM or other features on the SMTP server, you will find more information at [freinet/postfix-relay](https://hub.docker.com/r/freinet/postfix-relay). Example including an SMTP relay: ```yaml --- -version: "3.8" +version: '3.8' services: watchtower: image: containrrr/watchtower:latest container_name: watchtower environment: - WATCHTOWER_MONITOR_ONLY: "true" + WATCHTOWER_MONITOR_ONLY: 'true' WATCHTOWER_NOTIFICATIONS: email WATCHTOWER_NOTIFICATION_EMAIL_FROM: from-address@your-domain.com WATCHTOWER_NOTIFICATION_EMAIL_TO: to-address@your-domain.com @@ -90,9 +89,9 @@ services: - 25 environment: MAILNAME: somename.your-domain.com - TLS_KEY: "/etc/ssl/domains/your-domain.com/your-domain.com.key" - TLS_CRT: "/etc/ssl/domains/your-domain.com/your-domain.com.crt" - TLS_CA: "/etc/ssl/domains/your-domain.com/intermediate.crt" + TLS_KEY: '/etc/ssl/domains/your-domain.com/your-domain.com.key' + TLS_CRT: '/etc/ssl/domains/your-domain.com/your-domain.com.crt' + TLS_CA: '/etc/ssl/domains/your-domain.com/intermediate.crt' volumes: - /etc/ssl/domains/your-domain.com/:/etc/ssl/domains/your-domain.com/:ro networks: @@ -172,7 +171,7 @@ docker run -d \ `-e WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN` or `--notification-gotify-token` can also reference a file, in which case the contents of the file are used. -If you want to disable TLS verification for the Gotify instance, you can use either `-e WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY=true` or `--notification-gotify-tls-skip-verify`. +If you want to disable TLS verification for the Gotify instance, you can use either `-e WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY=true` or `--notification-gotify-tls-skip-verify`. ### [containrrr/shoutrrr](https://github.com/containrrr/shoutrrr) diff --git a/go.mod b/go.mod index 0e37602..02d1253 100644 --- a/go.mod +++ b/go.mod @@ -46,6 +46,7 @@ require ( github.com/opencontainers/image-spec v1.0.1 // indirect github.com/opencontainers/runc v0.1.1 // indirect github.com/pkg/errors v0.8.1 // indirect + github.com/prometheus/client_golang v0.9.3 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.4.1 github.com/spf13/cobra v0.0.3 diff --git a/grafana/dashboards/dashboard.json b/grafana/dashboards/dashboard.json new file mode 100644 index 0000000..998485b --- /dev/null +++ b/grafana/dashboards/dashboard.json @@ -0,0 +1,293 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 1, + "links": [], + "panels": [ + { + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 1, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "7.3.6", + "targets": [ + { + "expr": "watchtower_scans_total", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Total Scans", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "watchtower_containers_scanned{instance=\"watchtower:8080\", job=\"watchtower\"}" + }, + "properties": [ + { + "id": "displayName", + "value": "Scanned" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "watchtower_containers_failed{instance=\"watchtower:8080\", job=\"watchtower\"}" + }, + "properties": [ + { + "id": "displayName", + "value": "Faled" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "watchtower_containers_updated{instance=\"watchtower:8080\", job=\"watchtower\"}" + }, + "properties": [ + { + "id": "displayName", + "value": "Updated" + } + ] + } + ] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 6, + "x": 1, + "y": 0 + }, + "hiddenSeries": false, + "id": 5, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null as zero", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.6", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "watchtower_containers_scanned", + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "expr": "watchtower_containers_failed", + "interval": "", + "legendFormat": "", + "refId": "B" + }, + { + "expr": "watchtower_containers_updated", + "interval": "", + "legendFormat": "", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container Updates", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 1, + "x": 0, + "y": 4 + }, + "id": 3, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "pluginVersion": "7.3.6", + "targets": [ + { + "expr": "watchtower_scans_skipped", + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Skipped Scans", + "type": "stat" + } + ], + "refresh": false, + "schemaVersion": 26, + "style": "dark", + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Watchtower", + "uid": "d7bdoT-Gz", + "version": 1 +} \ No newline at end of file diff --git a/grafana/dashboards/dashboard.yml b/grafana/dashboards/dashboard.yml new file mode 100644 index 0000000..9f7232c --- /dev/null +++ b/grafana/dashboards/dashboard.yml @@ -0,0 +1,11 @@ +apiVersion: 1 + +providers: + - name: 'Prometheus' + orgId: 1 + folder: '' + type: file + disableDeletion: false + editable: true + options: + path: /etc/grafana/provisioning/dashboards \ No newline at end of file diff --git a/grafana/datasources/datasource.yml b/grafana/datasources/datasource.yml new file mode 100644 index 0000000..8049912 --- /dev/null +++ b/grafana/datasources/datasource.yml @@ -0,0 +1,8 @@ +apiVersion: 1 + +datasources: + - name: Prometheus + type: prometheus + access: proxy + url: http://prometheus:9090 + isDefault: true \ No newline at end of file diff --git a/internal/actions/actions_suite_test.go b/internal/actions/actions_suite_test.go index 7cbd71b..ffa6e2a 100644 --- a/internal/actions/actions_suite_test.go +++ b/internal/actions/actions_suite_test.go @@ -1,10 +1,11 @@ package actions_test import ( - "github.com/containrrr/watchtower/internal/actions" "testing" "time" + "github.com/containrrr/watchtower/internal/actions" + "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/container/mocks" diff --git a/internal/actions/update.go b/internal/actions/update.go index e37e671..9320d6a 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -5,6 +5,7 @@ import ( "github.com/containrrr/watchtower/internal/util" "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/lifecycle" + metrics2 "github.com/containrrr/watchtower/pkg/metrics" "github.com/containrrr/watchtower/pkg/sorter" "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" @@ -14,8 +15,10 @@ import ( // used to start those containers have been updated. If a change is detected in // any of the images, the associated containers are stopped and restarted with // the new image. -func Update(client container.Client, params types.UpdateParams) error { +func Update(client container.Client, params types.UpdateParams) (*metrics2.Metric, error) { log.Debug("Checking containers for updated images") + metric := &metrics2.Metric{} + staleCount := 0 if params.LifecycleHooks { lifecycle.ExecutePreChecks(client, params) @@ -23,9 +26,11 @@ func Update(client container.Client, params types.UpdateParams) error { containers, err := client.ListContainers(params.Filter) if err != nil { - return err + return nil, err } + staleCheckFailed := 0 + for i, targetContainer := range containers { stale, err := client.IsContainerStale(targetContainer) if stale && !params.NoRestart && !params.MonitorOnly && !targetContainer.IsMonitorOnly() && !targetContainer.HasImageInfo() { @@ -34,13 +39,20 @@ func Update(client container.Client, params types.UpdateParams) error { if err != nil { log.Infof("Unable to update container %q: %v. Proceeding to next.", containers[i].Name(), err) stale = false + staleCheckFailed++ + metric.Failed++ } containers[i].Stale = stale + + if stale { + staleCount++ + } } containers, err = sorter.SortByDependencies(containers) + metric.Scanned = len(containers) if err != nil { - return err + return nil, err } checkDependencies(containers) @@ -55,24 +67,32 @@ func Update(client container.Client, params types.UpdateParams) error { } if params.RollingRestart { - performRollingRestart(containersToUpdate, client, params) + metric.Failed += performRollingRestart(containersToUpdate, client, params) } else { - stopContainersInReversedOrder(containersToUpdate, client, params) - restartContainersInSortedOrder(containersToUpdate, client, params) + metric.Failed += stopContainersInReversedOrder(containersToUpdate, client, params) + metric.Failed += restartContainersInSortedOrder(containersToUpdate, client, params) } + + metric.Updated = staleCount - (metric.Failed - staleCheckFailed) + if params.LifecycleHooks { lifecycle.ExecutePostChecks(client, params) } - return nil + return metric, nil } -func performRollingRestart(containers []container.Container, client container.Client, params types.UpdateParams) { +func performRollingRestart(containers []container.Container, client container.Client, params types.UpdateParams) int { cleanupImageIDs := make(map[string]bool) + failed := 0 for i := len(containers) - 1; i >= 0; i-- { if containers[i].Stale { - stopStaleContainer(containers[i], client, params) - restartStaleContainer(containers[i], client, params) + if err := stopStaleContainer(containers[i], client, params); err != nil { + failed++ + } + if err := restartStaleContainer(containers[i], client, params); err != nil { + failed++ + } cleanupImageIDs[containers[i].ImageID()] = true } } @@ -80,50 +100,63 @@ func performRollingRestart(containers []container.Container, client container.Cl if params.Cleanup { cleanupImages(client, cleanupImageIDs) } + return failed } -func stopContainersInReversedOrder(containers []container.Container, client container.Client, params types.UpdateParams) { +func stopContainersInReversedOrder(containers []container.Container, client container.Client, params types.UpdateParams) int { + failed := 0 for i := len(containers) - 1; i >= 0; i-- { - stopStaleContainer(containers[i], client, params) + if err := stopStaleContainer(containers[i], client, params); err != nil { + failed++ + } } + return failed } -func stopStaleContainer(container container.Container, client container.Client, params types.UpdateParams) { +func stopStaleContainer(container container.Container, client container.Client, params types.UpdateParams) error { if container.IsWatchtower() { log.Debugf("This is the watchtower container %s", container.Name()) - return + return nil } if !container.Stale { - return + return nil } if params.LifecycleHooks { if err := lifecycle.ExecutePreUpdateCommand(client, container); err != nil { log.Error(err) log.Info("Skipping container as the pre-update command failed") - return + return err } } if err := client.StopContainer(container, params.Timeout); err != nil { log.Error(err) + return err } + return nil } -func restartContainersInSortedOrder(containers []container.Container, client container.Client, params types.UpdateParams) { +func restartContainersInSortedOrder(containers []container.Container, client container.Client, params types.UpdateParams) int { imageIDs := make(map[string]bool) - for _, staleContainer := range containers { - if !staleContainer.Stale { + failed := 0 + + for _, c := range containers { + if !c.Stale { continue } - restartStaleContainer(staleContainer, client, params) - imageIDs[staleContainer.ImageID()] = true + if err := restartStaleContainer(c, client, params); err != nil { + failed++ + } + imageIDs[c.ImageID()] = true } if params.Cleanup { cleanupImages(client, imageIDs) } + + return failed } func cleanupImages(client container.Client, imageIDs map[string]bool) { @@ -134,7 +167,7 @@ func cleanupImages(client container.Client, imageIDs map[string]bool) { } } -func restartStaleContainer(container container.Container, client container.Client, params types.UpdateParams) { +func restartStaleContainer(container container.Container, client container.Client, params types.UpdateParams) error { // Since we can't shutdown a watchtower container immediately, we need to // start the new one while the old one is still running. This prevents us // from re-using the same container name so we first rename the current @@ -142,17 +175,19 @@ func restartStaleContainer(container container.Container, client container.Clien if container.IsWatchtower() { if err := client.RenameContainer(container, util.RandName()); err != nil { log.Error(err) - return + return nil } } if !params.NoRestart { if newContainerID, err := client.StartContainer(container); err != nil { log.Error(err) + return err } else if container.Stale && params.LifecycleHooks { lifecycle.ExecutePostUpdateCommand(client, newContainerID) } } + return nil } func checkDependencies(containers []container.Container) { diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index 1a53aad..f1b8e85 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -59,7 +59,7 @@ var _ = Describe("the update action", func() { When("there are multiple containers using the same image", func() { It("should only try to remove the image once", func() { - err := actions.Update(client, types.UpdateParams{Cleanup: true}) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) }) @@ -75,7 +75,7 @@ var _ = Describe("the update action", func() { time.Now(), ), ) - err := actions.Update(client, types.UpdateParams{Cleanup: true}) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(2)) }) @@ -83,7 +83,7 @@ var _ = Describe("the update action", func() { When("performing a rolling restart update", func() { It("should try to remove the image once", func() { - err := actions.Update(client, types.UpdateParams{Cleanup: true, RollingRestart: true}) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, RollingRestart: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) }) @@ -121,7 +121,7 @@ var _ = Describe("the update action", func() { }) It("should not update those containers", func() { - err := actions.Update(client, types.UpdateParams{Cleanup: true}) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) }) @@ -151,7 +151,7 @@ var _ = Describe("the update action", func() { }) It("should not update any containers", func() { - err := actions.Update(client, types.UpdateParams{MonitorOnly: true}) + _, err := actions.Update(client, types.UpdateParams{MonitorOnly: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) }) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 2f7a89f..d45f384 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -130,10 +130,15 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { "Restart containers one at a time") flags.BoolP( - "http-api", + "http-api-update", "", - viper.GetBool("WATCHTOWER_HTTP_API"), + viper.GetBool("WATCHTOWER_HTTP_API_UPDATE"), "Runs Watchtower in HTTP API mode, so that image updates must to be triggered by a request") + flags.BoolP( + "http-api-metrics", + "", + viper.GetBool("WATCHTOWER_HTTP_API_METRICS"), + "Runs Watchtower with the Prometheus metrics API enabled") flags.StringP( "http-api-token", diff --git a/mkdocs.yml b/mkdocs.yml index 1d1506b..f628fbc 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -28,5 +28,6 @@ nav: - 'Stop signals': 'stop-signals.md' - 'Lifecycle hooks': 'lifecycle-hooks.md' - 'Running multiple instances': 'running-multiple-instances.md' + - 'Metrics': 'metrics.md' plugins: - search diff --git a/pkg/api/api.go b/pkg/api/api.go index 12d12c3..987e4bd 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -1,63 +1,76 @@ package api import ( - "errors" - "io" - "net/http" - "os" - + "fmt" log "github.com/sirupsen/logrus" + "net/http" ) -var ( - lock chan bool -) +const tokenMissingMsg = "api token is empty or has not been set. exiting" -func init() { - lock = make(chan bool, 1) - lock <- true +// API is the http server responsible for serving the HTTP API endpoints +type API struct { + Token string + hasHandlers bool } -// SetupHTTPUpdates configures the endpoint needed for triggering updates via http -func SetupHTTPUpdates(apiToken string, updateFunction func()) error { - if apiToken == "" { - return errors.New("api token is empty or has not been set. not starting api") +// New is a factory function creating a new API instance +func New(token string) *API { + return &API{ + Token: token, + hasHandlers: false, + } +} + +// RequireToken is wrapper around http.HandleFunc that checks token validity +func (api *API) RequireToken(fn http.HandlerFunc) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + if r.Header.Get("Authorization") != fmt.Sprintf("Bearer %s", api.Token) { + log.Errorf("Invalid token \"%s\"", r.Header.Get("Authorization")) + log.Debugf("Expected token to be \"%s\"", api.Token) + return + } + log.Println("Valid token found.") + fn(w, r) + } +} + +// RegisterFunc is a wrapper around http.HandleFunc that also sets the flag used to determine whether to launch the API +func (api *API) RegisterFunc(path string, fn http.HandlerFunc) { + api.hasHandlers = true + http.HandleFunc(path, api.RequireToken(fn)) +} + +// RegisterHandler is a wrapper around http.Handler that also sets the flag used to determine whether to launch the API +func (api *API) RegisterHandler(path string, handler http.Handler) { + api.hasHandlers = true + http.Handle(path, api.RequireToken(handler.ServeHTTP)) +} + +// Start the API and serve over HTTP. Requires an API Token to be set. +func (api *API) Start(block bool) error { + + if !api.hasHandlers { + log.Debug("Watchtower HTTP API skipped.") + return nil } - log.Println("Watchtower HTTP API started.") - - http.HandleFunc("/v1/update", func(w http.ResponseWriter, r *http.Request) { - log.Info("Updates triggered by HTTP API request.") - - _, err := io.Copy(os.Stdout, r.Body) - if err != nil { - log.Println(err) - return - } - - if r.Header.Get("Token") != apiToken { - log.Println("Invalid token. Not updating.") - return - } - - log.Println("Valid token found. Attempting to update.") - - select { - case chanValue := <-lock: - defer func() { lock <- chanValue }() - updateFunction() - default: - log.Debug("Skipped. Another update already running.") - } - - }) + if api.Token == "" { + log.Fatal(tokenMissingMsg) + } + log.Info("Watchtower HTTP API started.") + if block { + runHTTPServer() + } else { + go func() { + runHTTPServer() + }() + } return nil } -// WaitForHTTPUpdates starts the http server and listens for requests. -func WaitForHTTPUpdates() error { +func runHTTPServer() { + log.Info("Serving HTTP") log.Fatal(http.ListenAndServe(":8080", nil)) - os.Exit(0) - return nil } diff --git a/pkg/api/metrics/metrics.go b/pkg/api/metrics/metrics.go new file mode 100644 index 0000000..4faad4a --- /dev/null +++ b/pkg/api/metrics/metrics.go @@ -0,0 +1,27 @@ +package metrics + +import ( + "github.com/containrrr/watchtower/pkg/metrics" + "net/http" + + "github.com/prometheus/client_golang/prometheus/promhttp" +) + +// Handler is an HTTP handle for serving metric data +type Handler struct { + Path string + Handle http.HandlerFunc + Metrics *metrics.Metrics +} + +// New is a factory function creating a new Metrics instance +func New() *Handler { + m := metrics.Default() + handler := promhttp.Handler() + + return &Handler{ + Path: "/v1/metrics", + Handle: handler.ServeHTTP, + Metrics: m, + } +} diff --git a/pkg/api/metrics/metrics_test.go b/pkg/api/metrics/metrics_test.go new file mode 100644 index 0000000..c1a4df0 --- /dev/null +++ b/pkg/api/metrics/metrics_test.go @@ -0,0 +1,77 @@ +package metrics_test + +import ( + "fmt" + "github.com/containrrr/watchtower/pkg/metrics" + "io/ioutil" + "net/http" + "testing" + + "github.com/containrrr/watchtower/pkg/api" + metricsAPI "github.com/containrrr/watchtower/pkg/api/metrics" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +const Token = "123123123" + +func TestContainer(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Metrics Suite") +} + +func runTestServer(m *metricsAPI.Handler) { + http.Handle(m.Path, m.Handle) + go func() { + http.ListenAndServe(":8080", nil) + }() +} + +func getWithToken(c http.Client, url string) (*http.Response, error) { + req, _ := http.NewRequest("GET", url, nil) + req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", Token)) + return c.Do(req) +} + +var _ = Describe("the metrics", func() { + httpAPI := api.New(Token) + m := metricsAPI.New() + httpAPI.RegisterHandler(m.Path, m.Handle) + httpAPI.Start(false) + + // We should likely split this into multiple tests, but as prometheus requires a restart of the binary + // to reset the metrics and gauges, we'll just do it all at once. + + It("should serve metrics", func() { + metric := &metrics.Metric{ + Scanned: 4, + Updated: 3, + Failed: 1, + } + metrics.RegisterScan(metric) + c := http.Client{} + res, err := getWithToken(c, "http://localhost:8080/v1/metrics") + + Expect(err).NotTo(HaveOccurred()) + contents, err := ioutil.ReadAll(res.Body) + fmt.Printf("%s\n", string(contents)) + Expect(string(contents)).To(ContainSubstring("watchtower_containers_updated 3")) + Expect(string(contents)).To(ContainSubstring("watchtower_containers_failed 1")) + Expect(string(contents)).To(ContainSubstring("watchtower_containers_scanned 4")) + Expect(string(contents)).To(ContainSubstring("watchtower_scans_total 1")) + Expect(string(contents)).To(ContainSubstring("watchtower_scans_skipped 0")) + + for i := 0; i < 3; i++ { + metrics.RegisterScan(nil) + } + + res, err = getWithToken(c, "http://localhost:8080/v1/metrics") + Expect(err).NotTo(HaveOccurred()) + contents, err = ioutil.ReadAll(res.Body) + fmt.Printf("%s\n", string(contents)) + + Expect(string(contents)).To(ContainSubstring("watchtower_scans_total 4")) + Expect(string(contents)).To(ContainSubstring("watchtower_scans_skipped 3")) + }) +}) \ No newline at end of file diff --git a/pkg/api/update/update.go b/pkg/api/update/update.go new file mode 100644 index 0000000..463b082 --- /dev/null +++ b/pkg/api/update/update.go @@ -0,0 +1,50 @@ +package update + +import ( + "io" + "net/http" + "os" + + log "github.com/sirupsen/logrus" +) + +var ( + lock chan bool +) + +// New is a factory function creating a new Handler instance +func New(updateFn func()) *Handler { + lock = make(chan bool, 1) + lock <- true + + return &Handler{ + fn: updateFn, + Path: "/v1/update", + } +} + +// Handler is an API handler used for triggering container update scans +type Handler struct { + fn func() + Path string +} + +// Handle is the actual http.Handle function doing all the heavy lifting +func (handle *Handler) Handle(w http.ResponseWriter, r *http.Request) { + log.Info("Updates triggered by HTTP API request.") + + _, err := io.Copy(os.Stdout, r.Body) + if err != nil { + log.Println(err) + return + } + + select { + case chanValue := <-lock: + defer func() { lock <- chanValue }() + handle.fn() + default: + log.Debug("Skipped. Another update already running.") + } + +} diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go new file mode 100644 index 0000000..3a235af --- /dev/null +++ b/pkg/metrics/metrics.go @@ -0,0 +1,91 @@ +package metrics + +import ( + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" +) + +var metrics *Metrics + +// Metric is the data points of a single scan +type Metric struct { + Scanned int + Updated int + Failed int +} + +// Metrics is the handler processing all individual scan metrics +type Metrics struct { + channel chan *Metric + scanned prometheus.Gauge + updated prometheus.Gauge + failed prometheus.Gauge + total prometheus.Counter + skipped prometheus.Counter +} + +// Register registers metrics for an executed scan +func (metrics *Metrics) Register(metric *Metric) { + metrics.channel <- metric +} + +// Default creates a new metrics handler if none exists, otherwise returns the existing one +func Default() *Metrics { + if metrics != nil { + return metrics + } + + metrics = &Metrics{ + scanned: promauto.NewGauge(prometheus.GaugeOpts{ + Name: "watchtower_containers_scanned", + Help: "Number of containers scanned for changes by watchtower during the last scan", + }), + updated: promauto.NewGauge(prometheus.GaugeOpts{ + Name: "watchtower_containers_updated", + Help: "Number of containers updated by watchtower during the last scan", + }), + failed: promauto.NewGauge(prometheus.GaugeOpts{ + Name: "watchtower_containers_failed", + Help: "Number of containers where update failed during the last scan", + }), + total: promauto.NewCounter(prometheus.CounterOpts{ + Name: "watchtower_scans_total", + Help: "Number of scans since the watchtower started", + }), + skipped: promauto.NewCounter(prometheus.CounterOpts{ + Name: "watchtower_scans_skipped", + Help: "Number of skipped scans since watchtower started", + }), + channel: make(chan *Metric, 10), + } + + go metrics.HandleUpdate(metrics.channel) + + return metrics +} + +// RegisterScan fetches a metric handler and enqueues a metric +func RegisterScan(metric *Metric) { + metrics := Default() + metrics.Register(metric) +} + +// HandleUpdate dequeue the metric channel and processes it +func (metrics *Metrics) HandleUpdate(channel <-chan *Metric) { + for change := range channel { + if change == nil { + // Update was skipped and rescheduled + metrics.total.Inc() + metrics.skipped.Inc() + metrics.scanned.Set(0) + metrics.updated.Set(0) + metrics.failed.Set(0) + continue + } + // Update metrics with the new values + metrics.total.Inc() + metrics.scanned.Set(float64(change.Scanned)) + metrics.updated.Set(float64(change.Updated)) + metrics.failed.Set(float64(change.Failed)) + } +} diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index 47bab40..bb475bf 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -87,5 +87,5 @@ func (n *gotifyTypeNotifier) GetURL() string { func (n *gotifyTypeNotifier) StartNotification() {} func (n *gotifyTypeNotifier) SendNotification() {} -func (n *gotifyTypeNotifier) Close() {} +func (n *gotifyTypeNotifier) Close() {} func (n *gotifyTypeNotifier) Levels() []log.Level { return nil } diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index 0c99072..63c6aaa 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -63,6 +63,6 @@ func (n *msTeamsTypeNotifier) GetURL() string { func (n *msTeamsTypeNotifier) StartNotification() {} func (n *msTeamsTypeNotifier) SendNotification() {} -func (n *msTeamsTypeNotifier) Close() {} +func (n *msTeamsTypeNotifier) Close() {} func (n *msTeamsTypeNotifier) Levels() []log.Level { return nil } func (n *msTeamsTypeNotifier) Fire(entry *log.Entry) error { return nil } diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml new file mode 100644 index 0000000..1a30df0 --- /dev/null +++ b/prometheus/prometheus.yml @@ -0,0 +1,9 @@ +scrape_configs: + - job_name: watchtower + scrape_interval: 5s + metrics_path: /v1/metrics + bearer_token: demotoken + static_configs: + - targets: + - 'watchtower:8080' + From 847261c2cacc6e2c59540543939be731f7b40b4e Mon Sep 17 00:00:00 2001 From: Jeroen Roos Date: Wed, 6 Jan 2021 22:30:28 +0100 Subject: [PATCH 028/389] Added a link to HTTP API documentation (#734) Co-authored-by: Jeroen Roos --- docs/arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/arguments.md b/docs/arguments.md index 4fb56c6..032affe 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -221,7 +221,7 @@ Environment Variable: WATCHTOWER_RUN_ONCE ``` ## HTTP API Mode -Runs Watchtower in HTTP API mode, only allowing image updates to be triggered by an HTTP request. +Runs Watchtower in HTTP API mode, only allowing image updates to be triggered by an HTTP request. For details see [HTTP API](https://containrrr.github.io/watchtower/http-api-mode). ``` Argument: --http-api From 352574d387e0ce35493a0c442965ecb857d25e91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Wed, 6 Jan 2021 22:31:27 +0100 Subject: [PATCH 029/389] add details/summary to issue template (#732) --- .github/ISSUE_TEMPLATE/bug_report.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 76f46f4..1d4b1f6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -28,7 +28,14 @@ If applicable, add screenshots to help explain your problem. - Architecture - Docker version -**Logs from running watchtower with the `--debug` option** +
+ Logs from running watchtower with the --debug option + +``` + +``` + +
**Additional context** Add any other context about the problem here. From e230967196ea88a76804a203e13aaa36c39db636 Mon Sep 17 00:00:00 2001 From: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com> Date: Wed, 6 Jan 2021 21:34:58 +0000 Subject: [PATCH 030/389] Add WATCHTOWER_INCLUDE_RESTARTING env for include-restarting flag (#720) --- docs/arguments.md | 10 ++++++++++ internal/flags/flags.go | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/docs/arguments.md b/docs/arguments.md index 032affe..fea17a0 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -118,6 +118,16 @@ Environment Variable: DOCKER_API_VERSION Default: "1.24" ``` +## Include restarting +Will also include created and exited containers. + +``` + Argument: --include-restarting +Environment Variable: WATCHTOWER_INCLUDE_RESTARTING + Type: Boolean + Default: false +``` + ## Include stopped Will also include created and exited containers. diff --git a/internal/flags/flags.go b/internal/flags/flags.go index d45f384..c2dc8ad 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -105,6 +105,12 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { viper.GetBool("WATCHTOWER_RUN_ONCE"), "Run once now and exit") + flags.BoolP( + "include-restarting", + "", + viper.GetBool("WATCHTOWER_INCLUDE_RESTARTING"), + "Will also include restarting containers") + flags.BoolP( "include-stopped", "S", From 99eaf42de0cfe9ee1dcb0158fb2cb7930fc53bfa Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Thu, 7 Jan 2021 07:51:01 +0100 Subject: [PATCH 031/389] fix doc typo --- docs/arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/arguments.md b/docs/arguments.md index fea17a0..9c3d58d 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -119,7 +119,7 @@ Environment Variable: DOCKER_API_VERSION ``` ## Include restarting -Will also include created and exited containers. +Will also include restarting containers. ``` Argument: --include-restarting From 06e705d53835ce8df65f319a1350216b52850a59 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sat, 9 Jan 2021 22:03:13 +0100 Subject: [PATCH 032/389] Create post-release.yml --- .github/workflows/post-release.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/workflows/post-release.yml diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml new file mode 100644 index 0000000..fcdeaa1 --- /dev/null +++ b/.github/workflows/post-release.yml @@ -0,0 +1,15 @@ +on: + release: + types: + - created + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + - '**/v[0-9]+.[0-9]+.[0-9]+' + +jobs: + build: + name: Renew documentation + runs-on: ubuntu-latest + steps: + - name: Pull new module version + uses: andrewslotin/go-proxy-pull-action@master From 40ab6fd5ba9b7ba03536f556c556dc38e69c61c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 10 Jan 2021 11:12:54 +0100 Subject: [PATCH 033/389] Fix notifications and old instance cleanup (#748) Co-authored-by: Simon Aronsson --- go.mod | 11 +++--- go.sum | 57 ++++++++++++++++++++++++++++++ internal/actions/check.go | 28 +++------------ pkg/api/metrics/metrics_test.go | 5 ++- pkg/notifications/email.go | 12 +++++-- pkg/notifications/notifier_test.go | 42 ++++++++++++++-------- pkg/notifications/slack.go | 21 ++++++++--- 7 files changed, 123 insertions(+), 53 deletions(-) diff --git a/go.mod b/go.mod index 02d1253..87327db 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,8 @@ module github.com/containrrr/watchtower go 1.12 +replace golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a + require ( github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect github.com/Microsoft/go-winio v0.4.12 // indirect @@ -15,7 +17,7 @@ require ( github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6 // indirect github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 // indirect - github.com/containrrr/shoutrrr v0.0.0-20200601144753-78bb9685bc2f + github.com/containrrr/shoutrrr v0.3.0 github.com/docker/cli v0.0.0-20190327152802-57b27434ea29 github.com/docker/distribution v2.7.1+incompatible github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4 @@ -49,15 +51,14 @@ require ( github.com/prometheus/client_golang v0.9.3 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.4.1 - github.com/spf13/cobra v0.0.3 - github.com/spf13/pflag v1.0.3 - github.com/spf13/viper v1.4.0 + github.com/spf13/cobra v0.0.7 + github.com/spf13/pflag v1.0.5 + github.com/spf13/viper v1.6.3 github.com/stretchr/testify v1.3.0 github.com/theupdateframework/notary v0.6.1 // indirect github.com/zmap/zlint v1.0.2 // indirect golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 // indirect golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 - golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69 // indirect golang.org/x/text v0.3.4 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect gopkg.in/dancannon/gorethink.v3 v3.0.5 // indirect diff --git a/go.sum b/go.sum index d1d77ae..c2e851a 100644 --- a/go.sum +++ b/go.sum @@ -45,11 +45,15 @@ github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882b github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containrrr/shoutrrr v0.0.0-20200601144753-78bb9685bc2f h1:Ln4yl+CYjrapeTEzMJQpgBwLjruKHcMosWFB/d1M4RQ= github.com/containrrr/shoutrrr v0.0.0-20200601144753-78bb9685bc2f/go.mod h1:eotQeC9bHbsf9eMUnXOU/y5bskegseWNB4PwmxRO7Wc= +github.com/containrrr/shoutrrr v0.3.0 h1:2o1BKQUThSDtcidiMUq99CJijSRDa/nIB8kRhLBYmbk= +github.com/containrrr/shoutrrr v0.3.0/go.mod h1:gqR3sngKPBVaLrmq9Pfw34x/MXxn0ATjY8/dW+rXzrU= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -82,8 +86,12 @@ github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DP github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= @@ -124,9 +132,11 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.0 h1:tOSd0UKHQd6urX6ApfOn4XdBMY6Sh1MfxV3kmaazO+U= @@ -159,7 +169,9 @@ github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22/go.mod h1:u0Jo4 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 h1:+kBG/8rjCa6vxJZbUjAiE4MQmBEBYc8nLEb51frnvBY= github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07/go.mod h1:j1kV/8f3jowErEq4XyeypkCdvg5EeHkf0YCKCcq5Ybo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA= github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= @@ -179,18 +191,30 @@ github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/pkcs11 v0.0.0-20190401114359-553cfdd26aaa h1:gOXc1BXmFuxWYmTfoK51YJR7srco3CwbsVHgr+8Y4r0= github.com/miekg/pkcs11 v0.0.0-20190401114359-553cfdd26aaa/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4= +github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= @@ -217,6 +241,8 @@ github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59P github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIMIGuI= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= @@ -245,30 +271,48 @@ github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqn github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.7 h1:FfTH+vuMXOas8jmfb5/M7dzEYx7LpcLb7a0LPe34uOU= +github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs= +github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/theupdateframework/notary v0.6.1 h1:7wshjstgS9x9F5LuB1L5mBI2xNMObWqjz+cjWoom6l0= github.com/theupdateframework/notary v0.6.1/go.mod h1:MOfgIfmox8s7/7fduvB2xyPPMJCrjRLRizA8OFwpnKY= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -316,6 +360,7 @@ golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ym golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -331,12 +376,19 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69 h1:Wdn4Yb8d5VrsO3jWgaeSZss09x1VLVBMePDh4VW/xSQ= golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200409092240-59c9f1ba88fa h1:mQTN3ECqfsViCNBgq+A40vdwhkGykrrQlYe3mPj6BoU= +golang.org/x/sys v0.0.0-20200409092240-59c9f1ba88fa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -349,6 +401,7 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= @@ -387,6 +440,9 @@ gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gorethink/gorethink.v3 v3.0.5 h1:e2Uc/Xe+hpcVQFsj6MuHlYog3r0JYpnTzwDj/y2O4MU= gopkg.in/gorethink/gorethink.v3 v3.0.5/go.mod h1:+3yIIHJUGMBK+wyPH+iN5TP+88ikFDfZdqTlK3Y9q8I= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.55.0 h1:E8yzL5unfpW3M6fz/eB7Cb5MQAYSZ7GKo4Qth+N2sgQ= +gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -395,6 +451,7 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gosrc.io/xmpp v0.1.1 h1:iMtE9W3fx254+4E6rI34AOPJDqWvpfQR6EYaVMzhJ4s= diff --git a/internal/actions/check.go b/internal/actions/check.go index aeff0cd..87133fc 100644 --- a/internal/actions/check.go +++ b/internal/actions/check.go @@ -1,15 +1,12 @@ package actions import ( - "errors" "fmt" "sort" - "strings" "time" "github.com/containrrr/watchtower/pkg/filters" "github.com/containrrr/watchtower/pkg/sorter" - "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus" @@ -40,7 +37,6 @@ func CheckForMultipleWatchtowerInstances(client container.Client, cleanup bool, } func cleanupExcessWatchtowers(containers []container.Container, client container.Client, cleanup bool) error { - var cleanupErrors int var stopErrors int sort.Sort(sorter.ByCreated(containers)) @@ -49,37 +45,23 @@ func cleanupExcessWatchtowers(containers []container.Container, client container for _, c := range allContainersExceptLast { if err := client.StopContainer(c, 10*time.Minute); err != nil { // logging the original here as we're just returning a count - logrus.Error(err) + logrus.WithError(err).Error("Could not stop a previous watchtower instance.") stopErrors++ continue } if cleanup { if err := client.RemoveImageByID(c.ImageID()); err != nil { - // logging the original here as we're just returning a count - logrus.Error(err) - cleanupErrors++ + logrus.WithError(err).Warning("Could not cleanup watchtower images, possibly because of other watchtowers instances in other scopes.") } } } - return createErrorIfAnyHaveOccurred(stopErrors, cleanupErrors) -} - -func createErrorIfAnyHaveOccurred(c int, i int) error { - if c == 0 && i == 0 { - return nil + if stopErrors > 0 { + return fmt.Errorf("%d errors while stopping watchtower containers", stopErrors) } - var output strings.Builder - - if c > 0 { - output.WriteString(fmt.Sprintf("%d errors while stopping containers", c)) - } - if i > 0 { - output.WriteString(fmt.Sprintf("%d errors while cleaning up images", c)) - } - return errors.New(output.String()) + return nil } func awaitDockerClient() { diff --git a/pkg/api/metrics/metrics_test.go b/pkg/api/metrics/metrics_test.go index c1a4df0..156601f 100644 --- a/pkg/api/metrics/metrics_test.go +++ b/pkg/api/metrics/metrics_test.go @@ -55,7 +55,7 @@ var _ = Describe("the metrics", func() { Expect(err).NotTo(HaveOccurred()) contents, err := ioutil.ReadAll(res.Body) - fmt.Printf("%s\n", string(contents)) + Expect(string(contents)).To(ContainSubstring("watchtower_containers_updated 3")) Expect(string(contents)).To(ContainSubstring("watchtower_containers_failed 1")) Expect(string(contents)).To(ContainSubstring("watchtower_containers_scanned 4")) @@ -69,9 +69,8 @@ var _ = Describe("the metrics", func() { res, err = getWithToken(c, "http://localhost:8080/v1/metrics") Expect(err).NotTo(HaveOccurred()) contents, err = ioutil.ReadAll(res.Body) - fmt.Printf("%s\n", string(contents)) Expect(string(contents)).To(ContainSubstring("watchtower_scans_total 4")) Expect(string(contents)).To(ContainSubstring("watchtower_scans_skipped 3")) }) -}) \ No newline at end of file +}) diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 2356978..184bf84 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -1,9 +1,11 @@ package notifications import ( + "fmt" "os" "time" + "github.com/containrrr/shoutrrr/pkg/format" "github.com/spf13/cobra" shoutrrrSmtp "github.com/containrrr/shoutrrr/pkg/services/smtp" @@ -75,10 +77,16 @@ func (e *emailTypeNotifier) GetURL() string { UseHTML: false, } + pkr := format.NewPropKeyResolver(conf) + var err error if len(e.User) > 0 { - conf.Set("auth", "Plain") + err = pkr.Set("auth", "Plain") } else { - conf.Set("auth", "None") + err = pkr.Set("auth", "None") + } + + if err != nil { + fmt.Printf("Could not set auth type for email notifier: %v", err) } return conf.GetURL().String() diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 6440bbc..57132ac 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -22,19 +22,32 @@ func TestActions(t *testing.T) { } var _ = Describe("notifications", func() { - // TODO: Either, we delete this test or we need to pass it valid URLs in the cobra command. - // --- - // When("getting notifiers from a types array", func() { - // It("should return the same amount of notifiers a string entries", func() { - - // notifier := ¬ifications.Notifier{} - // notifiers := notifier.GetNotificationTypes(&cobra.Command{}, []log.Level{}, []string{"slack", "email"}) - // Expect(len(notifiers)).To(Equal(2)) - // }) - // }) Describe("the slack notifier", func() { + builderFn := notifications.NewSlackNotifier + + When("passing a discord url to the slack notifier", func() { + channel := "123456789" + token := "abvsihdbau" + expected := fmt.Sprintf("discord://%s@%s", token, channel) + buildArgs := func(url string) []string { + return []string{ + "--notifications", + "slack", + "--notification-slack-hook-url", + url, + } + } + + It("should return a discord url when using a hook url with the domain discord.com", func() { + hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discord.com", channel, token) + testURL(builderFn, buildArgs(hookURL), expected) + }) + It("should return a discord url when using a hook url with the domain discordapp.com", func() { + hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discordapp.com", channel, token) + testURL(builderFn, buildArgs(hookURL), expected) + }) + }) When("converting a slack service config into a shoutrrr url", func() { - builderFn := notifications.NewSlackNotifier It("should return the expected URL", func() { @@ -43,9 +56,8 @@ var _ = Describe("notifications", func() { tokenB := "bbb" tokenC := "ccc" - password := fmt.Sprintf("%s-%s-%s", tokenA, tokenB, tokenC) hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) - expectedOutput := fmt.Sprintf("slack://%s:%s@%s/%s/%s", username, password, tokenA, tokenB, tokenC) + expectedOutput := fmt.Sprintf("slack://%s@%s/%s/%s", username, tokenA, tokenB, tokenC) args := []string{ "--notification-slack-hook-url", @@ -144,8 +156,8 @@ func buildExpectedURL(username string, password string, host string, port int, f subject := fmt.Sprintf("Watchtower updates on %s", hostname) - var template = "smtp://%s:%s@%s:%d/?fromAddress=%s&fromName=Watchtower&toAddresses=%s&auth=%s&subject=%s&startTls=Yes&useHTML=No" - return fmt.Sprintf(template, username, password, host, port, from, to, auth, subject) + var template = "smtp://%s:%s@%s:%d/?auth=%s&encryption=None&fromaddress=%s&fromname=Watchtower&starttls=Yes&subject=%s&toaddresses=%s&usehtml=No" + return fmt.Sprintf(template, username, password, host, port, auth, from, subject, to) } type builderFn = func(c *cobra.Command, acceptedLogLevels []log.Level) types.ConvertableNotifier diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index f8cbd45..ede7141 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -3,6 +3,7 @@ package notifications import ( "strings" + shoutrrrDisco "github.com/containrrr/shoutrrr/pkg/services/discord" shoutrrrSlack "github.com/containrrr/shoutrrr/pkg/services/slack" t "github.com/containrrr/watchtower/pkg/types" "github.com/johntdyer/slackrus" @@ -31,6 +32,7 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert channel, _ := flags.GetString("notification-slack-channel") emoji, _ := flags.GetString("notification-slack-icon-emoji") iconURL, _ := flags.GetString("notification-slack-icon-url") + n := &slackTypeNotifier{ SlackrusHook: slackrus.SlackrusHook{ HookURL: hookURL, @@ -45,16 +47,25 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert } func (s *slackTypeNotifier) GetURL() string { + trimmedURL := strings.TrimRight(s.HookURL, "/") + trimmedURL = strings.TrimLeft(trimmedURL, "https://") + parts := strings.Split(trimmedURL, "/") + + if parts[0] == "discord.com" || parts[0] == "discordapp.com" { + log.Debug("Detected a discord slack wrapper URL, using shoutrrr discord service") + conf := &shoutrrrDisco.Config{ + Channel: parts[len(parts)-3], + Token: parts[len(parts)-2], + } + return conf.GetURL().String() + } + rawTokens := strings.Replace(s.HookURL, "https://hooks.slack.com/services/", "", 1) tokens := strings.Split(rawTokens, "/") conf := &shoutrrrSlack.Config{ BotName: s.Username, - Token: shoutrrrSlack.Token{ - A: tokens[0], - B: tokens[1], - C: tokens[2], - }, + Token: tokens, } return conf.GetURL().String() From e18b57efc89efa094c1e411f66781f84604db05d Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 11:25:46 +0100 Subject: [PATCH 034/389] Cleanup readme --- README.md | 55 ++++++++++++++----------------------------------------- 1 file changed, 14 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index cba30b1..6c93864 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,23 @@

-

-

- Watchtower -

- -

+ + # Watchtower + A process for automating Docker container base image updates.

- - Circle CI - - - GoDoc - - - Microbadger - - - Go Report Card - - - latest version - - - Apache-2.0 License - - - Codacy Badge - - - Codacy Badge - - - All Contributors - - - Pulls from DockerHub - + + [![Circle CI](https://circleci.com/gh/containrrr/watchtower.svg?style=shield)](https://circleci.com/gh/containrrr/watchtower) + [![GoDoc](https://godoc.org/github.com/containrrr/watchtower?status.svg)](https://godoc.org/github.com/containrrr/watchtower) + [![Microbadger](https://images.microbadger.com/badges/image/containrrr/watchtower.svg)](https://microbadger.com/images/containrrr/watchtower) + [![Go Report Card](https://goreportcard.com/badge/github.com/containrrr/watchtower)](https://goreportcard.com/report/github.com/containrrr/watchtower) + [![latest version](https://img.shields.io/github/tag/containrrr/watchtower.svg)](https://github.com/containrrr/watchtower/releases) + [![Apache-2.0 License](https://img.shields.io/github/license/containrrr/watchtower.svg)](https://www.apache.org/licenses/LICENSE-2.0) + [![Codacy Badge](https://app.codacy.com/project/badge/Grade/1c48cfb7646d4009aa8c6f71287670b8)](https://www.codacy.com/gh/containrrr/watchtower/dashboard?utm_source=github.com&utm_medium=referral&utm_content=containrrr/watchtower&utm_campaign=Badge_Grade) + [![All Contributors](https://img.shields.io/badge/all_contributors-30-orange.svg?style=flat-square)](#contributors) + [![Pulls from DockerHub](https://img.shields.io/docker/pulls/containrrr/watchtower.svg?style=flat-square)](https://hub.docker.com/r/containrrr/watchtower) +

-> ### ⚠️ Help needed -> -> We're finding it a bit hard to keep up with all issues and pull requests. Interested in helping out with triage, troubleshooting and issue handling? Let us know in the ["Discussions"](https://github.com/containrrr/watchtower/discussions) tab! - - ## Quick Start With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially. Run the watchtower container with the following command: From 47e53adf6d5de2b7ab55adbf1f80ce8c12131561 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 11:25:59 +0100 Subject: [PATCH 035/389] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6c93864..152b91a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

+

# Watchtower @@ -16,7 +16,7 @@ [![All Contributors](https://img.shields.io/badge/all_contributors-30-orange.svg?style=flat-square)](#contributors) [![Pulls from DockerHub](https://img.shields.io/docker/pulls/containrrr/watchtower.svg?style=flat-square)](https://hub.docker.com/r/containrrr/watchtower) -

+
## Quick Start From 5b349e5dc4b7bca18bf6b548f7bf317821e444dd Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 11:27:26 +0100 Subject: [PATCH 036/389] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 152b91a..52c42b9 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@

[![Circle CI](https://circleci.com/gh/containrrr/watchtower.svg?style=shield)](https://circleci.com/gh/containrrr/watchtower) + [![codecov](https://codecov.io/gh/containrrr/watchtower/branch/master/graph/badge.svg?token=8pxWgB380Y)](https://codecov.io/gh/containrrr/watchtower) [![GoDoc](https://godoc.org/github.com/containrrr/watchtower?status.svg)](https://godoc.org/github.com/containrrr/watchtower) [![Microbadger](https://images.microbadger.com/badges/image/containrrr/watchtower.svg)](https://microbadger.com/images/containrrr/watchtower) [![Go Report Card](https://goreportcard.com/badge/github.com/containrrr/watchtower)](https://goreportcard.com/report/github.com/containrrr/watchtower) From 4e0ce6e824a74913c9f16dc2367ff27dcb89065c Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 12:24:13 +0100 Subject: [PATCH 037/389] chore(ci): move to github actions --- .github/workflows/pull-request.yml | 61 ++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/pull-request.yml diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 0000000..cb516ba --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,61 @@ +name: Main Workflow + +on: + pull_request: + branches: + - main + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15.x + - name: Lint + run: | + go get -u golang.org/lint/golint + golint -set_exit_status ./... + test: + strategy: + matrix: + go-version: + - 1.15.x + platform: + - ubuntu-latest + - windows-latest + runs-on: ${{ matrix.platform }} + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15.x + - name: Run tests + run: | + go test ./... -coverprofile coverage.out + + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15.x + - name: Build + uses: goreleaser/goreleaser-action@v2 + with: + version: v0.104.1 + args: --snapshot --skip-publish --debug \ No newline at end of file From aa3ed8833f484b3c016f8c76260442b1487a91c4 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 12:27:26 +0100 Subject: [PATCH 038/389] chore(ci): rename workflow --- .github/workflows/pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index cb516ba..e54d5c4 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -1,4 +1,4 @@ -name: Main Workflow +name: Pull Request on: pull_request: From 2ba51c0de017d31af9b6e890b808367cc2769b1d Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 12:32:10 +0100 Subject: [PATCH 039/389] chore(ci): add manual dispatch --- .github/workflows/pull-request.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index e54d5c4..1af047f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -1,6 +1,7 @@ name: Pull Request on: + workflow_dispatch: {} pull_request: branches: - main From 668e7a15110ab1183291283513f4deadf9fe22ca Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 12:33:45 +0100 Subject: [PATCH 040/389] fix(ci): set correct get url for linter --- .github/workflows/pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 1af047f..852bbcd 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -20,7 +20,7 @@ jobs: go-version: 1.15.x - name: Lint run: | - go get -u golang.org/lint/golint + go get -u golang.org/x/lint/golint golint -set_exit_status ./... test: strategy: From ea53cdbe7c5b9b3b1f1a6065aa537f23cd37457d Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 12:42:54 +0100 Subject: [PATCH 041/389] add names to steps --- .github/workflows/pull-request.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 852bbcd..d09b4f2 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -8,6 +8,7 @@ on: jobs: lint: + name: Lint runs-on: ubuntu-latest steps: - name: Checkout @@ -18,11 +19,14 @@ jobs: uses: actions/setup-go@v2 with: go-version: 1.15.x - - name: Lint + - name: Install linter run: | go get -u golang.org/x/lint/golint + - name: Lint files + run: | golint -set_exit_status ./... test: + name: Test strategy: matrix: go-version: @@ -45,6 +49,7 @@ jobs: go test ./... -coverprofile coverage.out build: + name: Build runs-on: ubuntu-latest steps: - name: Checkout From 140cc4ea12ebc435b5e23261998acdbd4c8b54fa Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 12:44:14 +0100 Subject: [PATCH 042/389] add macos to the testing matrix --- .github/workflows/pull-request.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index d09b4f2..5bdd01e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -33,6 +33,7 @@ jobs: - 1.15.x platform: - ubuntu-latest + - macos-latest - windows-latest runs-on: ${{ matrix.platform }} steps: From 5532c4e90508174293079f2db5c1d81f795d4bd8 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 16:36:03 +0100 Subject: [PATCH 043/389] chore(ci): set up release workflow --- .github/workflows/post-release.yml | 15 -- ...-dev-dockerimage.yaml => release-dev.yaml} | 2 +- .github/workflows/release.yml | 175 ++++++++++++++++++ 3 files changed, 176 insertions(+), 16 deletions(-) delete mode 100644 .github/workflows/post-release.yml rename .github/workflows/{publish-dev-dockerimage.yaml => release-dev.yaml} (92%) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml deleted file mode 100644 index fcdeaa1..0000000 --- a/.github/workflows/post-release.yml +++ /dev/null @@ -1,15 +0,0 @@ -on: - release: - types: - - created - tags: - - 'v[0-9]+.[0-9]+.[0-9]+' - - '**/v[0-9]+.[0-9]+.[0-9]+' - -jobs: - build: - name: Renew documentation - runs-on: ubuntu-latest - steps: - - name: Pull new module version - uses: andrewslotin/go-proxy-pull-action@master diff --git a/.github/workflows/publish-dev-dockerimage.yaml b/.github/workflows/release-dev.yaml similarity index 92% rename from .github/workflows/publish-dev-dockerimage.yaml rename to .github/workflows/release-dev.yaml index c02186a..dde175c 100644 --- a/.github/workflows/publish-dev-dockerimage.yaml +++ b/.github/workflows/release-dev.yaml @@ -1,4 +1,4 @@ -name: Docker image (latest-dev) +name: Release (Develop) on: push: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..5b73616 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,175 @@ +name: Release (Production) + +on: + release: + types: + - created + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + - '**/v[0-9]+.[0-9]+.[0-9]+' + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15.x + - name: Install linter + run: | + go get -u golang.org/x/lint/golint + - name: Lint files + run: | + golint -set_exit_status ./... + + test: + name: Test + strategy: + matrix: + go-version: + - 1.15.x + platform: + - ubuntu-latest + - macos-latest + - windows-latest + runs-on: ${{ matrix.platform }} + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15.x + - name: Run tests + run: | + go test ./... -coverprofile coverage.out + + build: + name: Build + runs-on: ubuntu-latest + needs: + - test + - lint + env: + CGO_ENABLED: ${CGO_ENABLED:-0} + TAG: ${GITHUB_REF#refs/tags/} + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15.x + - name: Run goreleaser + uses: goreleaser/goreleaser-action@v2 + with: + version: v0.104.1 + args: --debug + - name: Enable experimental docker features + run: | + mkdir -p ~/.docker/ && \ + echo '{"experimental": "enabled"}' > ~/.docker/config.json + - name: Create manifest for version + run: | + export DH_TAG=$(echo $TAG | sed 's/^v*//') + docker manifest create \ + containrrr/watchtower:$DH_TAG \ + containrrr/watchtower:amd64-$DH_TAG \ + containrrr/watchtower:i386-$DH_TAG \ + containrrr/watchtower:armhf-$DH_TAG \ + containrrr/watchtower:arm64v8-$DH_TAG + - name: Annotate manifest for version + run: | + docker manifest annotate \ + containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + containrrr/watchtower:i386-$(echo $TAG | sed 's/^v*//') \ + --os linux \ + --arch 386 + + docker manifest annotate \ + containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + containrrr/watchtower:armhf-$(echo $TAG | sed 's/^v*//') \ + --os linux \ + --arch arm + + docker manifest annotate \ + containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + containrrr/watchtower:arm64v8-$(echo $TAG | sed 's/^v*//') \ + --os linux \ + --arch arm64 \ + --variant v8 + - name: Create manifest for latest + run: | + docker manifest create \ + containrrr/watchtower:latest \ + containrrr/watchtower:amd64-latest \ + containrrr/watchtower:i386-latest \ + containrrr/watchtower:armhf-latest \ + containrrr/watchtower:arm64v8-latest + - name: Annotate manifest for latest + run: | + docker manifest annotate \ + containrrr/watchtower:latest \ + containrrr/watchtower:i386-latest \ + --os linux \ + --arch 386 + + docker manifest annotate \ + containrrr/watchtower:latest \ + containrrr/watchtower:armhf-latest \ + --os linux \ + --arch arm + + docker manifest annotate \ + containrrr/watchtower:latest \ + containrrr/watchtower:arm64v8-latest \ + --os linux \ + --arch arm64 \ + --variant v8 + - name: Push manifests to Dockerhub + run: | + echo "$DOCKER_PASS" | docker login -u $DOCKER_USER --password-stdin && \ + docker manifest push containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ + docker manifest push containrrr/watchtower:latest + + publish-docs: + name: Publish Docs + needs: build + runs-on: ubuntu-latest + steps: + - name: Install mkdocs + run: | + pip install \ + mkdocs \ + mkdocs-material \ + md-toc + - name: Generate docs + run: mkdocs build + - name: Publish docs + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./site + + renew-docs: + name: Refresh pkg.go.dev + needs: build + runs-on: ubuntu-latest + steps: + - name: Pull new module version + uses: andrewslotin/go-proxy-pull-action@master + + + + + \ No newline at end of file From 3369d2427c3a7862444f8f34f09aeed3526f1424 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 10 Jan 2021 16:39:45 +0100 Subject: [PATCH 044/389] chore(ci): add coverage upload --- .github/workflows/pull-request.yml | 6 +++++- .github/workflows/release.yml | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 5bdd01e..1f0ec4f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -47,7 +47,11 @@ jobs: go-version: 1.15.x - name: Run tests run: | - go test ./... -coverprofile coverage.out + CGO_ENABLED=0 go test -v -coverprofile=coverage.out -covermode=atomic ./... + - name: Publish coverage + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} build: name: Build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5b73616..4a83e1f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -147,6 +147,10 @@ jobs: needs: build runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 - name: Install mkdocs run: | pip install \ From fb9469e58e16b4f48418c21b679c72f4a9cafd19 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Tue, 12 Jan 2021 08:29:23 +0100 Subject: [PATCH 045/389] remove cgo_enable flag for the test step this was a last-minute change that actually isn't needed. we'll know whether this is an issue in the build step anyway. --- .github/workflows/pull-request.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 1f0ec4f..2ff161a 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -47,7 +47,7 @@ jobs: go-version: 1.15.x - name: Run tests run: | - CGO_ENABLED=0 go test -v -coverprofile=coverage.out -covermode=atomic ./... + go test -v -coverprofile=coverage.out -covermode=atomic ./... - name: Publish coverage uses: codecov/codecov-action@v1 with: @@ -69,4 +69,4 @@ jobs: uses: goreleaser/goreleaser-action@v2 with: version: v0.104.1 - args: --snapshot --skip-publish --debug \ No newline at end of file + args: --snapshot --skip-publish --debug From 4689853493b827105213dabecffafd30e971dded Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Tue, 12 Jan 2021 08:34:11 +0100 Subject: [PATCH 046/389] fix: Set log level to debug for message about API token (#757) --- pkg/api/api.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/api/api.go b/pkg/api/api.go index 987e4bd..9afded5 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -30,7 +30,7 @@ func (api *API) RequireToken(fn http.HandlerFunc) http.HandlerFunc { log.Debugf("Expected token to be \"%s\"", api.Token) return } - log.Println("Valid token found.") + log.Debug("Valid token found.") fn(w, r) } } From b6af45b9ae7ae259a14f0b3487cbbe35eb833c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 12 Jan 2021 20:04:58 +0100 Subject: [PATCH 047/389] chore(ci): disable fail-fast for pr tests (#766) --- .github/workflows/pull-request.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 2ff161a..768a7b5 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -28,6 +28,7 @@ jobs: test: name: Test strategy: + fail-fast: false matrix: go-version: - 1.15.x From bfd57c7180a61bbac47a75a0302dfaf5eaf97ce9 Mon Sep 17 00:00:00 2001 From: Srihari Thalla Date: Tue, 12 Jan 2021 20:06:11 +0100 Subject: [PATCH 048/389] chore: Update Badges on Docs (#764) --- docs/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/index.md b/docs/index.md index 1b997bf..10d9b16 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,6 +11,9 @@ Circle CI + + Codecov + GoDoc @@ -26,13 +29,10 @@ Apache-2.0 License - - Codacy Badge + + Codacy Badge - - Codacy Badge - - + All Contributors From 8b95e8c1c37a658c7a9f247859d9788bd195e6f1 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 12 Jan 2021 20:08:15 +0100 Subject: [PATCH 049/389] docs: add SrihariThalla as a contributor (#769) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++ README.md | 156 ++++++++++++++++++++++---------------------- 2 files changed, 88 insertions(+), 77 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index d084e9f..0de94a3 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -711,6 +711,15 @@ "contributions": [ "code" ] + }, + { + "login": "SrihariThalla", + "name": "Srihari Thalla", + "avatar_url": "https://avatars1.githubusercontent.com/u/7479937?v=4", + "profile": "https://github.com/SrihariThalla", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 52c42b9..9fc4194 100644 --- a/README.md +++ b/README.md @@ -42,107 +42,109 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - + + + + + + +

James

⚠️ 🤔

Florian

👀 📖

Brian DeHamer

💻 🚧

Ross Cadogan

💻

stffabi

💻 🚧

Austin

📖

David Gardner

👀 📖

James

⚠️ 🤔

Florian

👀 📖

Brian DeHamer

💻 🚧

Ross Cadogan

💻

stffabi

💻 🚧

Austin

📖

David Gardner

👀 📖

Tanguy ⧓ Herrmann

💻

Rodrigo Damazio Bovendorp

💻 📖

Ryan Kuba

🚇

cnrmck

📖

Harry Walter

💻

Robotex

📖

Gerald Pape

📖

Tanguy ⧓ Herrmann

💻

Rodrigo Damazio Bovendorp

💻 📖

Ryan Kuba

🚇

cnrmck

📖

Harry Walter

💻

Robotex

📖

Gerald Pape

📖

fomk

💻

Sven Gottwald

🚇

techknowlogick

💻

waja

📖

Scott Albertson

📖

Jason Huddleston

📖

Napster

💻

fomk

💻

Sven Gottwald

🚇

techknowlogick

💻

waja

📖

Scott Albertson

📖

Jason Huddleston

📖

Napster

💻

Maxim

💻 📖

Max Schmitt

📖

cron410

📖

Paulo Henrique

📖

Kaleb Elwert

📖

Bill Butler

📖

Mario Tacke

💻

Maxim

💻 📖

Max Schmitt

📖

cron410

📖

Paulo Henrique

📖

Kaleb Elwert

📖

Bill Butler

📖

Mario Tacke

💻

Mark Woodbridge

💻

Simon Aronsson

💻 🚧 👀 📖

Ansem93

📖

Luka Peschke

💻 📖

Zois Pagoulatos

💻 👀

Alexandre Menif

💻

Andrey

📖

Mark Woodbridge

💻

Simon Aronsson

💻 🚧 👀 📖

Ansem93

📖

Luka Peschke

💻 📖

Zois Pagoulatos

💻 👀

Alexandre Menif

💻

Andrey

📖

Armando Lüscher

📖

Ryan Budke

📖

Kaloyan Raev

💻 ⚠️

sixth

📖

Gina Häußge

💻

Max H.

💻

Jungkook Park

📖

Armando Lüscher

📖

Ryan Budke

📖

Kaloyan Raev

💻 ⚠️

sixth

📖

Gina Häußge

💻

Max H.

💻

Jungkook Park

📖

Jan Kristof Nidzwetzki

📖

lukas

💻

Ameya Shenoy

💻

Raymon de Looff

💻

John Clayton

💻

Germs2004

📖

Lukas Willburger

💻

Jan Kristof Nidzwetzki

📖

lukas

💻

Ameya Shenoy

💻

Raymon de Looff

💻

John Clayton

💻

Germs2004

📖

Lukas Willburger

💻

Oliver Cervera

📖

Victor Moura

⚠️ 💻 📖

Maximilian Brandau

💻 ⚠️

Andrew

📖

sixcorners

📖

nils måsén

📖 💻

Arne Jørgensen

⚠️ 👀

Oliver Cervera

📖

Victor Moura

⚠️ 💻 📖

Maximilian Brandau

💻 ⚠️

Andrew

📖

sixcorners

📖

nils måsén

📖 💻

Arne Jørgensen

⚠️ 👀

PatSki123

📖

Valentine Zavadsky

💻 📖 ⚠️

Alexander Voronin

💻 🐛

Oliver Mueller

📖

Sebastiaan Tammer

💻

miosame

📖

Andrew Metzger

🐛 💡

PatSki123

📖

Valentine Zavadsky

💻 📖 ⚠️

Alexander Voronin

💻 🐛

Oliver Mueller

📖

Sebastiaan Tammer

💻

miosame

📖

Andrew Metzger

🐛 💡

Pierre Grimaud

📖

Matt Doran

📖

MihailITPlace

💻

bugficks

💻 📖

Michael

💻

D. Domig

📖

Ben Osheroff

💻

Pierre Grimaud

📖

Matt Doran

📖

MihailITPlace

💻

bugficks

💻 📖

Michael

💻

D. Domig

📖

Ben Osheroff

💻

David H.

💻

Chander Ganesan

📖

yrien30

💻

ksurl

📖

rg9400

💻

Turtle Kalus

💻

David H.

💻

Chander Ganesan

📖

yrien30

💻

ksurl

📖

rg9400

💻

Turtle Kalus

💻

Srihari Thalla

📖
- + + This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! From eccf87a47d354bc1c39a3ba20605965b48737f77 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Tue, 12 Jan 2021 20:13:19 +0100 Subject: [PATCH 050/389] make test command windows compatible --- .github/workflows/pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 768a7b5..180b105 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -48,7 +48,7 @@ jobs: go-version: 1.15.x - name: Run tests run: | - go test -v -coverprofile=coverage.out -covermode=atomic ./... + go test -v -coverprofile coverage.out -covermode atomic ./... - name: Publish coverage uses: codecov/codecov-action@v1 with: From d04d71508f40d3ed027a9d06c67deea26afc1cc0 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Tue, 12 Jan 2021 20:19:14 +0100 Subject: [PATCH 051/389] fix: Disallow log level 'trace' (#765) Co-authored-by: Simon Aronsson --- pkg/notifications/notifier.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index dea0fc8..651ab6a 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -25,6 +25,10 @@ func NewNotifier(c *cobra.Command) *Notifier { } acceptedLogLevels := slackrus.LevelThreshold(logLevel) + // slackrus does not allow log level TRACE, even though it's an accepted log level for logrus + if len(acceptedLogLevels) == 0 { + log.Fatalf("Unsupported notification log level provided: %s", level) + } // Parse types and create notifiers. types, err := f.GetStringSlice("notifications") From 0961c74e6b299da5cbebfb857ee7c767d4353886 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Tue, 12 Jan 2021 20:43:41 +0100 Subject: [PATCH 052/389] ci: Add codeQL analysis checks (#770) --- .github/workflows/codeql-analysis.yml | 72 +++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..2437bb2 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,72 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +name: "CodeQL" + +on: + push: + branches: [main] + pull_request: + # The branches below must be a subset of the branches above + branches: [main] + schedule: + - cron: '0 1 * * 4' + workflow_dispatch: + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + # Override automatic language detection by changing the below list + # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] + language: ['go'] + # Learn more... + # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 From ae6bd207c12ad86739da2589a3704427f476eff7 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 12 Jan 2021 20:43:57 +0100 Subject: [PATCH 053/389] docs: add zoispag as a contributor (#771) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 3 ++- README.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 0de94a3..33e967a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -311,7 +311,8 @@ "profile": "https://github.com/zoispag", "contributions": [ "code", - "review" + "review", + "maintenance" ] }, { diff --git a/README.md b/README.md index 9fc4194..d330c3d 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d

Simon Aronsson

💻 🚧 👀 📖
Ansem93

📖
Luka Peschke

💻 📖 -
Zois Pagoulatos

💻 👀 +
Zois Pagoulatos

💻 👀 🚧
Alexandre Menif

💻
Andrey

📖 From 9cee66c93ddc2747dad5789403c4243720891017 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Thu, 14 Jan 2021 17:27:57 +0100 Subject: [PATCH 054/389] ci: Update code of conduct URL in github action (#778) Closes #777 --- .github/workflows/greetings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index 899bb52..20302f0 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -11,7 +11,7 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} issue-message: > Hi there! 👋🏼 - As you're new to this repo, we'd like to suggest that you read our [code of conduct](https://github.com/containrrr/watchtower/blob/master/CODE_OF_CONDUCT.md) + As you're new to this repo, we'd like to suggest that you read our [code of conduct](https://github.com/containrrr/.github/blob/master/CODE_OF_CONDUCT.md) as well as our [contribution guidelines](https://github.com/containrrr/watchtower/blob/master/CONTRIBUTING.md). Thanks a bunch for opening your first issue! 🙏 pr-message: > From d60c0d6b573bd8fb66906ceda5b64e1433fee24f Mon Sep 17 00:00:00 2001 From: Srihari Thalla Date: Tue, 19 Jan 2021 07:08:18 +0100 Subject: [PATCH 055/389] chore: fix badge url for contributors and docker pulls (#774) --- README.md | 4 ++-- docs/index.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d330c3d..c002e77 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,8 @@ [![latest version](https://img.shields.io/github/tag/containrrr/watchtower.svg)](https://github.com/containrrr/watchtower/releases) [![Apache-2.0 License](https://img.shields.io/github/license/containrrr/watchtower.svg)](https://www.apache.org/licenses/LICENSE-2.0) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/1c48cfb7646d4009aa8c6f71287670b8)](https://www.codacy.com/gh/containrrr/watchtower/dashboard?utm_source=github.com&utm_medium=referral&utm_content=containrrr/watchtower&utm_campaign=Badge_Grade) - [![All Contributors](https://img.shields.io/badge/all_contributors-30-orange.svg?style=flat-square)](#contributors) - [![Pulls from DockerHub](https://img.shields.io/docker/pulls/containrrr/watchtower.svg?style=flat-square)](https://hub.docker.com/r/containrrr/watchtower) + [![All Contributors](https://img.shields.io/github/all-contributors/containrrr/watchtower)](#contributors) + [![Pulls from DockerHub](https://img.shields.io/docker/pulls/containrrr/watchtower.svg)](https://hub.docker.com/r/containrrr/watchtower) diff --git a/docs/index.md b/docs/index.md index 10d9b16..e999c03 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,10 +33,10 @@ Codacy Badge - All Contributors + All Contributors - Pulls from DockerHub + Pulls from DockerHub

From aecac404139d7776f9495f2417404630cfc0f94d Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 19 Jan 2021 07:08:37 +0100 Subject: [PATCH 056/389] docs: add SrihariThalla as a contributor (#787) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> From a5b200e0334dcfbf4d5cd97a8d93e4f4de7c4dce Mon Sep 17 00:00:00 2001 From: Thomas Gaudin Date: Tue, 19 Jan 2021 07:11:35 +0100 Subject: [PATCH 057/389] Fix arguments doc formatting (#782) --- docs/arguments.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/arguments.md b/docs/arguments.md index 9c3d58d..6a615ce 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -248,7 +248,9 @@ Sets an authentication token to HTTP API requests. Environment Variable: WATCHTOWER_HTTP_API_TOKEN Type: String Default: - -```## Filter by scope +``` + +## Filter by scope Update containers that have a `com.centurylinklabs.watchtower.scope` label set with the same value as the given argument. This enables [running multiple instances](https://containrrr.github.io/watchtower/running-multiple-instances). ``` From 1886fde84a364fdeee959626f04171f69b2543e2 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 19 Jan 2021 07:12:07 +0100 Subject: [PATCH 058/389] docs: add nymous as a contributor (#788) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 3 +++ 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 33e967a..622d086 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -721,6 +721,15 @@ "contributions": [ "doc" ] + }, + { + "login": "nymous", + "name": "Thomas Gaudin", + "avatar_url": "https://avatars1.githubusercontent.com/u/4216559?v=4", + "profile": "https://nymous.io", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index c002e77..55380d5 100644 --- a/README.md +++ b/README.md @@ -140,6 +140,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Turtle Kalus

💻
Srihari Thalla

📖 + +
Thomas Gaudin

📖 + From a068203e4d023933bf27c0d9554f535e2c530bb8 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Thu, 4 Feb 2021 09:50:35 +0100 Subject: [PATCH 059/389] delete unused circleci config --- .circleci/config.yml | 227 ------------------------------------------- 1 file changed, 227 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 82d16b5..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,227 +0,0 @@ -version: 2.1 - -executors: - py: - docker: - - image: circleci/python:latest - working_directory: ~/repo - go: - docker: - - image: circleci/golang:latest - working_directory: ~/repo - -workflows: - version: 2 - ci: - jobs: - - checkout: - filters: - branches: - only: /.*/ - tags: - only: /.*/ - - linting: - requires: - - checkout - filters: - branches: - only: /.*/ - tags: - only: /.*/ - - testing: - requires: - - checkout - filters: - branches: - only: /.*/ - tags: - only: /.*/ - - build: - requires: - - testing - - linting - filters: - branches: - only: /.*/ - tags: - ignore: /^v[0-9]+(\.[0-9]+)*$/ - - publishing: - requires: - - testing - - linting - filters: - branches: - ignore: /.*/ - tags: - only: /^v[0-9]+(\.[0-9]+)*$/ - - publish-docs: - requires: - - testing - - linting - filters: - branches: - ignore: /.*/ - tags: - only: /^v[0-9]+(\.[0-9]+)*$/ -jobs: - checkout: - executor: go - steps: - - checkout - - persist_to_workspace: - paths: - - . - root: ~/repo - linting: - executor: go - steps: - - attach_workspace: - at: . - - run: go build . - - run: go get -u golang.org/x/lint/golint - - run: golint -set_exit_status ./... - testing: - executor: go - steps: - - attach_workspace: - at: . - - run: go build ./... - - run: go get github.com/schrej/godacov - - run: go test ./... -coverprofile coverage.out - # - run: godacov -t $CODACY_TOKEN -r ./coverage.out -c $CIRCLE_SHA1 - build: - executor: go - steps: - - attach_workspace: - at: . - - setup_remote_docker - - run: - name: Install Goreleaser - command: | - cd .. && \ - wget https://github.com/goreleaser/goreleaser/releases/download/v0.104.1/goreleaser_Linux_x86_64.tar.gz && \ - tar -xvf goreleaser_Linux_x86_64.tar.gz && \ - ./goreleaser -v - - run: - name: Execute goreleaser - command: CGO_ENABLED=${CGO_ENABLED:-0} ../goreleaser --snapshot --skip-publish --debug - publishing: - executor: go - steps: - - attach_workspace: - at: . - - setup_remote_docker - - run: - name: Install Goreleaser - command: | - cd .. && \ - wget https://github.com/goreleaser/goreleaser/releases/download/v0.104.1/goreleaser_Linux_x86_64.tar.gz && \ - tar -xvf goreleaser_Linux_x86_64.tar.gz && \ - ./goreleaser -v - - run: - name: Login to docker hub - command: | - echo "$DOCKER_PASS" | docker login -u $DOCKER_USER --password-stdin - - run: - name: Execute goreleaser - command: CGO_ENABLED=${CGO_ENABLED:-0} ../goreleaser --debug - - run: - name: Enable experimental docker features - command: | - mkdir -p ~/.docker/ && \ - echo '{"experimental": "enabled"}' > ~/.docker/config.json - - run: - name: Create manifest for version - command: | - docker manifest create \ - containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:amd64-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:i386-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:armhf-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:arm64v8-$(echo $CIRCLE_TAG | sed 's/^v*//') - - run: - name: Annotate i386 version - command: | - docker manifest annotate \ - containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:i386-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - --os linux \ - --arch 386 - - run: - name: Annotate ARM version - command: | - docker manifest annotate \ - containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:armhf-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - --os linux \ - --arch arm - - run: - name: Annotate ARM64 version - command: | - docker manifest annotate \ - containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') \ - containrrr/watchtower:arm64v8-$(echo $CIRCLE_TAG | sed 's/^v*//') \ - --os linux \ - --arch arm64 \ - --variant v8 - - run: - name: Create manifest for latest - command: | - docker manifest create \ - containrrr/watchtower:latest \ - containrrr/watchtower:amd64-latest \ - containrrr/watchtower:i386-latest \ - containrrr/watchtower:armhf-latest \ - containrrr/watchtower:arm64v8-latest - - run: - name: Annotate i386 latest - command: | - docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:i386-latest \ - --os linux \ - --arch 386 - - run: - name: Annotate ARM latest - command: | - docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:armhf-latest \ - --os linux \ - --arch arm - - run: - name: Annotate ARM64 latest - command: | - docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:arm64v8-latest \ - --os linux \ - --arch arm64 \ - --variant v8 - - run: - name: Push manifests to Dockerhub - command: | - echo "$DOCKER_PASS" | docker login -u $DOCKER_USER --password-stdin && - docker manifest push containrrr/watchtower:$(echo $CIRCLE_TAG | sed 's/^v*//') && \ - docker manifest push containrrr/watchtower:latest - publish-docs: - executor: py - steps: - - attach_workspace: - at: . - - run: - name: Install prerequisites - command: | - sudo pip install \ - mkdocs \ - mkdocs-material \ - md-toc - - add_ssh_keys: - fingerprints: - - '91:75:47:15:b2:8e:85:e5:67:0e:63:7f:22:d2:b4:6e' - - run: - name: Generate and publish - command: | - mkdir ~/.ssh && touch ~/.ssh/known_hosts; - ssh-keyscan -H github.com >> ~/.ssh/known_hosts && \ - mkdocs gh-deploy From d0943c3b77537175d816e89f9e90cc995c7b2967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Thu, 4 Feb 2021 11:30:56 +0100 Subject: [PATCH 060/389] chore(ci): set image platform on image build (#811) Co-authored-by: Simon Aronsson --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 6 ++-- dockerfiles/Dockerfile | 2 +- goreleaser.yml | 45 ++++++++++++++++++------------ 4 files changed, 32 insertions(+), 23 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 180b105..099e259 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -69,5 +69,5 @@ jobs: - name: Build uses: goreleaser/goreleaser-action@v2 with: - version: v0.104.1 + version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4a83e1f..e2bdb86 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,10 +70,10 @@ jobs: uses: actions/setup-go@v2 with: go-version: 1.15.x - - name: Run goreleaser + - name: Build uses: goreleaser/goreleaser-action@v2 with: - version: v0.104.1 + version: v0.155.0 args: --debug - name: Enable experimental docker features run: | @@ -176,4 +176,4 @@ jobs: - \ No newline at end of file + diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 7e28eb2..345f5c2 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.11 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.11 as alpine RUN apk add --no-cache \ ca-certificates \ diff --git a/goreleaser.yml b/goreleaser.yml index 927cdcd..2bdd067 100644 --- a/goreleaser.yml +++ b/goreleaser.yml @@ -9,23 +9,26 @@ build: - 386 - arm - arm64 -archive: - name_template: "{{.ProjectName}}_{{.Os}}_{{.Arch}}" - format: tar.gz - replacements: - arm: armhf - arm64: arm64v8 - amd64: amd64 - 386: 386 - darwin: macOS - linux: linux - format_overrides: - - goos: windows - format: zip - files: - - LICENSE.md +archives: + - + name_template: "{{.ProjectName}}_{{.Os}}_{{.Arch}}" + format: tar.gz + replacements: + arm: armhf + arm64: arm64v8 + amd64: amd64 + 386: 386 + darwin: macOS + linux: linux + format_overrides: + - goos: windows + format: zip + files: + - LICENSE.md dockers: - + use_buildx: true + build_flag_templates: [ "--platform=linux/amd64" ] goos: linux goarch: amd64 goarm: '' @@ -35,7 +38,9 @@ dockers: - containrrr/watchtower:amd64-latest binaries: - watchtower - - + - + use_buildx: true + build_flag_templates: [ "--platform=linux/386" ] goos: linux goarch: 386 goarm: '' @@ -45,7 +50,9 @@ dockers: - containrrr/watchtower:i386-latest binaries: - watchtower - - + - + use_buildx: true + build_flag_templates: [ "--platform=linux/arm/v6" ] goos: linux goarch: arm goarm: 6 @@ -55,7 +62,9 @@ dockers: - containrrr/watchtower:armhf-latest binaries: - watchtower - - + - + use_buildx: true + build_flag_templates: [ "--platform=linux/arm64/v8" ] goos: linux goarch: arm64 goarm: '' From 52e6e11395e807ea284b28c43447d6d786758d04 Mon Sep 17 00:00:00 2001 From: "D. Domig" <18613935+jokay@users.noreply.github.com> Date: Tue, 9 Feb 2021 10:18:57 +0100 Subject: [PATCH 061/389] docs: update changed contributor username (#817) --- .all-contributorsrc | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 622d086..41c90ac 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -642,10 +642,10 @@ ] }, { - "login": "x-jokay", + "login": "jokay", "name": "D. Domig", "avatar_url": "https://avatars0.githubusercontent.com/u/18613935?v=4", - "profile": "https://github.com/x-jokay", + "profile": "https://github.com/jokay", "contributions": [ "doc" ] diff --git a/README.md b/README.md index 55380d5..983da4b 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
MihailITPlace

💻
bugficks

💻 📖
Michael

💻 -
D. Domig

📖 +
D. Domig

📖
Ben Osheroff

💻 From f10b4e3492f234d4aaea139741ec940b7fee97ad Mon Sep 17 00:00:00 2001 From: Lion - dapplion <35266934+dapplion@users.noreply.github.com> Date: Sun, 28 Feb 2021 19:29:18 +0100 Subject: [PATCH 062/389] Update HTTP API docs (#827) --- docs/http-api-mode.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/http-api-mode.md b/docs/http-api-mode.md index def90d5..5f5b19a 100644 --- a/docs/http-api-mode.md +++ b/docs/http-api-mode.md @@ -4,7 +4,7 @@ Watchtower provides an HTTP API mode that enables an HTTP endpoint that can be r --- -To enable this mode, use the flag `--http-api`. For example, in a Docker Compose config file: +To enable this mode, use the flag `--http-api-update`. For example, in a Docker Compose config file: ```yaml version: '3' @@ -19,7 +19,7 @@ services: image: containrrr/watchtower volumes: - /var/run/docker.sock:/var/run/docker.sock - command: --debug --http-api + command: --debug --http-api-update environment: - WATCHTOWER_HTTP_API_TOKEN=mytoken labels: @@ -31,5 +31,5 @@ services: Notice that there is an environment variable named WATCHTOWER_HTTP_API_TOKEN. To prevent external services from accidentally triggering image updates, all of the requests have to contain a "Token" field, valued as the token defined in WATCHTOWER_HTTP_API_TOKEN, in their headers. In this case, there is a port bind to the host machine, allowing to request localhost:8080 to reach Watchtower. The following `curl` command would trigger an image update: ```bash -curl -H "Token: mytoken" localhost:8080/v1/update -``` \ No newline at end of file +curl -H "Authorization: Bearer mytoken" localhost:8080/v1/update +``` From ce9e102835e0f685e93df164d5032fc5ecf6a730 Mon Sep 17 00:00:00 2001 From: hydrargyrum Date: Sun, 28 Feb 2021 18:31:55 +0000 Subject: [PATCH 063/389] docs: fix broken markup of "HTTP API Token" (#834) From 88d1dcf0d22610d357e56642f0d63c13f3706dfa Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 28 Feb 2021 19:32:33 +0100 Subject: [PATCH 064/389] docs: add hydrargyrum as a contributor (#839) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 41c90ac..661ab63 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -730,6 +730,15 @@ "contributions": [ "doc" ] + }, + { + "login": "hydrargyrum", + "name": "hydrargyrum", + "avatar_url": "https://avatars.githubusercontent.com/u/2804645?v=4", + "profile": "https://indigo.re/", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 983da4b..d534ac0 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Thomas Gaudin

📖 +
hydrargyrum

📖 From 70c737cebd2b4accc43627ddf201643ede9ecd63 Mon Sep 17 00:00:00 2001 From: Flavio Maria De Stefano Date: Tue, 2 Mar 2021 11:38:51 +0100 Subject: [PATCH 065/389] Typo in --http-api (#841) --- docs/arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/arguments.md b/docs/arguments.md index 6a615ce..01de345 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -234,7 +234,7 @@ Environment Variable: WATCHTOWER_RUN_ONCE Runs Watchtower in HTTP API mode, only allowing image updates to be triggered by an HTTP request. For details see [HTTP API](https://containrrr.github.io/watchtower/http-api-mode). ``` - Argument: --http-api + Argument: --http-api-update Environment Variable: WATCHTOWER_HTTP_API Type: Boolean Default: false From 60a6300f0eef17a38bed137235132b4885612d88 Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Tue, 9 Mar 2021 15:18:03 +0200 Subject: [PATCH 066/389] Set different default branch for mkdocs edit (#846) From mkdocs [documentation](https://www.mkdocs.org/user-guide/configuration/#edit_uri): ``` Note On a few known hosts (specifically GitHub, Bitbucket and GitLab), the edit_uri is derived from the 'repo_url' and does not need to be set manually. Simply defining a repo_url will automatically populate the edit_uri configs setting. For example, for a GitHub- or GitLab-hosted repository, the edit_uri would be automatically set as edit/master/docs/ (Note the edit path and master branch). For a Bitbucket-hosted repository, the equivalent edit_uri would be automatically set as src/default/docs/ (note the src path and default branch). To use a different URI than the default (for example a different branch), simply set the edit_uri to your desired string. If you do not want any "edit URL link" displayed on your pages, then set edit_uri to an empty string to disable the automatic setting. ``` --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index f628fbc..b40f794 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,6 +1,7 @@ site_name: Watchtower site_url: http://containrrr.github.io/watchtower/ repo_url: https://github.com/containrrr/watchtower/ +edit_uri: edit/main/docs/index.md theme: name: 'material' palette: From 738215a1f7505e6fe8c92ee0f3f98638d76ec7b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 13 Mar 2021 08:58:11 +0100 Subject: [PATCH 067/389] Update Shoutrrr to v0.4 (#810) --- go.mod | 17 ++-- go.sum | 150 +++++++++++++++++++++-------- pkg/notifications/email.go | 47 +++------ pkg/notifications/gotify.go | 36 +++---- pkg/notifications/msteams.go | 40 +++----- pkg/notifications/notifier.go | 38 +++++++- pkg/notifications/notifier_test.go | 42 +++++--- pkg/notifications/slack.go | 27 +++--- pkg/types/convertable_notifier.go | 7 -- pkg/types/convertible_notifier.go | 6 ++ 10 files changed, 244 insertions(+), 166 deletions(-) delete mode 100644 pkg/types/convertable_notifier.go create mode 100644 pkg/types/convertible_notifier.go diff --git a/go.mod b/go.mod index 87327db..bf557f7 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6 // indirect github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 // indirect - github.com/containrrr/shoutrrr v0.3.0 + github.com/containrrr/shoutrrr v0.4.1 github.com/docker/cli v0.0.0-20190327152802-57b27434ea29 github.com/docker/distribution v2.7.1+incompatible github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4 @@ -28,39 +28,34 @@ require ( github.com/docker/go-units v0.3.3 // indirect github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect github.com/gofrs/uuid v3.2.0+incompatible // indirect - github.com/golang/protobuf v1.4.2 // indirect github.com/google/certificate-transparency-go v1.0.21 // indirect github.com/gorilla/mux v1.7.0 // indirect github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect github.com/hashicorp/go-version v1.1.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/jinzhu/gorm v1.9.11 // indirect github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect - github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect github.com/lib/pq v1.2.0 // indirect github.com/miekg/pkcs11 v0.0.0-20190401114359-553cfdd26aaa // indirect github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect - github.com/onsi/ginkgo v1.11.0 - github.com/onsi/gomega v1.10.0 + github.com/onsi/ginkgo v1.14.2 + github.com/onsi/gomega v1.10.1 github.com/opencontainers/go-digest v1.0.0-rc1 // indirect github.com/opencontainers/image-spec v1.0.1 // indirect github.com/opencontainers/runc v0.1.1 // indirect - github.com/pkg/errors v0.8.1 // indirect github.com/prometheus/client_golang v0.9.3 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 - github.com/sirupsen/logrus v1.4.1 + github.com/sirupsen/logrus v1.4.2 github.com/spf13/cobra v0.0.7 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.6.3 - github.com/stretchr/testify v1.3.0 + github.com/stretchr/testify v1.4.0 github.com/theupdateframework/notary v0.6.1 // indirect github.com/zmap/zlint v1.0.2 // indirect golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 // indirect - golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 + golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 golang.org/x/text v0.3.4 // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect gopkg.in/dancannon/gorethink.v3 v3.0.5 // indirect gopkg.in/fatih/pool.v2 v2.0.0 // indirect gopkg.in/gorethink/gorethink.v3 v3.0.5 // indirect diff --git a/go.sum b/go.sum index c2e851a..19fe808 100644 --- a/go.sum +++ b/go.sum @@ -15,6 +15,7 @@ github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWX github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= +github.com/agnivade/wasmbrowsertest v0.3.1/go.mod h1:zQt6ZTdl338xxRaMW395qccVE2eQm0SjC/SDz0mPWQI= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= @@ -38,15 +39,19 @@ github.com/bugsnag/panicwrap v1.2.0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywR github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/chromedp/cdproto v0.0.0-20190614062957-d6d2f92b486d/go.mod h1:S8mB5wY3vV+vRIzf39xDXsw3XKYewW9X6rW2aEmkrSw= +github.com/chromedp/cdproto v0.0.0-20190621002710-8cbd498dd7a0/go.mod h1:S8mB5wY3vV+vRIzf39xDXsw3XKYewW9X6rW2aEmkrSw= +github.com/chromedp/cdproto v0.0.0-20190812224334-39ef923dcb8d/go.mod h1:0YChpVzuLJC5CPr+x3xkHN6Z8KOSXjNbL7qV8Wc4GW0= +github.com/chromedp/cdproto v0.0.0-20190926234355-1b4886c6fad6/go.mod h1:0YChpVzuLJC5CPr+x3xkHN6Z8KOSXjNbL7qV8Wc4GW0= +github.com/chromedp/chromedp v0.3.1-0.20190619195644-fd957a4d2901/go.mod h1:mJdvfrVn594N9tfiPecUidF6W5jPRKHymqHfzbobPsM= +github.com/chromedp/chromedp v0.4.0/go.mod h1:DC3QUn4mJ24dwjcaGQLoZrhm4X/uPHZ6spDbS2uFhm4= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6 h1:A7RURps5t4yDU0zktlgrE3Bdmjfv35nVs+xJdoWgIgY= github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA= github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882bXEDKfWIf0wa8HRvpnBoPszJJXL+TVbBw4M= github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containrrr/shoutrrr v0.0.0-20200601144753-78bb9685bc2f h1:Ln4yl+CYjrapeTEzMJQpgBwLjruKHcMosWFB/d1M4RQ= -github.com/containrrr/shoutrrr v0.0.0-20200601144753-78bb9685bc2f/go.mod h1:eotQeC9bHbsf9eMUnXOU/y5bskegseWNB4PwmxRO7Wc= -github.com/containrrr/shoutrrr v0.3.0 h1:2o1BKQUThSDtcidiMUq99CJijSRDa/nIB8kRhLBYmbk= -github.com/containrrr/shoutrrr v0.3.0/go.mod h1:gqR3sngKPBVaLrmq9Pfw34x/MXxn0ATjY8/dW+rXzrU= +github.com/containrrr/shoutrrr v0.4.1 h1:+p5+3Gb5dhzjUf3yriUIK6IeXtElJFFgBUGD9vb9ygE= +github.com/containrrr/shoutrrr v0.4.1/go.mod h1:zqL2BvfC1W4FujrT4b3/ZCLxvD+uoeEpBL7rg9Dqpbg= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -82,23 +87,45 @@ github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNE github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= +github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= +github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/go-interpreter/wagon v0.5.1-0.20190713202023-55a163980b6c/go.mod h1:5+b/MBYkclRZngKF5s6qrgWxSLgE9F5dFdO1hAueZLc= +github.com/go-interpreter/wagon v0.6.0/go.mod h1:5+b/MBYkclRZngKF5s6qrgWxSLgE9F5dFdO1hAueZLc= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -113,6 +140,9 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= @@ -135,13 +165,21 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190908185732-236ed259b199/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.5 h1:kxhtnfFVi+rYdOALN0B3k9UT86zVJKfBimRaciULW4I= +github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.0 h1:tOSd0UKHQd6urX6ApfOn4XdBMY6Sh1MfxV3kmaazO+U= github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= @@ -169,14 +207,20 @@ github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22/go.mod h1:u0Jo4 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 h1:+kBG/8rjCa6vxJZbUjAiE4MQmBEBYc8nLEb51frnvBY= github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07/go.mod h1:j1kV/8f3jowErEq4XyeypkCdvg5EeHkf0YCKCcq5Ybo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA= github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.7 h1:0hzRabrMN4tSTvMfnL3SCv1ZGeAP23ynzodBgaHeMeg= +github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/knq/sysutil v0.0.0-20181215143952-f05b59f0f307/go.mod h1:BjPj+aVjl9FW/cCGiF3nGh5v+9Gd3VCgBQbod/GlMaQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -186,6 +230,8 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -193,14 +239,22 @@ github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDe github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20190403194419-1ea4449da983/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= @@ -212,25 +266,30 @@ github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQz github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.6 h1:11TGpSHY7Esh/i/qnq02Jo5oVrI1Gue8Slbq0ujPZFQ= +github.com/nxadm/tail v1.4.6/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0 h1:JAKSXpt1YjtLA7YpPiqO9ss6sNXEsPfSGdwN0UHqzrw= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M= +github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.10.0 h1:Gwkk+PTu/nfOwNMtUB/mRUv0X7ewW5dO4AERT1ThVKo= -github.com/onsi/gomega v1.10.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -273,11 +332,14 @@ github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6y github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= @@ -289,14 +351,13 @@ github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3 h1:ZlrZ4XsMRm04Fr5pSFxBgfND2EBVa1nLpiy1stUsX/8= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.7 h1:FfTH+vuMXOas8jmfb5/M7dzEYx7LpcLb7a0LPe34uOU= github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -311,12 +372,19 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/theupdateframework/notary v0.6.1 h1:7wshjstgS9x9F5LuB1L5mBI2xNMObWqjz+cjWoom6l0= github.com/theupdateframework/notary v0.6.1/go.mod h1:MOfgIfmox8s7/7fduvB2xyPPMJCrjRLRizA8OFwpnKY= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/twitchyliquid64/golang-asm v0.0.0-20190126203739-365674df15fc/go.mod h1:NoCfSFWosfqMqmmD7hApkirIK9ozpHjxRnRxs1l413A= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/weppos/publicsuffix-go v0.4.0 h1:YSnfg3V65LcCFKtIGKGoBhkyKolEd0hlipcXaOjdnQw= github.com/weppos/publicsuffix-go v0.4.0/go.mod h1:z3LCPQ38eedDQSwmsSRW4Y7t2L8Ln16JPQ02lHAdn5k= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= @@ -327,11 +395,13 @@ github.com/zmap/zcrypto v0.0.0-20190729165852-9051775e6a2e h1:mvOa4+/DXStR4ZXOks github.com/zmap/zcrypto v0.0.0-20190729165852-9051775e6a2e/go.mod h1:w7kd3qXHh8FNaczNjslXqvFQiv5mMWRXlL9klTUAHc8= github.com/zmap/zlint v1.0.2 h1:07+WuC/prlXVlWa1CJx2lCpuCd8biIeBAVnwTN2CPaA= github.com/zmap/zlint v1.0.2/go.mod h1:29UiAJNsiVdvTBFCJW8e3q6dcDbOoPkhMgttOSCIMMY= +go.coder.com/go-tools v0.0.0-20190317003359-0c6a35b74a16/go.mod h1:iKV5yK9t+J5nG9O3uF6KYdPEz3dyfMyB15MN1rbQ8Qw= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180426230345-b49d69b5da94/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -344,9 +414,11 @@ golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTk golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -356,8 +428,9 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 h1:AeiKBIuRw3UomYXSbLy0Mc2dDLfdtbT/IVn4keq83P0= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -367,23 +440,9 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 h1:bjcUS9ztw9kFmmIxJInhon/0Is3p+EHBKNgquIzo1OI= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69 h1:Wdn4Yb8d5VrsO3jWgaeSZss09x1VLVBMePDh4VW/xSQ= -golang.org/x/sys v0.0.0-20190830141801-acfa387b8d69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200409092240-59c9f1ba88fa h1:mQTN3ECqfsViCNBgq+A40vdwhkGykrrQlYe3mPj6BoU= -golang.org/x/sys v0.0.0-20200409092240-59c9f1ba88fa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To= @@ -394,6 +453,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -402,7 +463,7 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -427,6 +488,7 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -438,6 +500,7 @@ gopkg.in/fatih/pool.v2 v2.0.0 h1:xIFeWtxifuQJGk/IEPKsTduEKcKvPmhoiVDGpC40nKg= gopkg.in/fatih/pool.v2 v2.0.0/go.mod h1:8xVGeu1/2jr2wm5V9SPuMht2H5AEmf5aFMGSQixtjTY= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= gopkg.in/gorethink/gorethink.v3 v3.0.5 h1:e2Uc/Xe+hpcVQFsj6MuHlYog3r0JYpnTzwDj/y2O4MU= gopkg.in/gorethink/gorethink.v3 v3.0.5/go.mod h1:+3yIIHJUGMBK+wyPH+iN5TP+88ikFDfZdqTlK3Y9q8I= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= @@ -452,12 +515,19 @@ gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gosrc.io/xmpp v0.1.1 h1:iMtE9W3fx254+4E6rI34AOPJDqWvpfQR6EYaVMzhJ4s= -gosrc.io/xmpp v0.1.1/go.mod h1:4JgaXzw4MnEv2sGltONtK3GMhj+h9gpQ7cO8nwbFJLU= +gosrc.io/xmpp v0.5.1 h1:Rgrm5s2rt+npGggJH3HakQxQXR8ZZz3+QRzakRQqaq4= +gosrc.io/xmpp v0.5.1/go.mod h1:L3NFMqYOxyLz3JGmgFyWf7r9htE91zVGiK40oW4RwdY= +gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/gotestsum v0.3.5/go.mod h1:Mnf3e5FUzXbkCfynWBGOwLssY7gTQgCHObK9tMpAriY= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +mvdan.cc/sh v2.6.4+incompatible/go.mod h1:IeeQbZq+x2SUGBensq/jge5lLQbS3XT2ktyp3wrt4x8= +nhooyr.io/websocket v1.6.5/go.mod h1:F259lAzPRAH0htX2y3ehpJe09ih1aSHN7udWki1defY= +nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 184bf84..4984139 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -1,11 +1,8 @@ package notifications import ( - "fmt" - "os" "time" - "github.com/containrrr/shoutrrr/pkg/format" "github.com/spf13/cobra" shoutrrrSmtp "github.com/containrrr/shoutrrr/pkg/services/smtp" @@ -29,11 +26,11 @@ type emailTypeNotifier struct { } // NewEmailNotifier is a factory method creating a new email notifier instance -func NewEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { +func NewEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { return newEmailNotifier(c, acceptedLogLevels) } -func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { +func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { flags := c.PersistentFlags() from, _ := flags.GetString("notification-email-from") @@ -63,7 +60,7 @@ func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert return n } -func (e *emailTypeNotifier) GetURL() string { +func (e *emailTypeNotifier) GetURL() (string, error) { conf := &shoutrrrSmtp.Config{ FromAddress: e.From, FromName: "Watchtower", @@ -73,43 +70,29 @@ func (e *emailTypeNotifier) GetURL() string { Subject: e.getSubject(), Username: e.User, Password: e.Password, - UseStartTLS: true, + UseStartTLS: !e.tlsSkipVerify, UseHTML: false, + Encryption: shoutrrrSmtp.EncMethods.Auto, + Auth: shoutrrrSmtp.AuthTypes.None, } - pkr := format.NewPropKeyResolver(conf) - var err error if len(e.User) > 0 { - err = pkr.Set("auth", "Plain") - } else { - err = pkr.Set("auth", "None") + conf.Auth = shoutrrrSmtp.AuthTypes.Plain } - if err != nil { - fmt.Printf("Could not set auth type for email notifier: %v", err) + if e.tlsSkipVerify { + conf.Encryption = shoutrrrSmtp.EncMethods.None } - return conf.GetURL().String() + return conf.GetURL().String(), nil } func (e *emailTypeNotifier) getSubject() string { - var emailSubject string + subject := GetTitle() - if e.SubjectTag == "" { - emailSubject = "Watchtower updates" - } else { - emailSubject = e.SubjectTag + " Watchtower updates" + if e.SubjectTag != "" { + subject = e.SubjectTag + " " + subject } - if hostname, err := os.Hostname(); err == nil { - emailSubject += " on " + hostname - } - return emailSubject + + return subject } - -// TODO: Delete these once all notifiers have been converted to shoutrrr -func (e *emailTypeNotifier) StartNotification() {} -func (e *emailTypeNotifier) SendNotification() {} -func (e *emailTypeNotifier) Levels() []log.Level { return nil } -func (e *emailTypeNotifier) Fire(entry *log.Entry) error { return nil } - -func (e *emailTypeNotifier) Close() {} diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index bb475bf..7a6009b 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -1,6 +1,7 @@ package notifications import ( + "net/url" "strings" shoutrrrGotify "github.com/containrrr/shoutrrr/pkg/services/gotify" @@ -22,20 +23,20 @@ type gotifyTypeNotifier struct { } // NewGotifyNotifier is a factory method creating a new gotify notifier instance -func NewGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertableNotifier { +func NewGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertibleNotifier { return newGotifyNotifier(c, levels) } -func newGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertableNotifier { +func newGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertibleNotifier { flags := c.PersistentFlags() - url := getGotifyURL(flags) + apiURL := getGotifyURL(flags) token := getGotifyToken(flags) skipVerify, _ := flags.GetBool("notification-gotify-tls-skip-verify") n := &gotifyTypeNotifier{ - gotifyURL: url, + gotifyURL: apiURL, gotifyAppToken: token, gotifyInsecureSkipVerify: skipVerify, logLevels: levels, @@ -66,26 +67,19 @@ func getGotifyURL(flags *pflag.FlagSet) string { return gotifyURL } -func (n *gotifyTypeNotifier) GetURL() string { - url := n.gotifyURL - - if strings.HasPrefix(url, "https://") { - url = strings.TrimPrefix(url, "https://") - } else { - url = strings.TrimPrefix(url, "http://") +func (n *gotifyTypeNotifier) GetURL() (string, error) { + apiURL, err := url.Parse(n.gotifyURL) + if err != nil { + return "", err } - url = strings.TrimSuffix(url, "/") - config := &shoutrrrGotify.Config{ - Host: url, - Token: n.gotifyAppToken, + Host: apiURL.Host, + Path: apiURL.Path, + DisableTLS: apiURL.Scheme == "http", + Title: GetTitle(), + Token: n.gotifyAppToken, } - return config.GetURL().String() + return config.GetURL().String(), nil } - -func (n *gotifyTypeNotifier) StartNotification() {} -func (n *gotifyTypeNotifier) SendNotification() {} -func (n *gotifyTypeNotifier) Close() {} -func (n *gotifyTypeNotifier) Levels() []log.Level { return nil } diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index 63c6aaa..6c47229 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -1,12 +1,11 @@ package notifications import ( - "strings" - shoutrrrTeams "github.com/containrrr/shoutrrr/pkg/services/teams" t "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "net/url" ) const ( @@ -20,11 +19,11 @@ type msTeamsTypeNotifier struct { } // NewMsTeamsNotifier is a factory method creating a new teams notifier instance -func NewMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { +func NewMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { return newMsTeamsNotifier(cmd, acceptedLogLevels) } -func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { +func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { flags := cmd.PersistentFlags() @@ -43,26 +42,19 @@ func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Con return n } -func (n *msTeamsTypeNotifier) GetURL() string { - - baseURL := "https://outlook.office.com/webhook/" - - path := strings.Replace(n.webHookURL, baseURL, "", 1) - rawToken := strings.Replace(path, "/IncomingWebhook", "", 1) - token := strings.Split(rawToken, "/") - config := &shoutrrrTeams.Config{ - Token: shoutrrrTeams.Token{ - A: token[0], - B: token[1], - C: token[2], - }, +func (n *msTeamsTypeNotifier) GetURL() (string, error) { + webhookURL, err := url.Parse(n.webHookURL) + if err != nil { + return "", err } - return config.GetURL().String() -} + config, err := shoutrrrTeams.ConfigFromWebhookURL(*webhookURL) + if err != nil { + return "", err + } -func (n *msTeamsTypeNotifier) StartNotification() {} -func (n *msTeamsTypeNotifier) SendNotification() {} -func (n *msTeamsTypeNotifier) Close() {} -func (n *msTeamsTypeNotifier) Levels() []log.Level { return nil } -func (n *msTeamsTypeNotifier) Fire(entry *log.Entry) error { return nil } + config.Color = ColorHex + config.Title = GetTitle() + + return config.GetURL().String(), nil +} diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index 651ab6a..938bb9e 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -5,6 +5,7 @@ import ( "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "os" ) // Notifier can send log output as notification to admins, with optional batching. @@ -36,13 +37,13 @@ func NewNotifier(c *cobra.Command) *Notifier { log.WithField("could not read notifications argument", log.Fields{"Error": err}).Fatal() } - n.types = n.GetNotificationTypes(c, acceptedLogLevels, types) + n.types = n.getNotificationTypes(c, acceptedLogLevels, types) return n } -// GetNotificationTypes produces an array of notifiers from a list of types -func (n *Notifier) GetNotificationTypes(cmd *cobra.Command, levels []log.Level, types []string) []ty.Notifier { +// getNotificationTypes produces an array of notifiers from a list of types +func (n *Notifier) getNotificationTypes(cmd *cobra.Command, levels []log.Level, types []string) []ty.Notifier { output := make([]ty.Notifier, 0) for _, t := range types { @@ -52,7 +53,8 @@ func (n *Notifier) GetNotificationTypes(cmd *cobra.Command, levels []log.Level, continue } - var legacyNotifier ty.ConvertableNotifier + var legacyNotifier ty.ConvertibleNotifier + var err error switch t { case emailType: @@ -65,11 +67,20 @@ func (n *Notifier) GetNotificationTypes(cmd *cobra.Command, levels []log.Level, legacyNotifier = newGotifyNotifier(cmd, []log.Level{}) default: log.Fatalf("Unknown notification type %q", t) + // Not really needed, used for nil checking static analysis + continue } + shoutrrrURL, err := legacyNotifier.GetURL() + if err != nil { + log.Fatal("failed to create notification config:", err) + } + + println(shoutrrrURL) + notifier := newShoutrrrNotifierFromURL( cmd, - legacyNotifier.GetURL(), + shoutrrrURL, levels, ) @@ -99,3 +110,20 @@ func (n *Notifier) Close() { t.Close() } } + +// GetTitle returns a common notification title with hostname appended +func GetTitle() (title string) { + title = "Watchtower updates" + + if hostname, err := os.Hostname(); err == nil { + title += " on " + hostname + } + + return +} + +// ColorHex is the default notification color used for services that support it (formatted as a CSS hex string) +const ColorHex = "#406170" + +// ColorInt is the default notification color used for services that support it (as an int value) +const ColorInt = 0x406170 diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 57132ac..5ef75a0 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -2,6 +2,7 @@ package notifications_test import ( "fmt" + "net/url" "os" "testing" @@ -28,7 +29,9 @@ var _ = Describe("notifications", func() { When("passing a discord url to the slack notifier", func() { channel := "123456789" token := "abvsihdbau" - expected := fmt.Sprintf("discord://%s@%s", token, channel) + color := notifications.ColorInt + title := url.QueryEscape(notifications.GetTitle()) + expected := fmt.Sprintf("discord://%s@%s?avatar=&color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&splitlines=Yes&title=%s&username=watchtower", token, channel, color, title) buildArgs := func(url string) []string { return []string{ "--notifications", @@ -55,9 +58,11 @@ var _ = Describe("notifications", func() { tokenA := "aaa" tokenB := "bbb" tokenC := "ccc" + color := url.QueryEscape(notifications.ColorHex) + title := url.QueryEscape(notifications.GetTitle()) hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) - expectedOutput := fmt.Sprintf("slack://%s@%s/%s/%s", username, tokenA, tokenB, tokenC) + expectedOutput := fmt.Sprintf("slack://%s@%s/%s/%s?color=%s&title=%s", username, tokenA, tokenB, tokenC, color, title) args := []string{ "--notification-slack-hook-url", @@ -78,8 +83,9 @@ var _ = Describe("notifications", func() { It("should return the expected URL", func() { token := "aaa" host := "shoutrrr.local" + title := url.QueryEscape(notifications.GetTitle()) - expectedOutput := fmt.Sprintf("gotify://%s/%s", host, token) + expectedOutput := fmt.Sprintf("gotify://%s/%s?disabletls=No&priority=0&title=%s", host, token, title) args := []string{ "--notification-gotify-url", @@ -99,12 +105,14 @@ var _ = Describe("notifications", func() { It("should return the expected URL", func() { - tokenA := "aaa" - tokenB := "bbb" - tokenC := "ccc" + tokenA := "11111111-4444-4444-8444-cccccccccccc@22222222-4444-4444-8444-cccccccccccc" + tokenB := "33333333012222222222333333333344" + tokenC := "44444444-4444-4444-8444-cccccccccccc" + color := url.QueryEscape(notifications.ColorHex) + title := url.QueryEscape(notifications.GetTitle()) hookURL := fmt.Sprintf("https://outlook.office.com/webhook/%s/IncomingWebhook/%s/%s", tokenA, tokenB, tokenC) - expectedOutput := fmt.Sprintf("teams://%s:%s@%s", tokenA, tokenB, tokenC) + expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s&host=outlook.office.com&title=%s", tokenA, tokenB, tokenC, color, title) args := []string{ "--notification-msteams-hook", @@ -156,20 +164,30 @@ func buildExpectedURL(username string, password string, host string, port int, f subject := fmt.Sprintf("Watchtower updates on %s", hostname) - var template = "smtp://%s:%s@%s:%d/?auth=%s&encryption=None&fromaddress=%s&fromname=Watchtower&starttls=Yes&subject=%s&toaddresses=%s&usehtml=No" - return fmt.Sprintf(template, username, password, host, port, auth, from, subject, to) + var template = "smtp://%s:%s@%s:%d/?auth=%s&encryption=Auto&fromaddress=%s&fromname=Watchtower&starttls=Yes&subject=%s&toaddresses=%s&usehtml=No" + return fmt.Sprintf(template, + url.QueryEscape(username), + url.QueryEscape(password), + host, port, auth, + url.QueryEscape(from), + url.QueryEscape(subject), + url.QueryEscape(to)) } -type builderFn = func(c *cobra.Command, acceptedLogLevels []log.Level) types.ConvertableNotifier +type builderFn = func(c *cobra.Command, acceptedLogLevels []log.Level) types.ConvertibleNotifier func testURL(builder builderFn, args []string, expectedURL string) { command := cmd.NewRootCommand() flags.RegisterNotificationFlags(command) - command.ParseFlags(args) + + err := command.ParseFlags(args) + Expect(err).NotTo(HaveOccurred()) notifier := builder(command, []log.Level{}) - actualURL := notifier.GetURL() + actualURL, err := notifier.GetURL() + + Expect(err).NotTo(HaveOccurred()) Expect(actualURL).To(Equal(expectedURL)) } diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index ede7141..b3df119 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -20,11 +20,11 @@ type slackTypeNotifier struct { } // NewSlackNotifier is a factory function used to generate new instance of the slack notifier type -func NewSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { +func NewSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { return newSlackNotifier(c, acceptedLogLevels) } -func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertableNotifier { +func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { flags := c.PersistentFlags() hookURL, _ := flags.GetString("notification-slack-hook-url") @@ -46,7 +46,7 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert return n } -func (s *slackTypeNotifier) GetURL() string { +func (s *slackTypeNotifier) GetURL() (string, error) { trimmedURL := strings.TrimRight(s.HookURL, "/") trimmedURL = strings.TrimLeft(trimmedURL, "https://") parts := strings.Split(trimmedURL, "/") @@ -54,10 +54,14 @@ func (s *slackTypeNotifier) GetURL() string { if parts[0] == "discord.com" || parts[0] == "discordapp.com" { log.Debug("Detected a discord slack wrapper URL, using shoutrrr discord service") conf := &shoutrrrDisco.Config{ - Channel: parts[len(parts)-3], - Token: parts[len(parts)-2], + Channel: parts[len(parts)-3], + Token: parts[len(parts)-2], + Color: ColorInt, + Title: GetTitle(), + SplitLines: true, + Username: s.Username, } - return conf.GetURL().String() + return conf.GetURL().String(), nil } rawTokens := strings.Replace(s.HookURL, "https://hooks.slack.com/services/", "", 1) @@ -66,14 +70,9 @@ func (s *slackTypeNotifier) GetURL() string { conf := &shoutrrrSlack.Config{ BotName: s.Username, Token: tokens, + Color: ColorHex, + Title: GetTitle(), } - return conf.GetURL().String() + return conf.GetURL().String(), nil } - -func (s *slackTypeNotifier) StartNotification() { -} - -func (s *slackTypeNotifier) SendNotification() {} - -func (s *slackTypeNotifier) Close() {} diff --git a/pkg/types/convertable_notifier.go b/pkg/types/convertable_notifier.go deleted file mode 100644 index 3d7ac82..0000000 --- a/pkg/types/convertable_notifier.go +++ /dev/null @@ -1,7 +0,0 @@ -package types - -// ConvertableNotifier is a notifier capable of creating a shoutrrr URL -type ConvertableNotifier interface { - Notifier - GetURL() string -} diff --git a/pkg/types/convertible_notifier.go b/pkg/types/convertible_notifier.go new file mode 100644 index 0000000..2614d12 --- /dev/null +++ b/pkg/types/convertible_notifier.go @@ -0,0 +1,6 @@ +package types + +// ConvertibleNotifier is a notifier capable of creating a shoutrrr URL +type ConvertibleNotifier interface { + GetURL() (string, error) +} From 45168e8515cfe87740d219b822131618e58dea70 Mon Sep 17 00:00:00 2001 From: Reinout van Rees Date: Tue, 23 Mar 2021 16:56:12 +0100 Subject: [PATCH 068/389] Doc fix: default interval is 24h instead of 5m (#856) Probably due to the docker hub rate limiting, the default interval was changed from 5 minutes to 24 hours. It is mentioned in the documentation for `--interval`, but not yet here :-) --- docs/usage-overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/usage-overview.md b/docs/usage-overview.md index b5737c3..04178a4 100644 --- a/docs/usage-overview.md +++ b/docs/usage-overview.md @@ -39,7 +39,7 @@ docker run -d \ > NOTE: if you mount `config.json` in the manner above, changes from the host system will (generally) not be propagated to the running container. Mounting files into the Docker daemon uses bind mounts, which are based on inodes. Most applications (including `docker login` and `vim`) will not directly edit the file, but instead make a copy and replace the original file, which results in a new inode which in turn *breaks* the bind mount. **As a workaround**, you can create a symlink to your `config.json` file and then mount the symlink in the container. The symlinked file will always have the same inode, which keeps the bind mount intact and will ensure changes to the original file are propagated to the running container (regardless of the inode of the source file!). -If you mount the config file as described above, be sure to also prepend the URL for the registry when starting up your watched image (you can omit the https://). Here is a complete docker-compose.yml file that starts up a docker container from a private repo at Docker Hub and monitors it with watchtower. Note the command argument changing the interval to 30s rather than the default 5 minutes. +If you mount the config file as described above, be sure to also prepend the URL for the registry when starting up your watched image (you can omit the https://). Here is a complete docker-compose.yml file that starts up a docker container from a private repo at Docker Hub and monitors it with watchtower. Note the command argument changing the interval to 30s rather than the default 24 hours. ```yaml version: "3" @@ -55,4 +55,4 @@ services: - /var/run/docker.sock:/var/run/docker.sock - /root/.docker/config.json:/config.json command: --interval 30 -``` \ No newline at end of file +``` From 5e17ef6014e4fbd4b988ba2995753d2a3b54519a Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 23 Mar 2021 16:56:22 +0100 Subject: [PATCH 069/389] docs: add reinout as a contributor (#857) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 661ab63..1973f66 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -739,6 +739,15 @@ "contributions": [ "doc" ] + }, + { + "login": "reinout", + "name": "Reinout van Rees", + "avatar_url": "https://avatars.githubusercontent.com/u/121433?v=4", + "profile": "https://reinout.vanrees.org", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index d534ac0..4c2b805 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Thomas Gaudin

📖
hydrargyrum

📖 +
Reinout van Rees

📖 From 9fa2fd82a697bd66fdbfb64bc7cc1223761bf9d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 28 Mar 2021 21:04:11 +0200 Subject: [PATCH 070/389] feat: include additional info in startup (#809) --- build.sh | 5 ++ cmd/root.go | 109 ++++++++++++++++++++++++++-------- pkg/filters/filters.go | 35 ++++++++++- pkg/filters/filters_test.go | 6 +- pkg/notifications/notifier.go | 21 +++++++ pkg/notifications/shoutrrr.go | 63 ++++++++++++-------- pkg/types/notifier.go | 1 + 7 files changed, 185 insertions(+), 55 deletions(-) create mode 100644 build.sh diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..363dc74 --- /dev/null +++ b/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +VERSION=$(git describe) +echo "Building $VERSION..." +go build -o watchtower -ldflags "-X github.com/containrrr/watchtower/cmd.version=$VERSION" \ No newline at end of file diff --git a/cmd/root.go b/cmd/root.go index 0aeeac6..3a597d0 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,14 +1,15 @@ package cmd import ( - metrics2 "github.com/containrrr/watchtower/pkg/metrics" + "math" "os" "os/signal" "strconv" + "strings" "syscall" "time" - "github.com/containrrr/watchtower/pkg/api/metrics" + apiMetrics "github.com/containrrr/watchtower/pkg/api/metrics" "github.com/containrrr/watchtower/pkg/api/update" "github.com/containrrr/watchtower/internal/actions" @@ -16,6 +17,7 @@ import ( "github.com/containrrr/watchtower/pkg/api" "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/filters" + "github.com/containrrr/watchtower/pkg/metrics" "github.com/containrrr/watchtower/pkg/notifications" t "github.com/containrrr/watchtower/pkg/types" "github.com/robfig/cron" @@ -36,6 +38,8 @@ var ( lifecycleHooks bool rollingRestart bool scope string + // Set on build using ldflags + version = "v0.0.0-unknown" ) var rootCmd = NewRootCommand() @@ -69,7 +73,7 @@ func Execute() { } // PreRun is a lifecycle hook that runs before the command is executed. -func PreRun(cmd *cobra.Command, args []string) { +func PreRun(cmd *cobra.Command, _ []string) { f := cmd.PersistentFlags() if enabled, _ := f.GetBool("no-color"); enabled { @@ -146,7 +150,7 @@ func PreRun(cmd *cobra.Command, args []string) { // Run is the main execution flow of the command func Run(c *cobra.Command, names []string) { - filter := filters.BuildFilter(names, enableLabel, scope) + filter, filterDesc := filters.BuildFilter(names, enableLabel, scope) runOnce, _ := c.PersistentFlags().GetBool("run-once") enableUpdateAPI, _ := c.PersistentFlags().GetBool("http-api-update") enableMetricsAPI, _ := c.PersistentFlags().GetBool("http-api-metrics") @@ -154,9 +158,7 @@ func Run(c *cobra.Command, names []string) { apiToken, _ := c.PersistentFlags().GetString("http-api-token") if runOnce { - if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { - log.Info("Running a one time update.") - } + writeStartupMessage(c, time.Time{}, filterDesc) runUpdatesWithNotifications(filter) notifier.Close() os.Exit(0) @@ -175,39 +177,99 @@ func Run(c *cobra.Command, names []string) { } if enableMetricsAPI { - metricsHandler := metrics.New() + metricsHandler := apiMetrics.New() httpAPI.RegisterHandler(metricsHandler.Path, metricsHandler.Handle) } - httpAPI.Start(enableUpdateAPI) + if err := httpAPI.Start(enableUpdateAPI); err != nil { + log.Error("failed to start API", err) + } - if err := runUpgradesOnSchedule(c, filter); err != nil { + if err := runUpgradesOnSchedule(c, filter, filterDesc); err != nil { log.Error(err) } os.Exit(1) } -func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { +func formatDuration(d time.Duration) string { + sb := strings.Builder{} + + hours := int64(d.Hours()) + minutes := int64(math.Mod(d.Minutes(), 60)) + seconds := int64(math.Mod(d.Seconds(), 60)) + + if hours == 1 { + sb.WriteString("1 hour") + } else if hours != 0 { + sb.WriteString(strconv.FormatInt(hours, 10)) + sb.WriteString(" hours") + } + + if hours != 0 && (seconds != 0 || minutes != 0) { + sb.WriteString(", ") + } + + if minutes == 1 { + sb.WriteString("1 minute") + } else if minutes != 0 { + sb.WriteString(strconv.FormatInt(minutes, 10)) + sb.WriteString(" minutes") + } + + if minutes != 0 && (seconds != 0) { + sb.WriteString(", ") + } + + if seconds == 1 { + sb.WriteString("1 second") + } else if seconds != 0 || (hours == 0 && minutes == 0) { + sb.WriteString(strconv.FormatInt(seconds, 10)) + sb.WriteString(" seconds") + } + + return sb.String() +} + +func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { + if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { + schedMessage := "Running a one time update." + if !sched.IsZero() { + until := formatDuration(time.Until(sched)) + schedMessage = "Scheduling first run: " + sched.Format("2006-01-02 15:04:05 -0700 MST") + + "\nNote that the first check will be performed in " + until + } + + notifs := "Using no notifications" + notifList := notifier.String() + if len(notifList) > 0 { + notifs = "Using notifications: " + notifList + } + + log.Info("Watchtower ", version, "\n", notifs, "\n", filtering, "\n", schedMessage) + } +} + +func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter, filtering string) error { tryLockSem := make(chan bool, 1) tryLockSem <- true - cron := cron.New() - err := cron.AddFunc( + scheduler := cron.New() + err := scheduler.AddFunc( scheduleSpec, func() { select { case v := <-tryLockSem: defer func() { tryLockSem <- v }() metric := runUpdatesWithNotifications(filter) - metrics2.RegisterScan(metric) + metrics.RegisterScan(metric) default: // Update was skipped - metrics2.RegisterScan(nil) + metrics.RegisterScan(nil) log.Debug("Skipped another update already running.") } - nextRuns := cron.Entries() + nextRuns := scheduler.Entries() if len(nextRuns) > 0 { log.Debug("Scheduled next run: " + nextRuns[0].Next.String()) } @@ -217,11 +279,9 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { return err } - if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { - log.Info("Starting Watchtower and scheduling first run: " + cron.Entries()[0].Schedule.Next(time.Now()).String()) - } + writeStartupMessage(c, scheduler.Entries()[0].Schedule.Next(time.Now()), filtering) - cron.Start() + scheduler.Start() // Graceful shut-down on SIGINT/SIGTERM interrupt := make(chan os.Signal, 1) @@ -229,14 +289,13 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter) error { signal.Notify(interrupt, syscall.SIGTERM) <-interrupt - cron.Stop() + scheduler.Stop() log.Info("Waiting for running update to be finished...") <-tryLockSem return nil } -func runUpdatesWithNotifications(filter t.Filter) *metrics2.Metric { - +func runUpdatesWithNotifications(filter t.Filter) *metrics.Metric { notifier.StartNotification() updateParams := t.UpdateParams{ Filter: filter, @@ -247,10 +306,10 @@ func runUpdatesWithNotifications(filter t.Filter) *metrics2.Metric { LifecycleHooks: lifecycleHooks, RollingRestart: rollingRestart, } - metrics, err := actions.Update(client, updateParams) + metricResults, err := actions.Update(client, updateParams) if err != nil { log.Println(err) } notifier.SendNotification() - return metrics + return metricResults } diff --git a/pkg/filters/filters.go b/pkg/filters/filters.go index 0e37885..18f39c2 100644 --- a/pkg/filters/filters.go +++ b/pkg/filters/filters.go @@ -1,6 +1,9 @@ package filters -import t "github.com/containrrr/watchtower/pkg/types" +import ( + t "github.com/containrrr/watchtower/pkg/types" + "strings" +) // WatchtowerContainersFilter filters only watchtower containers func WatchtowerContainersFilter(c t.FilterableContainer) bool { return c.IsWatchtower() } @@ -68,19 +71,45 @@ func FilterByScope(scope string, baseFilter t.Filter) t.Filter { } // BuildFilter creates the needed filter of containers -func BuildFilter(names []string, enableLabel bool, scope string) t.Filter { +func BuildFilter(names []string, enableLabel bool, scope string) (t.Filter, string) { + sb := strings.Builder{} filter := NoFilter filter = FilterByNames(names, filter) + + if len(names) > 0 { + sb.WriteString("with name \"") + for i, n := range names { + sb.WriteString(n) + if i < len(names)-1 { + sb.WriteString(`" or "`) + } + } + sb.WriteString(`", `) + } + if enableLabel { // If label filtering is enabled, containers should only be considered // if the label is specifically set. filter = FilterByEnableLabel(filter) + sb.WriteString("using enable label, ") } if scope != "" { // If a scope has been defined, containers should only be considered // if the scope is specifically set. filter = FilterByScope(scope, filter) + sb.WriteString(`in scope "`) + sb.WriteString(scope) + sb.WriteString(`", `) } filter = FilterByDisabledLabel(filter) - return filter + + filterDesc := "Checking all containers (except explicitly disabled with label)" + if sb.Len() > 0 { + filterDesc = "Only checking containers " + sb.String() + + // Remove the last ", " + filterDesc = filterDesc[:len(filterDesc)-2] + } + + return filter, filterDesc } diff --git a/pkg/filters/filters_test.go b/pkg/filters/filters_test.go index 5766b64..3b52b5e 100644 --- a/pkg/filters/filters_test.go +++ b/pkg/filters/filters_test.go @@ -114,7 +114,8 @@ func TestBuildFilter(t *testing.T) { var names []string names = append(names, "test") - filter := BuildFilter(names, false, "") + filter, desc := BuildFilter(names, false, "") + assert.Contains(t, desc, "test") container := new(mocks.FilterableContainer) container.On("Name").Return("Invalid") @@ -150,7 +151,8 @@ func TestBuildFilterEnableLabel(t *testing.T) { var names []string names = append(names, "test") - filter := BuildFilter(names, true, "") + filter, desc := BuildFilter(names, true, "") + assert.Contains(t, desc, "using enable label") container := new(mocks.FilterableContainer) container.On("Enabled").Return(false, false) diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index 938bb9e..b9e322e 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -6,6 +6,7 @@ import ( log "github.com/sirupsen/logrus" "github.com/spf13/cobra" "os" + "strings" ) // Notifier can send log output as notification to admins, with optional batching. @@ -42,6 +43,26 @@ func NewNotifier(c *cobra.Command) *Notifier { return n } +func (n *Notifier) String() string { + if len(n.types) < 1 { + return "" + } + + sb := strings.Builder{} + for _, notif := range n.types { + for _, name := range notif.GetNames() { + sb.WriteString(name) + sb.WriteString(", ") + } + } + names := sb.String() + + // remove the last separator + names = names[:len(names)-2] + + return names +} + // getNotificationTypes produces an array of notifiers from a list of types func (n *Notifier) getNotificationTypes(cmd *cobra.Command, levels []log.Level, types []string) []ty.Notifier { output := make([]ty.Notifier, 0) diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index 2715711..8376c91 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -33,16 +33,29 @@ type shoutrrrTypeNotifier struct { done chan bool } +func (n *shoutrrrTypeNotifier) GetNames() []string { + names := make([]string, len(n.Urls)) + for i, u := range n.Urls { + schemeEnd := strings.Index(u, ":") + if schemeEnd <= 0 { + names[i] = "invalid" + continue + } + names[i] = u[:schemeEnd] + } + return names +} + func newShoutrrrNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { flags := c.PersistentFlags() urls, _ := flags.GetStringArray("notification-url") - template := getShoutrrrTemplate(c) - return createSender(urls, acceptedLogLevels, template) + tpl := getShoutrrrTemplate(c) + return createSender(urls, acceptedLogLevels, tpl) } func newShoutrrrNotifierFromURL(c *cobra.Command, url string, levels []log.Level) t.Notifier { - template := getShoutrrrTemplate(c) - return createSender([]string{url}, levels, template) + tpl := getShoutrrrTemplate(c) + return createSender([]string{url}, levels, tpl) } func createSender(urls []string, levels []log.Level, template *template.Template) t.Notifier { @@ -83,54 +96,54 @@ func sendNotifications(n *shoutrrrTypeNotifier) { n.done <- true } -func (e *shoutrrrTypeNotifier) buildMessage(entries []*log.Entry) string { +func (n *shoutrrrTypeNotifier) buildMessage(entries []*log.Entry) string { var body bytes.Buffer - if err := e.template.Execute(&body, entries); err != nil { + if err := n.template.Execute(&body, entries); err != nil { fmt.Printf("Failed to execute Shoutrrrr template: %s\n", err.Error()) } return body.String() } -func (e *shoutrrrTypeNotifier) sendEntries(entries []*log.Entry) { - msg := e.buildMessage(entries) - e.messages <- msg +func (n *shoutrrrTypeNotifier) sendEntries(entries []*log.Entry) { + msg := n.buildMessage(entries) + n.messages <- msg } -func (e *shoutrrrTypeNotifier) StartNotification() { - if e.entries == nil { - e.entries = make([]*log.Entry, 0, 10) +func (n *shoutrrrTypeNotifier) StartNotification() { + if n.entries == nil { + n.entries = make([]*log.Entry, 0, 10) } } -func (e *shoutrrrTypeNotifier) SendNotification() { - if e.entries == nil || len(e.entries) <= 0 { +func (n *shoutrrrTypeNotifier) SendNotification() { + if n.entries == nil || len(n.entries) <= 0 { return } - e.sendEntries(e.entries) - e.entries = nil + n.sendEntries(n.entries) + n.entries = nil } -func (e *shoutrrrTypeNotifier) Close() { - close(e.messages) +func (n *shoutrrrTypeNotifier) Close() { + close(n.messages) // Use fmt so it doesn't trigger another notification. fmt.Println("Waiting for the notification goroutine to finish") - _ = <-e.done + _ = <-n.done } -func (e *shoutrrrTypeNotifier) Levels() []log.Level { - return e.logLevels +func (n *shoutrrrTypeNotifier) Levels() []log.Level { + return n.logLevels } -func (e *shoutrrrTypeNotifier) Fire(entry *log.Entry) error { - if e.entries != nil { - e.entries = append(e.entries, entry) +func (n *shoutrrrTypeNotifier) Fire(entry *log.Entry) error { + if n.entries != nil { + n.entries = append(n.entries, entry) } else { // Log output generated outside a cycle is sent immediately. - e.sendEntries([]*log.Entry{entry}) + n.sendEntries([]*log.Entry{entry}) } return nil } diff --git a/pkg/types/notifier.go b/pkg/types/notifier.go index 27dc483..f72f980 100644 --- a/pkg/types/notifier.go +++ b/pkg/types/notifier.go @@ -4,5 +4,6 @@ package types type Notifier interface { StartNotification() SendNotification() + GetNames() []string Close() } From 228dd75d7b630c201f8b6b9775a5b1e41042d7f1 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 28 Mar 2021 21:08:28 +0200 Subject: [PATCH 071/389] Update release-dev.yaml --- .github/workflows/release-dev.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index dde175c..5005b2e 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -3,7 +3,7 @@ name: Release (Develop) on: push: branches: - - master + - main jobs: From 027584aca2728540ee507b58094b367bbb906e38 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 28 Mar 2021 21:27:16 +0200 Subject: [PATCH 072/389] add gh token to goreleaser --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e2bdb86..6bd28dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -75,6 +75,8 @@ jobs: with: version: v0.155.0 args: --debug + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Enable experimental docker features run: | mkdir -p ~/.docker/ && \ From c4c0533bffa654ea2da897cf4ab29edf73c7f0c9 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 28 Mar 2021 21:43:54 +0200 Subject: [PATCH 073/389] add dockerhub login step --- .github/workflows/release.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6bd28dc..641a6c3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,6 +70,11 @@ jobs: uses: actions/setup-go@v2 with: go-version: 1.15.x + - name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build uses: goreleaser/goreleaser-action@v2 with: @@ -140,7 +145,6 @@ jobs: --variant v8 - name: Push manifests to Dockerhub run: | - echo "$DOCKER_PASS" | docker login -u $DOCKER_USER --password-stdin && \ docker manifest push containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ docker manifest push containrrr/watchtower:latest From 8448851987661be7ee771add8e19299bdc8239a2 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 28 Mar 2021 22:05:40 +0200 Subject: [PATCH 074/389] fix tag name parsing, hopefully --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 641a6c3..e212774 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -60,7 +60,7 @@ jobs: - lint env: CGO_ENABLED: ${CGO_ENABLED:-0} - TAG: ${GITHUB_REF#refs/tags/} + TAG: ${{ github.event.release.tag_name }} steps: - name: Checkout uses: actions/checkout@v2 From b7f3e68d49f87864fdde17d74d54d489af00b11a Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 28 Mar 2021 22:15:29 +0200 Subject: [PATCH 075/389] Update release.yml --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e212774..5ad5f64 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -145,6 +145,7 @@ jobs: --variant v8 - name: Push manifests to Dockerhub run: | + echo "$DOCKER_TOKEN" | docker login -u $DOCKER_USER --password-stdin && \ docker manifest push containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ docker manifest push containrrr/watchtower:latest From bde9aec1c0cee6ae3e86a73beced2b2cb940a15d Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 28 Mar 2021 22:28:19 +0200 Subject: [PATCH 076/389] fix docker secrets --- .github/workflows/release.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5ad5f64..7971d96 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -144,8 +144,11 @@ jobs: --arch arm64 \ --variant v8 - name: Push manifests to Dockerhub + env: + DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKER_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} run: | - echo "$DOCKER_TOKEN" | docker login -u $DOCKER_USER --password-stdin && \ + docker login -u $DOCKER_USER -p $DOCKER_TOKEN && \ docker manifest push containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ docker manifest push containrrr/watchtower:latest From 69b7480b4d7928e58768bc4717836fb25fc9f19a Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 28 Mar 2021 23:48:47 +0200 Subject: [PATCH 077/389] permanently disable cgo for production releases --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7971d96..3083abb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,7 +59,7 @@ jobs: - test - lint env: - CGO_ENABLED: ${CGO_ENABLED:-0} + CGO_ENABLED: 0 TAG: ${{ github.event.release.tag_name }} steps: - name: Checkout From fac88f9cd27fb8d41540d8c55f232b98008490df Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Mon, 29 Mar 2021 18:01:05 +0200 Subject: [PATCH 078/389] add version info to goreleasers ldflags --- goreleaser.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/goreleaser.yml b/goreleaser.yml index 2bdd067..6a8ffdf 100644 --- a/goreleaser.yml +++ b/goreleaser.yml @@ -9,6 +9,9 @@ build: - 386 - arm - arm64 + ldflags: + - -s -w -X main.build={{.Version}} -X github.com/containrrr/watchtower/cmd.version={{.Version}} + - ./usemsan=-msan archives: - name_template: "{{.ProjectName}}_{{.Os}}_{{.Arch}}" From da56c215db6e78a5b420125abc3732ef65dbe7dd Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Mon, 29 Mar 2021 18:19:08 +0200 Subject: [PATCH 079/389] rem vals we dont need or use from the gr config --- goreleaser.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/goreleaser.yml b/goreleaser.yml index 6a8ffdf..9b738e6 100644 --- a/goreleaser.yml +++ b/goreleaser.yml @@ -10,8 +10,7 @@ build: - arm - arm64 ldflags: - - -s -w -X main.build={{.Version}} -X github.com/containrrr/watchtower/cmd.version={{.Version}} - - ./usemsan=-msan + - -s -w -X github.com/containrrr/watchtower/cmd.version={{.Version}} archives: - name_template: "{{.ProjectName}}_{{.Os}}_{{.Arch}}" From a5ffb653dfe45f8723c4c5d457c11e98818c938e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Thu, 1 Apr 2021 19:18:36 +0200 Subject: [PATCH 080/389] chore(ci): fix default branch in Dockerfiles (#875) --- build.sh | 4 ++-- dockerfiles/Dockerfile.dev-self-contained | 6 +++--- dockerfiles/Dockerfile.self-contained | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build.sh b/build.sh index 363dc74..47d2b5c 100644 --- a/build.sh +++ b/build.sh @@ -1,5 +1,5 @@ #!/bin/bash -VERSION=$(git describe) +VERSION=$(git describe --tags) echo "Building $VERSION..." -go build -o watchtower -ldflags "-X github.com/containrrr/watchtower/cmd.version=$VERSION" \ No newline at end of file +go build -o watchtower -ldflags "-X github.com/containrrr/watchtower/cmd.version=$VERSION" diff --git a/dockerfiles/Dockerfile.dev-self-contained b/dockerfiles/Dockerfile.dev-self-contained index 307ffbe..b22ef13 100644 --- a/dockerfiles/Dockerfile.dev-self-contained +++ b/dockerfiles/Dockerfile.dev-self-contained @@ -4,8 +4,8 @@ FROM golang:alpine as builder -# use version (for example "v0.3.3") or "master" -ARG WATCHTOWER_VERSION=master +# use version (for example "v0.3.3") or "main" +ARG WATCHTOWER_VERSION=main RUN apk add --no-cache \ alpine-sdk \ @@ -18,7 +18,7 @@ COPY . /watchtower RUN \ cd /watchtower && \ \ - GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' . && \ + GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-extldflags '-static' -X github.com/containrrr/watchtower/cmd.version=$(git describe --tags)" . && \ GO111MODULE=on go test ./... -v diff --git a/dockerfiles/Dockerfile.self-contained b/dockerfiles/Dockerfile.self-contained index 64d5dc0..f24701f 100644 --- a/dockerfiles/Dockerfile.self-contained +++ b/dockerfiles/Dockerfile.self-contained @@ -4,8 +4,8 @@ FROM golang:alpine as builder -# use version (for example "v0.3.3") or "master" -ARG WATCHTOWER_VERSION=master +# use version (for example "v0.3.3") or "main" +ARG WATCHTOWER_VERSION=main RUN apk add --no-cache \ alpine-sdk \ @@ -18,7 +18,7 @@ RUN git clone --branch "${WATCHTOWER_VERSION}" https://github.com/containrrr/wat RUN \ cd watchtower && \ \ - GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' . && \ + GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-extldflags '-static' -X github.com/containrrr/watchtower/cmd.version=$(git describe --tags)" . && \ GO111MODULE=on go test ./... -v From 3b60afe55378bdb36554e9e9dff2eed962c184a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 3 Apr 2021 00:29:09 +0200 Subject: [PATCH 081/389] docs: remove the explicit file name from edit url (#879) follow up from #846 --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index b40f794..67529aa 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,7 +1,7 @@ site_name: Watchtower site_url: http://containrrr.github.io/watchtower/ repo_url: https://github.com/containrrr/watchtower/ -edit_uri: edit/main/docs/index.md +edit_uri: edit/main/docs/ theme: name: 'material' palette: From b644ec6829c9137e62f26413a14ec214413e0f6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 18 Apr 2021 18:11:46 +0200 Subject: [PATCH 082/389] fix(notifier): don't panic on unconfigured notifier (#869) --- pkg/notifications/notifier.go | 6 ++++++ pkg/notifications/notifier_test.go | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index b9e322e..ec313a5 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -55,6 +55,12 @@ func (n *Notifier) String() string { sb.WriteString(", ") } } + + if sb.Len() < 2 { + // No notification services are configured, return early as the separator strip is not applicable + return "none" + } + names := sb.String() // remove the last separator diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 5ef75a0..ecd228f 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -23,6 +23,22 @@ func TestActions(t *testing.T) { } var _ = Describe("notifications", func() { + Describe("the notifier", func() { + When("only empty notifier types are provided", func() { + + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + + err := command.ParseFlags([]string{ + "--notifications", + "shoutrrr", + }) + Expect(err).NotTo(HaveOccurred()) + notif := notifications.NewNotifier(command) + + Expect(notif.String()).To(Equal("none")) + }) + }) Describe("the slack notifier", func() { builderFn := notifications.NewSlackNotifier From bf8dec1b88b336c4e767c0983808aa2bd3e39124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 18 Apr 2021 18:30:58 +0200 Subject: [PATCH 083/389] chore(ci): run code coverage on main push (#870) * chore(ci): run code coverage on main push * merge workflows for pushes to main * add workflow dispatch for production releases Co-authored-by: Simon Aronsson --- .github/workflows/release-dev.yaml | 50 ++++++++++++++++++++++-------- .github/workflows/release.yml | 1 + 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 5005b2e..7928e45 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -1,23 +1,47 @@ -name: Release (Develop) +name: Push to main on: + workflow_dispatch: {} push: branches: - main jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - uses: jerray/publish-docker-action@master - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - file: dockerfiles/Dockerfile.self-contained - repository: containrrr/watchtower - tags: latest-dev + - uses: actions/checkout@v2 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15 + - name: Build + run: go build -v ./... + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15 + - name: Test + run: go test -v -coverprofile coverage.out -covermode atomic ./... + - name: Publish coverage + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + publish: + needs: + - build + - test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: jerray/publish-docker-action@master + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + file: dockerfiles/Dockerfile.self-contained + repository: containrrr/watchtower + tags: latest-dev diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3083abb..de72102 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,7 @@ name: Release (Production) on: + workflow_dispatch: {} release: types: - created From 62a6d31880b6cc509708d40f5c34d86bd7f1d1c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 18 Apr 2021 18:32:44 +0200 Subject: [PATCH 084/389] docs: suggest mounting localtime, not of timezone (#877) --- docs/arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/arguments.md b/docs/arguments.md index 01de345..70efc21 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -39,7 +39,7 @@ Environment Variable: N/A ## Time Zone Sets the time zone to be used by WatchTower's logs and the optional Cron scheduling argument (--schedule). If this environment variable is not set, Watchtower will use the default time zone: UTC. -To find out the right value, see [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), find your location and use the value in _TZ Database Name_, e.g _Europe/Rome_. The timezone can alternatively be set by volume mounting your hosts /etc/timezone file. `-v /etc/timezone:/etc/timezone:ro` +To find out the right value, see [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), find your location and use the value in _TZ Database Name_, e.g _Europe/Rome_. The timezone can alternatively be set by volume mounting your hosts /etc/localtime file. `-v /etc/localtime:/etc/localtime:ro` ``` Argument: N/A From 6a9d985ce76844cf16ca0d586d552e7d91afbb74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 18 Apr 2021 18:34:38 +0200 Subject: [PATCH 085/389] feat(log): use short image/container IDs in logs (#888) --- pkg/container/client.go | 25 ++++++++++++--------- pkg/container/util.go | 23 +++++++++++++++++++ pkg/container/util_test.go | 46 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 11 deletions(-) create mode 100644 pkg/container/util.go create mode 100644 pkg/container/util_test.go diff --git a/pkg/container/client.go b/pkg/container/client.go index 635aa3e..b125ed6 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -147,8 +147,10 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err signal = defaultStopSignal } + shortID := ShortID(c.ID()) + if c.IsRunning() { - log.Infof("Stopping %s (%s) with %s", c.Name(), c.ID(), signal) + log.Infof("Stopping %s (%s) with %s", c.Name(), shortID, signal) if err := client.api.ContainerKill(bg, c.ID(), signal); err != nil { return err } @@ -158,9 +160,9 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err _ = client.waitForStopOrTimeout(c, timeout) if c.containerInfo.HostConfig.AutoRemove { - log.Debugf("AutoRemove container %s, skipping ContainerRemove call.", c.ID()) + log.Debugf("AutoRemove container %s, skipping ContainerRemove call.", shortID) } else { - log.Debugf("Removing container %s", c.ID()) + log.Debugf("Removing container %s", shortID) if err := client.api.ContainerRemove(bg, c.ID(), types.ContainerRemoveOptions{Force: true, RemoveVolumes: client.removeVolumes}); err != nil { return err @@ -169,7 +171,7 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err // Wait for container to be removed. In this case an error is a good thing if err := client.waitForStopOrTimeout(c, timeout); err == nil { - return fmt.Errorf("container %s (%s) could not be removed", c.Name(), c.ID()) + return fmt.Errorf("container %s (%s) could not be removed", c.Name(), shortID) } return nil @@ -229,7 +231,7 @@ func (client dockerClient) StartContainer(c Container) (string, error) { func (client dockerClient) doStartContainer(bg context.Context, c Container, creation container.ContainerCreateCreatedBody) error { name := c.Name() - log.Debugf("Starting container %s (%s)", name, creation.ID) + log.Debugf("Starting container %s (%s)", name, ShortID(creation.ID)) err := client.api.ContainerStart(bg, creation.ID, types.ContainerStartOptions{}) if err != nil { return err @@ -239,7 +241,7 @@ func (client dockerClient) doStartContainer(bg context.Context, c Container, cre func (client dockerClient) RenameContainer(c Container, newName string) error { bg := context.Background() - log.Debugf("Renaming container %s (%s) to %s", c.Name(), c.ID(), newName) + log.Debugf("Renaming container %s (%s) to %s", c.Name(), ShortID(c.ID()), newName) return client.api.ContainerRename(bg, c.ID(), newName) } @@ -269,7 +271,7 @@ func (client dockerClient) HasNewImage(ctx context.Context, container Container) return false, nil } - log.Infof("Found new %s image (%s)", imageName, newImageInfo.ID) + log.Infof("Found new %s image (%s)", imageName, ShortID(newImageInfo.ID)) return true, nil } @@ -284,13 +286,13 @@ func (client dockerClient) PullImage(ctx context.Context, container Container) e log.WithFields(fields).Debugf("Trying to load authentication credentials.") opts, err := registry.GetPullOptions(imageName) - if opts.RegistryAuth != "" { - log.Debug("Credentials loaded") - } if err != nil { log.Debugf("Error loading authentication credentials %s", err) return err } + if opts.RegistryAuth != "" { + log.Debug("Credentials loaded") + } log.WithFields(fields).Debugf("Checking if pull is needed") @@ -326,7 +328,7 @@ func (client dockerClient) PullImage(ctx context.Context, container Container) e } func (client dockerClient) RemoveImageByID(id string) error { - log.Infof("Removing image %s", id) + log.Infof("Removing image %s", ShortID(id)) _, err := client.api.ImageRemove( context.Background(), @@ -404,6 +406,7 @@ func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, e for { execInspect, err := client.api.ContainerExecInspect(ctx, ID) + //goland:noinspection GoNilness log.WithFields(log.Fields{ "exit-code": execInspect.ExitCode, "exec-id": execInspect.ExecID, diff --git a/pkg/container/util.go b/pkg/container/util.go new file mode 100644 index 0000000..261316f --- /dev/null +++ b/pkg/container/util.go @@ -0,0 +1,23 @@ +package container + +import "strings" + +// ShortID returns the 12-character (hex) short version of an image ID hash, removing any "sha256:" prefix if present +func ShortID(imageID string) (short string) { + prefixSep := strings.IndexRune(imageID, ':') + offset := 0 + length := 12 + if prefixSep >= 0 { + if imageID[0:prefixSep] == "sha256" { + offset = prefixSep + 1 + } else { + length += prefixSep + 1 + } + } + + if len(imageID) >= offset+length { + return imageID[offset : offset+length] + } + + return imageID +} diff --git a/pkg/container/util_test.go b/pkg/container/util_test.go new file mode 100644 index 0000000..8cb0328 --- /dev/null +++ b/pkg/container/util_test.go @@ -0,0 +1,46 @@ +package container_test + +import ( + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + + . "github.com/containrrr/watchtower/pkg/container" +) + +var _ = Describe("container utils", func() { + Describe("ShortID", func() { + When("given a normal image ID", func() { + When("it contains a sha256 prefix", func() { + It("should return that ID in short version", func() { + actual := ShortID("sha256:0123456789abcd00000000001111111111222222222233333333334444444444") + Expect(actual).To(Equal("0123456789ab")) + }) + }) + When("it doesn't contain a prefix", func() { + It("should return that ID in short version", func() { + actual := ShortID("0123456789abcd00000000001111111111222222222233333333334444444444") + Expect(actual).To(Equal("0123456789ab")) + }) + }) + }) + When("given a short image ID", func() { + When("it contains no prefix", func() { + It("should return the same string", func() { + Expect(ShortID("0123456789ab")).To(Equal("0123456789ab")) + }) + }) + When("it contains a the sha256 prefix", func() { + It("should return the ID without the prefix", func() { + Expect(ShortID("sha256:0123456789ab")).To(Equal("0123456789ab")) + }) + }) + }) + When("given an ID with an unknown prefix", func() { + It("should return a short version of that ID including the prefix", func() { + Expect(ShortID("md5:0123456789ab")).To(Equal("md5:0123456789ab")) + Expect(ShortID("md5:0123456789abcdefg")).To(Equal("md5:0123456789ab")) + Expect(ShortID("md5:01")).To(Equal("md5:01")) + }) + }) + }) +}) From 4142f7966a6703ed3221f1ebffb6e03fa4e18747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 18 Apr 2021 18:35:15 +0200 Subject: [PATCH 086/389] fix: move notify URL to trace log (#907) --- pkg/notifications/notifier.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index ec313a5..c4e962f 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -103,7 +103,7 @@ func (n *Notifier) getNotificationTypes(cmd *cobra.Command, levels []log.Level, log.Fatal("failed to create notification config:", err) } - println(shoutrrrURL) + log.WithField("URL", shoutrrrURL).Trace("created Shoutrrr URL from legacy notifier") notifier := newShoutrrrNotifierFromURL( cmd, From 3de202a965faac19c0388ba2ec82d2980411d1d8 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 18 Apr 2021 18:37:35 +0200 Subject: [PATCH 087/389] fix depends on behavior and simplify some of its logic (#908) * fix depends on behavior and simplify some of its logic * fix comments --- cmd/root.go | 24 ++++++++++++++++++++++-- internal/actions/check.go | 34 ++++++++++++++++++++++++---------- internal/actions/update.go | 32 ++++++++++++++++++-------------- pkg/container/container.go | 6 +++--- scripts/dependency-test.sh | 16 ++++++++++++++++ 5 files changed, 83 insertions(+), 29 deletions(-) create mode 100755 scripts/dependency-test.sh diff --git a/cmd/root.go b/cmd/root.go index 3a597d0..df14ab6 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -154,9 +154,18 @@ func Run(c *cobra.Command, names []string) { runOnce, _ := c.PersistentFlags().GetBool("run-once") enableUpdateAPI, _ := c.PersistentFlags().GetBool("http-api-update") enableMetricsAPI, _ := c.PersistentFlags().GetBool("http-api-metrics") - apiToken, _ := c.PersistentFlags().GetString("http-api-token") + if rollingRestart && monitorOnly { + log.Fatal("Rolling restarts is not compatible with the global monitor only flag") + } + + awaitDockerClient() + + if err := actions.CheckForSanity(client, filter, rollingRestart); err != nil { + logNotifyExit(err) + } + if runOnce { writeStartupMessage(c, time.Time{}, filterDesc) runUpdatesWithNotifications(filter) @@ -166,7 +175,7 @@ func Run(c *cobra.Command, names []string) { } if err := actions.CheckForMultipleWatchtowerInstances(client, cleanup, scope); err != nil { - log.Fatal(err) + logNotifyExit(err) } httpAPI := api.New(apiToken) @@ -192,6 +201,17 @@ func Run(c *cobra.Command, names []string) { os.Exit(1) } +func logNotifyExit(err error) { + log.Error(err) + notifier.Close() + os.Exit(1) +} + +func awaitDockerClient() { + log.Debug("Sleeping for a second to ensure the docker api client has been properly initialized.") + time.Sleep(1 * time.Second) +} + func formatDuration(d time.Duration) string { sb := strings.Builder{} diff --git a/internal/actions/check.go b/internal/actions/check.go index 87133fc..436931f 100644 --- a/internal/actions/check.go +++ b/internal/actions/check.go @@ -2,28 +2,47 @@ package actions import ( "fmt" + "github.com/containrrr/watchtower/pkg/types" "sort" "time" "github.com/containrrr/watchtower/pkg/filters" "github.com/containrrr/watchtower/pkg/sorter" - "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus" "github.com/containrrr/watchtower/pkg/container" ) +// CheckForSanity makes sure everything is sane before starting +func CheckForSanity(client container.Client, filter types.Filter, rollingRestarts bool) error { + log.Debug("Making sure everything is sane before starting") + + if rollingRestarts { + containers, err := client.ListContainers(filter) + if err != nil { + return err + } + for _, c := range containers { + if len(c.Links()) > 0 { + return fmt.Errorf( + "%q is depending on at least one other container. This is not compatible with rolling restarts", + c.Name(), + ) + } + } + } + return nil +} + // CheckForMultipleWatchtowerInstances will ensure that there are not multiple instances of the // watchtower running simultaneously. If multiple watchtower containers are detected, this function // will stop and remove all but the most recently started container. This behaviour can be bypassed // if a scope UID is defined. func CheckForMultipleWatchtowerInstances(client container.Client, cleanup bool, scope string) error { - awaitDockerClient() containers, err := client.ListContainers(filters.FilterByScope(scope, filters.WatchtowerContainersFilter)) if err != nil { - log.Fatal(err) return err } @@ -45,14 +64,14 @@ func cleanupExcessWatchtowers(containers []container.Container, client container for _, c := range allContainersExceptLast { if err := client.StopContainer(c, 10*time.Minute); err != nil { // logging the original here as we're just returning a count - logrus.WithError(err).Error("Could not stop a previous watchtower instance.") + log.WithError(err).Error("Could not stop a previous watchtower instance.") stopErrors++ continue } if cleanup { if err := client.RemoveImageByID(c.ImageID()); err != nil { - logrus.WithError(err).Warning("Could not cleanup watchtower images, possibly because of other watchtowers instances in other scopes.") + log.WithError(err).Warning("Could not cleanup watchtower images, possibly because of other watchtowers instances in other scopes.") } } } @@ -63,8 +82,3 @@ func cleanupExcessWatchtowers(containers []container.Container, client container return nil } - -func awaitDockerClient() { - log.Debug("Sleeping for a second to ensure the docker api client has been properly initialized.") - time.Sleep(1 * time.Second) -} diff --git a/internal/actions/update.go b/internal/actions/update.go index 9320d6a..06bb345 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -50,6 +50,7 @@ func Update(client container.Client, params types.UpdateParams) (*metrics2.Metri } containers, err = sorter.SortByDependencies(containers) + metric.Scanned = len(containers) if err != nil { return nil, err @@ -57,11 +58,11 @@ func Update(client container.Client, params types.UpdateParams) (*metrics2.Metri checkDependencies(containers) - containersToUpdate := []container.Container{} + var containersToUpdate []container.Container if !params.MonitorOnly { - for i := len(containers) - 1; i >= 0; i-- { - if !containers[i].IsMonitorOnly() { - containersToUpdate = append(containersToUpdate, containers[i]) + for _, c := range containers { + if !c.IsMonitorOnly() { + containersToUpdate = append(containersToUpdate, c) } } } @@ -86,7 +87,7 @@ func performRollingRestart(containers []container.Container, client container.Cl failed := 0 for i := len(containers) - 1; i >= 0; i-- { - if containers[i].Stale { + if containers[i].ToRestart() { if err := stopStaleContainer(containers[i], client, params); err != nil { failed++ } @@ -119,7 +120,7 @@ func stopStaleContainer(container container.Container, client container.Client, return nil } - if !container.Stale { + if !container.ToRestart() { return nil } if params.LifecycleHooks { @@ -143,7 +144,7 @@ func restartContainersInSortedOrder(containers []container.Container, client con failed := 0 for _, c := range containers { - if !c.Stale { + if !c.ToRestart() { continue } if err := restartStaleContainer(c, client, params); err != nil { @@ -183,7 +184,7 @@ func restartStaleContainer(container container.Container, client container.Clien if newContainerID, err := client.StartContainer(container); err != nil { log.Error(err) return err - } else if container.Stale && params.LifecycleHooks { + } else if container.ToRestart() && params.LifecycleHooks { lifecycle.ExecutePostUpdateCommand(client, newContainerID) } } @@ -192,16 +193,19 @@ func restartStaleContainer(container container.Container, client container.Clien func checkDependencies(containers []container.Container) { - for i, parent := range containers { - if parent.ToRestart() { + for _, c := range containers { + if c.ToRestart() { continue } LinkLoop: - for _, linkName := range parent.Links() { - for _, child := range containers { - if child.Name() == linkName && child.ToRestart() { - containers[i].Linked = true + for _, linkName := range c.Links() { + for _, candidate := range containers { + if candidate.Name() != linkName { + continue + } + if candidate.ToRestart() { + c.LinkedToRestarting = true break LinkLoop } } diff --git a/pkg/container/container.go b/pkg/container/container.go index 8a9d39e..7631b5e 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -22,8 +22,8 @@ func NewContainer(containerInfo *types.ContainerJSON, imageInfo *types.ImageInsp // Container represents a running Docker container. type Container struct { - Linked bool - Stale bool + LinkedToRestarting bool + Stale bool containerInfo *types.ContainerJSON imageInfo *types.ImageInspect @@ -142,7 +142,7 @@ func (c Container) Links() []string { // ToRestart return whether the container should be restarted, either because // is stale or linked to another stale container. func (c Container) ToRestart() bool { - return c.Stale || c.Linked + return c.Stale || c.LinkedToRestarting } // IsWatchtower returns a boolean flag indicating whether or not the current diff --git a/scripts/dependency-test.sh b/scripts/dependency-test.sh new file mode 100755 index 0000000..0da0110 --- /dev/null +++ b/scripts/dependency-test.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +# Simulates a container that will always be updated, checking whether it shuts down it's dependencies correctly. + +docker rm -f parent || true +docker rm -f depending || true + +CHANGE=redis:latest +KEEP=tutum/hello-world + +docker tag tutum/hello-world:latest redis:latest + +docker run -d --name parent $CHANGE +docker run -d --name depending --link parent $KEEP + +go run . --run-once --debug $@ From 29f5c4b254a686d9198277a78f5066666240f0e0 Mon Sep 17 00:00:00 2001 From: ksurl Date: Tue, 20 Apr 2021 05:06:48 -0700 Subject: [PATCH 088/389] add ghcr (#850) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add ghcr * Update .github/workflows/release-dev.yaml Co-authored-by: nils måsén * Update .github/workflows/release.yml Co-authored-by: nils måsén * Apply suggestions from code review I might be dyslectic * Update .github/workflows/release.yml Co-authored-by: nils måsén * Update .github/workflows/release.yml Co-authored-by: nils måsén Co-authored-by: nils måsén Co-authored-by: Simon Aronsson --- .github/workflows/release-dev.yaml | 12 ++++++- .github/workflows/release.yml | 53 +++++++++++++++++++++--------- 2 files changed, 49 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 7928e45..5c71258 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -38,10 +38,20 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: jerray/publish-docker-action@master + - name: Publish to Docker Hub + uses: jerray/publish-docker-action@master with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} file: dockerfiles/Dockerfile.self-contained repository: containrrr/watchtower tags: latest-dev + - name: Publish to GHCR + uses: jerray/publish-docker-action@master + with: + username: ${{ secrets.BOT_USERNAME }} + password: ${{ secrets.BOT_GHCR_PAT }} + file: dockerfiles/Dockerfile.self-contained + registry: ghcr.io + repository: containrrr/watchtower + tags: latest-dev diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index de72102..39e43fc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -95,27 +95,36 @@ jobs: containrrr/watchtower:amd64-$DH_TAG \ containrrr/watchtower:i386-$DH_TAG \ containrrr/watchtower:armhf-$DH_TAG \ - containrrr/watchtower:arm64v8-$DH_TAG + containrrr/watchtower:arm64v8-$DH_TAG \ + ghcr.io/containrrr/watchtower:$DH_TAG \ + ghcr.io/containrrr/watchtower:amd64-$DH_TAG \ + ghcr.io/containrrr/watchtower:i386-$DH_TAG \ + ghcr.io/containrrr/watchtower:armhf-$DH_TAG \ + ghcr.io/containrrr/watchtower:arm64v8-$DH_TAG - name: Annotate manifest for version run: | + for REPO in '' ghrc.io/ ; do + docker manifest annotate \ - containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - containrrr/watchtower:i386-$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:i386-$(echo $TAG | sed 's/^v*//') \ --os linux \ --arch 386 docker manifest annotate \ - containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - containrrr/watchtower:armhf-$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:armhf-$(echo $TAG | sed 's/^v*//') \ --os linux \ --arch arm docker manifest annotate \ - containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ - containrrr/watchtower:arm64v8-$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ + ${REPO}containrrr/watchtower:arm64v8-$(echo $TAG | sed 's/^v*//') \ --os linux \ --arch arm64 \ --variant v8 + + done - name: Create manifest for latest run: | docker manifest create \ @@ -123,27 +132,36 @@ jobs: containrrr/watchtower:amd64-latest \ containrrr/watchtower:i386-latest \ containrrr/watchtower:armhf-latest \ - containrrr/watchtower:arm64v8-latest + containrrr/watchtower:arm64v8-latest \ + ghcr.io/containrrr/watchtower:latest \ + ghcr.io/containrrr/watchtower:amd64-latest \ + ghcr.io/containrrr/watchtower:i386-latest \ + ghcr.io/containrrr/watchtower:armhf-latest \ + ghcr.io/containrrr/watchtower:arm64v8-latest - name: Annotate manifest for latest run: | + for REPO in '' ghrc.io/ ; do + docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:i386-latest \ + ${REPO}containrrr/watchtower:latest \ + ${REPO}containrrr/watchtower:i386-latest \ --os linux \ --arch 386 docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:armhf-latest \ + ${REPO}containrrr/watchtower:latest \ + ${REPO}containrrr/watchtower:armhf-latest \ --os linux \ --arch arm - + docker manifest annotate \ - containrrr/watchtower:latest \ - containrrr/watchtower:arm64v8-latest \ + ${REPO}containrrr/watchtower:latest \ + ${REPO}containrrr/watchtower:arm64v8-latest \ --os linux \ --arch arm64 \ --variant v8 + + done - name: Push manifests to Dockerhub env: DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }} @@ -152,6 +170,11 @@ jobs: docker login -u $DOCKER_USER -p $DOCKER_TOKEN && \ docker manifest push containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ docker manifest push containrrr/watchtower:latest + - name: Push manifests to GitHub Container Registry + run: | + echo "$BOT_GHCR_PAT" | docker login -u $BOT_USERNAME --password-stdin && \ + docker manifest push ghcr.io/containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ + docker manifest push ghcr.io/containrrr/watchtower:latest publish-docs: name: Publish Docs From 6a7e5a959b6e32587c02dea68c1efb807b02b9b2 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Wed, 21 Apr 2021 10:01:33 +0200 Subject: [PATCH 089/389] Create SECURITY.md --- SECURITY.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..550f904 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,13 @@ +# Security Policy + +## Supported Versions + +Security updates will always only be applied to the latest version of Watchtower. +As the software by default is set to auto-update if you use the `latest` tag, you will get these security updates automatically as soon as they are released. + +## Reporting a Vulnerability + +Critical vulnerabilities that might open up for external attacks are best reported directly either to simme@arcticbit.se or nils@piksel.se. +We'll always try to get back to you as swiftly as possible, but keep in mind that since this is a community project, we can't really leave any guarantees about the speed. + +Non-critical vulnerabilities may be reported as regular GitHub issues. From 028f19ac47c1ebccd3165ea2f2d0730413adf251 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Wed, 21 Apr 2021 10:03:05 +0200 Subject: [PATCH 090/389] Move token logs to trace --- pkg/api/api.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/api/api.go b/pkg/api/api.go index 9afded5..b2279e1 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -26,8 +26,8 @@ func New(token string) *API { func (api *API) RequireToken(fn http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Header.Get("Authorization") != fmt.Sprintf("Bearer %s", api.Token) { - log.Errorf("Invalid token \"%s\"", r.Header.Get("Authorization")) - log.Debugf("Expected token to be \"%s\"", api.Token) + log.Tracef("Invalid token \"%s\"", r.Header.Get("Authorization")) + log.Tracef("Expected token to be \"%s\"", api.Token) return } log.Debug("Valid token found.") From 058e3c6d4804f271c727dfd27e7aef6a47ba9d66 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Wed, 21 Apr 2021 10:17:41 +0200 Subject: [PATCH 091/389] Update bug_report.md --- .github/ISSUE_TEMPLATE/bug_report.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 1d4b1f6..53e1a53 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -6,27 +6,37 @@ labels: 'Priority: Medium, Status: Available, Type: Bug' assignees: '' --- + **Describe the bug** -A clear and concise description of what the bug is. + **To Reproduce** + **Expected behavior** -A clear and concise description of what you expected to happen. + **Screenshots** + **Environment** +
Logs from running watchtower with the --debug option @@ -38,4 +48,6 @@ If applicable, add screenshots to help explain your problem.
**Additional context** -Add any other context about the problem here. + From 23572add7425e30a3d3c711143e87a45fcd99d0d Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 22 Apr 2021 15:13:42 +0200 Subject: [PATCH 092/389] docs: add ksurl as a contributor (#917) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 3 ++- README.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 1973f66..a8aa234 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -692,7 +692,8 @@ "avatar_url": "https://avatars1.githubusercontent.com/u/1371562?v=4", "profile": "https://github.com/ksurl", "contributions": [ - "doc" + "doc", + "code" ] }, { diff --git a/README.md b/README.md index 4c2b805..0d9d512 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
David H.

💻
Chander Ganesan

📖
yrien30

💻 -
ksurl

📖 +
ksurl

📖 💻
rg9400

💻
Turtle Kalus

💻
Srihari Thalla

📖 From b4cf17d33fc361988201a503d3e32a902c5d29da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Fri, 23 Apr 2021 16:34:21 +0200 Subject: [PATCH 093/389] feat: make head pull failure warning toggleable (#912) * feat: make head pull failure warning toggleable * expect prometheus tests to go through EVENTUALLY * wait for queue to be empty before checking test conditions * clean up new head failure toggle * fixup! clean up new head failure toggle * test: add registry tests * test: add warn on head failure tests * fix client interface and make tests hit more lines * make all tests use NewClient instead of creating a struct pointer * fix lint issues Co-authored-by: Simon Aronsson --- cmd/root.go | 2 + coverage.out | 620 ---------------------------- internal/actions/mocks/client.go | 5 + internal/flags/flags.go | 6 + pkg/api/metrics/metrics_test.go | 17 +- pkg/container/client.go | 28 +- pkg/container/container_test.go | 36 +- pkg/metrics/metrics.go | 5 + pkg/registry/digest/digest.go | 6 +- pkg/registry/registry_suite_test.go | 13 + pkg/registry/registry_test.go | 45 ++ pkg/registry/trust_test.go | 6 - scripts/codecov.sh | 6 + 13 files changed, 148 insertions(+), 647 deletions(-) delete mode 100644 coverage.out create mode 100644 pkg/registry/registry_suite_test.go create mode 100644 pkg/registry/registry_test.go create mode 100755 scripts/codecov.sh diff --git a/cmd/root.go b/cmd/root.go index df14ab6..6f84727 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -132,6 +132,7 @@ func PreRun(cmd *cobra.Command, _ []string) { includeRestarting, _ := f.GetBool("include-restarting") reviveStopped, _ := f.GetBool("revive-stopped") removeVolumes, _ := f.GetBool("remove-volumes") + warnOnHeadPullFailed, _ := f.GetString("warn-on-head-failure") if monitorOnly && noPull { log.Warn("Using `WATCHTOWER_NO_PULL` and `WATCHTOWER_MONITOR_ONLY` simultaneously might lead to no action being taken at all. If this is intentional, you may safely ignore this message.") @@ -143,6 +144,7 @@ func PreRun(cmd *cobra.Command, _ []string) { reviveStopped, removeVolumes, includeRestarting, + warnOnHeadPullFailed, ) notifier = notifications.NewNotifier(cmd) diff --git a/coverage.out b/coverage.out deleted file mode 100644 index 40470d1..0000000 --- a/coverage.out +++ /dev/null @@ -1,620 +0,0 @@ -mode: set -github.com/containrrr/watchtower/internal/util/rand_name.go:8.24,10.19 2 0 -github.com/containrrr/watchtower/internal/util/rand_name.go:14.2,14.18 1 0 -github.com/containrrr/watchtower/internal/util/rand_name.go:10.19,12.3 1 0 -github.com/containrrr/watchtower/internal/util/util.go:4.39,5.24 1 1 -github.com/containrrr/watchtower/internal/util/util.go:9.2,9.20 1 1 -github.com/containrrr/watchtower/internal/util/util.go:15.2,15.13 1 1 -github.com/containrrr/watchtower/internal/util/util.go:5.24,7.3 1 1 -github.com/containrrr/watchtower/internal/util/util.go:9.20,10.21 1 1 -github.com/containrrr/watchtower/internal/util/util.go:10.21,12.4 1 1 -github.com/containrrr/watchtower/internal/util/util.go:19.46,22.24 2 1 -github.com/containrrr/watchtower/internal/util/util.go:37.2,37.10 1 1 -github.com/containrrr/watchtower/internal/util/util.go:22.24,25.25 2 1 -github.com/containrrr/watchtower/internal/util/util.go:32.3,32.13 1 1 -github.com/containrrr/watchtower/internal/util/util.go:25.25,26.16 1 1 -github.com/containrrr/watchtower/internal/util/util.go:26.16,28.10 2 1 -github.com/containrrr/watchtower/internal/util/util.go:32.13,34.4 1 1 -github.com/containrrr/watchtower/internal/util/util.go:41.68,44.25 2 1 -github.com/containrrr/watchtower/internal/util/util.go:54.2,54.10 1 1 -github.com/containrrr/watchtower/internal/util/util.go:44.25,45.27 1 1 -github.com/containrrr/watchtower/internal/util/util.go:45.27,46.16 1 1 -github.com/containrrr/watchtower/internal/util/util.go:46.16,48.5 1 1 -github.com/containrrr/watchtower/internal/util/util.go:49.9,51.4 1 1 -github.com/containrrr/watchtower/internal/util/util.go:58.72,61.25 2 1 -github.com/containrrr/watchtower/internal/util/util.go:67.2,67.10 1 1 -github.com/containrrr/watchtower/internal/util/util.go:61.25,62.27 1 1 -github.com/containrrr/watchtower/internal/util/util.go:62.27,64.4 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:6.63,6.90 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:9.43,9.58 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:12.66,13.21 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:17.2,17.44 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:13.21,15.3 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:17.44,18.30 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:23.3,23.15 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:18.30,19.52 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:19.52,21.5 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:28.56,29.44 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:29.44,33.10 2 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:37.3,37.23 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:33.10,35.4 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:42.58,43.44 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:43.44,45.26 2 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:50.3,50.23 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:45.26,48.4 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:55.64,56.17 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:60.2,60.44 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:56.17,58.3 1 0 -github.com/containrrr/watchtower/pkg/filters/filters.go:60.44,62.36 2 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:66.3,66.15 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:62.36,64.4 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:71.75,74.17 3 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:79.2,79.17 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:84.2,85.15 2 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:74.17,78.3 1 1 -github.com/containrrr/watchtower/pkg/filters/filters.go:79.17,83.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:20.50,25.2 4 1 -github.com/containrrr/watchtower/internal/flags/flags.go:28.50,154.2 22 0 -github.com/containrrr/watchtower/internal/flags/flags.go:157.56,299.2 24 1 -github.com/containrrr/watchtower/internal/flags/flags.go:302.20,313.2 10 1 -github.com/containrrr/watchtower/internal/flags/flags.go:317.42,325.53 6 1 -github.com/containrrr/watchtower/internal/flags/flags.go:328.2,328.55 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:331.2,331.63 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:334.2,334.57 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:337.2,337.63 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:340.2,340.67 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:343.2,343.12 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:325.53,327.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:328.55,330.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:331.63,333.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:334.57,336.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:337.63,339.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:340.67,342.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:347.70,356.57 7 0 -github.com/containrrr/watchtower/internal/flags/flags.go:359.2,359.62 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:362.2,362.66 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:365.2,365.66 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:369.2,369.49 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:356.57,358.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:359.62,361.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:362.66,364.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:365.66,367.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:372.49,373.40 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:376.2,377.16 2 1 -github.com/containrrr/watchtower/internal/flags/flags.go:380.2,380.12 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:373.40,375.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:377.16,379.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:383.48,384.9 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:387.2,387.12 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:384.9,386.3 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:392.50,401.33 3 1 -github.com/containrrr/watchtower/internal/flags/flags.go:401.33,403.3 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:407.61,409.16 2 1 -github.com/containrrr/watchtower/internal/flags/flags.go:412.2,412.34 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:409.16,411.3 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:412.34,414.17 2 1 -github.com/containrrr/watchtower/internal/flags/flags.go:417.3,418.17 2 1 -github.com/containrrr/watchtower/internal/flags/flags.go:414.17,416.4 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:418.17,420.4 1 0 -github.com/containrrr/watchtower/internal/flags/flags.go:424.28,426.24 2 1 -github.com/containrrr/watchtower/internal/flags/flags.go:429.2,429.13 1 1 -github.com/containrrr/watchtower/internal/flags/flags.go:426.24,428.3 1 1 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:9.60,12.16 3 1 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:15.2,19.28 4 1 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:12.16,14.3 1 0 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:23.57,25.16 2 1 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:29.2,29.67 1 1 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:33.2,33.16 1 1 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:36.2,36.22 1 1 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:25.16,27.3 1 0 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:29.67,31.3 1 1 -github.com/containrrr/watchtower/pkg/registry/helpers/helpers.go:33.16,35.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:16.46,23.16 5 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:27.2,31.16 3 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:34.2,34.26 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:53.2,53.10 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:23.16,25.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:31.16,33.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:34.26,36.12 2 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:50.3,50.32 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:37.18,38.47 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:39.18,40.47 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:41.20,42.49 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:43.19,44.48 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:45.21,46.50 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:47.11,48.49 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:57.40,58.28 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:58.28,60.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:64.39,65.28 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:65.28,67.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:71.28,72.28 1 0 -github.com/containrrr/watchtower/pkg/notifications/notifier.go:72.28,74.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:36.86,41.16 4 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:45.2,59.10 4 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:41.16,43.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:62.49,63.30 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:74.2,74.16 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:63.30,66.28 2 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:66.28,67.18 1 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:67.18,70.5 1 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:77.74,79.59 2 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:83.2,83.22 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:79.59,81.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:86.66,89.2 2 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:91.52,92.22 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:92.22,94.3 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:97.51,98.45 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:102.2,103.17 2 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:98.45,100.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:106.40,113.2 3 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:115.53,117.2 1 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:119.61,120.22 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:126.2,126.12 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:120.22,122.3 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:122.8,125.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:129.63,144.35 5 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:152.2,152.16 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:160.2,160.35 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:164.2,164.12 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:144.35,146.3 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:152.16,154.3 1 1 -github.com/containrrr/watchtower/pkg/notifications/shoutrrr.go:160.35,162.3 1 1 -github.com/containrrr/watchtower/pkg/notifications/slack.go:18.83,40.2 9 0 -github.com/containrrr/watchtower/pkg/notifications/slack.go:42.50,42.51 0 0 -github.com/containrrr/watchtower/pkg/notifications/slack.go:44.49,44.50 0 0 -github.com/containrrr/watchtower/pkg/notifications/slack.go:46.38,46.39 0 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:33.110,35.16 2 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:38.2,39.44 2 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:42.2,42.42 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:49.2,49.14 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:56.2,56.36 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:59.2,59.26 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:64.2,65.16 2 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:68.2,69.16 2 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:72.2,73.16 2 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:76.2,76.17 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:35.16,37.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:39.44,41.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:42.42,45.43 3 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:45.43,47.4 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:49.14,50.39 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:50.39,51.35 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:51.35,53.5 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:56.36,58.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:59.26,60.37 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:60.37,62.4 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:65.16,67.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:69.16,71.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/smtp.go:73.16,75.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/util.go:7.42,13.26 5 0 -github.com/containrrr/watchtower/pkg/notifications/util.go:23.2,23.13 1 0 -github.com/containrrr/watchtower/pkg/notifications/util.go:13.26,15.19 2 0 -github.com/containrrr/watchtower/pkg/notifications/util.go:15.19,18.4 2 0 -github.com/containrrr/watchtower/pkg/notifications/util.go:18.9,18.26 1 0 -github.com/containrrr/watchtower/pkg/notifications/util.go:18.26,20.4 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:36.83,65.2 13 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:67.71,70.24 2 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:75.2,75.48 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:78.2,79.32 2 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:84.2,96.27 11 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:100.2,102.50 2 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:106.2,106.24 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:70.24,72.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:72.8,74.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:75.48,77.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:79.32,82.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:96.27,98.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:102.50,104.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:109.63,112.12 2 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:112.12,113.18 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:117.3,118.19 2 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:121.3,122.17 2 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:113.18,115.4 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:118.19,120.4 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:122.17,125.4 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:129.49,130.22 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:130.22,132.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:135.48,136.45 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:140.2,141.17 2 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:136.45,138.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:144.50,146.2 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:148.58,149.22 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:154.2,154.12 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:149.22,151.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:151.8,153.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/email.go:157.38,157.39 0 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:27.84,31.24 3 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:39.2,40.26 2 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:44.2,55.10 4 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:31.24,33.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:33.8,33.99 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:33.99,35.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:35.8,35.52 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:35.52,37.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:40.26,42.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:58.51,58.52 0 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:60.50,60.51 0 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:62.39,62.40 0 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:64.51,66.2 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:68.46,70.34 2 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:73.2,73.50 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:70.34,72.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:76.59,78.12 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:110.2,110.12 1 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:78.12,84.17 2 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:90.3,99.17 4 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:103.3,105.54 2 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:84.17,87.4 2 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:99.17,102.4 2 0 -github.com/containrrr/watchtower/pkg/notifications/gotify.go:105.54,107.4 1 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:25.87,30.26 3 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:34.2,43.10 4 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:30.26,32.3 1 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:46.52,46.53 0 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:48.51,48.52 0 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:50.40,50.41 0 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:52.52,54.2 1 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:56.60,60.12 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:111.2,111.12 1 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:60.12,68.57 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:86.3,87.17 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:92.3,93.17 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:97.3,99.53 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:68.57,75.33 3 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:83.4,83.56 1 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:75.33,81.5 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:87.17,90.4 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:93.17,95.4 1 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:99.53,101.24 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:101.24,103.19 2 0 -github.com/containrrr/watchtower/pkg/notifications/msteams.go:103.19,106.6 2 0 -github.com/containrrr/watchtower/pkg/registry/registry.go:9.71,12.16 3 0 -github.com/containrrr/watchtower/pkg/registry/registry.go:16.2,16.16 1 0 -github.com/containrrr/watchtower/pkg/registry/registry.go:19.2,24.8 2 0 -github.com/containrrr/watchtower/pkg/registry/registry.go:12.16,14.3 1 0 -github.com/containrrr/watchtower/pkg/registry/registry.go:16.16,18.3 1 0 -github.com/containrrr/watchtower/pkg/registry/registry.go:30.43,33.2 2 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:20.46,22.16 2 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:25.2,25.18 1 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:22.16,24.3 1 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:31.49,34.38 3 1 -github.com/containrrr/watchtower/pkg/registry/trust.go:43.2,43.93 1 1 -github.com/containrrr/watchtower/pkg/registry/trust.go:34.38,42.3 4 1 -github.com/containrrr/watchtower/pkg/registry/trust.go:50.52,52.16 2 1 -github.com/containrrr/watchtower/pkg/registry/trust.go:56.2,57.21 2 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:60.2,61.16 2 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:65.2,68.34 3 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:72.2,74.25 3 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:52.16,55.3 2 1 -github.com/containrrr/watchtower/pkg/registry/trust.go:57.21,59.3 1 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:61.16,64.3 2 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:68.34,71.3 2 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:78.53,81.16 2 1 -github.com/containrrr/watchtower/pkg/registry/trust.go:85.2,86.22 2 1 -github.com/containrrr/watchtower/pkg/registry/trust.go:81.16,83.3 1 1 -github.com/containrrr/watchtower/pkg/registry/trust.go:91.75,92.39 1 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:95.2,95.46 1 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:92.39,94.3 1 0 -github.com/containrrr/watchtower/pkg/registry/trust.go:99.56,101.2 1 1 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:13.68,17.16 3 1 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:21.2,22.16 2 1 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:25.2,31.26 3 1 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:17.16,19.3 1 0 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:22.16,24.3 1 0 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:34.71,37.46 3 1 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:45.2,45.17 1 1 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:37.46,41.3 3 1 -github.com/containrrr/watchtower/pkg/registry/manifest/manifest.go:41.8,44.3 2 1 -github.com/containrrr/watchtower/pkg/container/container.go:16.97,21.2 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:33.57,35.2 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:38.32,40.2 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:45.37,47.2 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:50.34,52.2 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:56.37,58.2 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:63.39,66.9 2 1 -github.com/containrrr/watchtower/pkg/container/container.go:70.2,70.39 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:74.2,74.18 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:66.9,68.3 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:70.39,72.3 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:79.43,81.9 2 1 -github.com/containrrr/watchtower/pkg/container/container.go:85.2,86.16 2 1 -github.com/containrrr/watchtower/pkg/container/container.go:90.2,90.25 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:81.9,83.3 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:86.16,88.3 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:95.41,97.9 2 0 -github.com/containrrr/watchtower/pkg/container/container.go:101.2,102.16 2 0 -github.com/containrrr/watchtower/pkg/container/container.go:106.2,106.19 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:97.9,99.3 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:102.16,104.3 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:111.43,113.9 2 0 -github.com/containrrr/watchtower/pkg/container/container.go:117.2,117.24 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:113.9,115.3 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:122.37,127.31 3 1 -github.com/containrrr/watchtower/pkg/container/container.go:132.2,132.69 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:139.2,139.14 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:127.31,130.3 2 1 -github.com/containrrr/watchtower/pkg/container/container.go:132.69,133.57 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:133.57,136.4 2 1 -github.com/containrrr/watchtower/pkg/container/container.go:144.37,146.2 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:152.40,154.2 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:161.43,168.29 5 0 -github.com/containrrr/watchtower/pkg/container/container.go:172.2,172.16 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:168.29,170.3 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:178.40,180.2 1 1 -github.com/containrrr/watchtower/pkg/container/container.go:193.60,198.49 4 0 -github.com/containrrr/watchtower/pkg/container/container.go:202.2,202.37 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:206.2,206.42 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:210.2,210.64 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:217.2,224.37 4 0 -github.com/containrrr/watchtower/pkg/container/container.go:229.2,229.57 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:233.2,234.15 2 0 -github.com/containrrr/watchtower/pkg/container/container.go:198.49,200.3 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:202.37,204.3 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:206.42,208.3 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:210.64,212.51 2 0 -github.com/containrrr/watchtower/pkg/container/container.go:212.51,214.4 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:224.37,225.47 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:225.47,227.4 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:229.57,231.3 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:239.61,242.40 2 0 -github.com/containrrr/watchtower/pkg/container/container.go:249.2,249.19 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:242.40,247.3 3 0 -github.com/containrrr/watchtower/pkg/container/container.go:253.40,255.2 1 0 -github.com/containrrr/watchtower/pkg/container/container.go:257.52,259.2 1 0 -github.com/containrrr/watchtower/pkg/container/metadata.go:19.57,21.2 1 0 -github.com/containrrr/watchtower/pkg/container/metadata.go:24.58,26.2 1 0 -github.com/containrrr/watchtower/pkg/container/metadata.go:29.58,31.2 1 0 -github.com/containrrr/watchtower/pkg/container/metadata.go:34.59,36.2 1 0 -github.com/containrrr/watchtower/pkg/container/metadata.go:40.61,43.2 2 1 -github.com/containrrr/watchtower/pkg/container/metadata.go:45.62,46.57 1 1 -github.com/containrrr/watchtower/pkg/container/metadata.go:49.2,49.11 1 1 -github.com/containrrr/watchtower/pkg/container/metadata.go:46.57,48.3 1 1 -github.com/containrrr/watchtower/pkg/container/metadata.go:52.63,55.2 2 1 -github.com/containrrr/watchtower/pkg/container/client.go:43.101,46.16 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:50.2,56.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:46.16,48.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:67.77,71.27 3 1 -github.com/containrrr/watchtower/pkg/container/client.go:77.2,84.16 3 1 -github.com/containrrr/watchtower/pkg/container/client.go:88.2,88.46 1 1 -github.com/containrrr/watchtower/pkg/container/client.go:100.2,100.16 1 1 -github.com/containrrr/watchtower/pkg/container/client.go:71.27,73.3 1 1 -github.com/containrrr/watchtower/pkg/container/client.go:73.8,75.3 1 1 -github.com/containrrr/watchtower/pkg/container/client.go:84.16,86.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:88.46,91.17 2 1 -github.com/containrrr/watchtower/pkg/container/client.go:95.3,95.12 1 1 -github.com/containrrr/watchtower/pkg/container/client.go:91.17,93.4 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:95.12,97.4 1 1 -github.com/containrrr/watchtower/pkg/container/client.go:103.60,107.27 3 1 -github.com/containrrr/watchtower/pkg/container/client.go:112.2,112.19 1 1 -github.com/containrrr/watchtower/pkg/container/client.go:107.27,110.3 2 1 -github.com/containrrr/watchtower/pkg/container/client.go:115.80,119.16 3 1 -github.com/containrrr/watchtower/pkg/container/client.go:123.2,124.16 2 1 -github.com/containrrr/watchtower/pkg/container/client.go:128.2,128.77 1 1 -github.com/containrrr/watchtower/pkg/container/client.go:119.16,121.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:124.16,126.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:131.84,134.18 3 0 -github.com/containrrr/watchtower/pkg/container/client.go:138.2,138.19 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:146.2,148.43 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:159.2,159.64 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:163.2,163.12 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:134.18,136.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:138.19,140.70 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:140.70,142.4 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:148.43,150.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:150.8,153.144 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:153.144,155.4 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:159.64,161.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:166.72,173.58 5 0 -github.com/containrrr/watchtower/pkg/container/client.go:183.2,187.16 4 0 -github.com/containrrr/watchtower/pkg/container/client.go:191.2,191.40 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:209.2,209.45 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:213.2,213.78 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:173.58,175.51 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:180.3,180.65 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:175.51,178.9 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:187.16,189.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:191.40,193.54 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:200.3,200.51 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:193.54,195.18 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:195.18,197.5 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:200.51,202.18 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:202.18,204.5 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:209.45,211.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:217.131,222.16 4 0 -github.com/containrrr/watchtower/pkg/container/client.go:225.2,225.12 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:222.16,224.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:228.79,232.2 3 0 -github.com/containrrr/watchtower/pkg/container/client.go:234.80,237.24 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:243.2,243.43 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:237.24,239.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:239.8,239.64 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:239.64,241.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:246.96,251.16 4 0 -github.com/containrrr/watchtower/pkg/container/client.go:255.2,255.35 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:260.2,261.18 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:251.16,253.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:255.35,258.3 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:264.86,275.16 6 0 -github.com/containrrr/watchtower/pkg/container/client.go:280.2,281.86 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:288.2,291.16 3 0 -github.com/containrrr/watchtower/pkg/container/client.go:296.2,298.51 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:302.2,302.12 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:275.16,278.3 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:281.86,283.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:283.8,283.18 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:283.18,286.3 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:291.16,294.3 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:298.51,301.3 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:305.61,316.2 3 0 -github.com/containrrr/watchtower/pkg/container/client.go:318.98,329.16 4 0 -github.com/containrrr/watchtower/pkg/container/client.go:333.2,337.22 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:342.2,344.16 3 0 -github.com/containrrr/watchtower/pkg/container/client.go:348.2,349.22 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:362.2,363.16 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:367.2,367.12 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:329.16,331.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:337.22,339.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:344.16,346.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:349.22,353.17 4 0 -github.com/containrrr/watchtower/pkg/container/client.go:353.17,355.4 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:355.9,355.25 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:355.25,357.4 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:363.16,365.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:370.118,374.17 3 0 -github.com/containrrr/watchtower/pkg/container/client.go:381.2,381.6 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:406.2,406.12 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:374.17,377.3 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:377.8,379.3 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:381.6,390.17 3 0 -github.com/containrrr/watchtower/pkg/container/client.go:393.3,393.34 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:397.3,397.26 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:400.3,400.31 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:404.3,404.8 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:390.17,392.4 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:393.34,395.12 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:397.26,399.4 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:400.31,403.4 2 0 -github.com/containrrr/watchtower/pkg/container/client.go:409.92,413.6 3 0 -github.com/containrrr/watchtower/pkg/container/client.go:413.6,414.10 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:424.3,424.30 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:415.18,416.14 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:417.11,418.70 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:418.70,420.5 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:420.10,420.32 1 0 -github.com/containrrr/watchtower/pkg/container/client.go:420.32,422.5 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:24.121,30.49 5 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:34.2,35.53 2 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:39.2,41.43 3 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:45.2,52.43 4 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:55.2,55.44 1 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:60.2,60.67 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:30.49,32.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:35.53,37.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:41.43,43.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:52.43,54.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:55.44,58.3 2 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:64.63,67.16 2 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:70.2,72.17 3 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:67.16,69.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:76.139,81.16 4 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:85.2,86.72 2 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:90.2,90.62 1 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:97.2,98.50 2 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:102.2,106.16 4 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:110.2,110.33 1 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:81.16,83.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:86.72,88.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:90.62,93.3 2 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:93.8,95.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:98.50,100.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:106.16,108.3 1 0 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:114.66,120.29 5 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:128.2,128.79 1 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:132.2,140.21 8 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:120.29,126.3 5 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:128.79,130.3 1 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:144.52,147.16 3 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:151.2,156.17 2 1 -github.com/containrrr/watchtower/pkg/registry/auth/auth.go:147.16,149.3 1 0 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:24.124,28.16 4 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:32.2,33.16 2 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:37.2,37.64 1 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:41.2,44.24 3 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:48.2,48.40 1 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:56.2,56.19 1 0 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:28.16,30.3 1 0 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:33.16,35.3 1 0 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:37.64,39.3 1 0 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:44.24,46.3 1 0 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:48.40,51.28 3 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:51.28,53.4 1 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:60.79,63.17 3 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:69.2,75.16 6 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:78.2,78.27 1 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:81.2,81.49 1 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:63.17,65.3 1 1 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:65.8,67.3 1 0 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:75.16,77.3 1 0 -github.com/containrrr/watchtower/pkg/registry/digest/digest.go:78.27,80.3 1 0 -github.com/containrrr/watchtower/internal/actions/check.go:24.101,28.16 3 1 -github.com/containrrr/watchtower/internal/actions/check.go:33.2,33.26 1 1 -github.com/containrrr/watchtower/internal/actions/check.go:38.2,39.62 2 1 -github.com/containrrr/watchtower/internal/actions/check.go:28.16,31.3 2 0 -github.com/containrrr/watchtower/internal/actions/check.go:33.26,36.3 2 1 -github.com/containrrr/watchtower/internal/actions/check.go:42.110,49.44 5 1 -github.com/containrrr/watchtower/internal/actions/check.go:66.2,66.64 1 1 -github.com/containrrr/watchtower/internal/actions/check.go:49.44,50.65 1 1 -github.com/containrrr/watchtower/internal/actions/check.go:57.3,57.14 1 1 -github.com/containrrr/watchtower/internal/actions/check.go:50.65,54.12 3 0 -github.com/containrrr/watchtower/internal/actions/check.go:57.14,58.62 1 1 -github.com/containrrr/watchtower/internal/actions/check.go:58.62,62.5 2 0 -github.com/containrrr/watchtower/internal/actions/check.go:69.55,70.22 1 1 -github.com/containrrr/watchtower/internal/actions/check.go:74.2,76.11 2 0 -github.com/containrrr/watchtower/internal/actions/check.go:79.2,79.11 1 0 -github.com/containrrr/watchtower/internal/actions/check.go:82.2,82.36 1 0 -github.com/containrrr/watchtower/internal/actions/check.go:70.22,72.3 1 1 -github.com/containrrr/watchtower/internal/actions/check.go:76.11,78.3 1 0 -github.com/containrrr/watchtower/internal/actions/check.go:79.11,81.3 1 0 -github.com/containrrr/watchtower/internal/actions/check.go:85.26,88.2 2 1 -github.com/containrrr/watchtower/internal/actions/update.go:17.71,20.27 2 1 -github.com/containrrr/watchtower/internal/actions/update.go:24.2,25.16 2 1 -github.com/containrrr/watchtower/internal/actions/update.go:29.2,29.45 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:41.2,42.16 2 1 -github.com/containrrr/watchtower/internal/actions/update.go:46.2,49.25 3 1 -github.com/containrrr/watchtower/internal/actions/update.go:57.2,57.27 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:63.2,63.27 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:66.2,66.12 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:20.27,22.3 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:25.16,27.3 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:29.45,31.127 2 1 -github.com/containrrr/watchtower/internal/actions/update.go:34.3,34.17 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:38.3,38.30 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:31.127,33.4 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:34.17,37.4 2 0 -github.com/containrrr/watchtower/internal/actions/update.go:42.16,44.3 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:49.25,50.45 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:50.45,51.38 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:51.38,53.5 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:57.27,59.3 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:59.8,62.3 2 1 -github.com/containrrr/watchtower/internal/actions/update.go:63.27,65.3 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:69.114,72.44 2 0 -github.com/containrrr/watchtower/internal/actions/update.go:79.2,79.20 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:72.44,73.26 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:73.26,76.4 2 0 -github.com/containrrr/watchtower/internal/actions/update.go:79.20,81.3 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:84.122,85.44 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:85.44,87.3 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:90.108,91.30 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:96.2,96.22 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:99.2,99.27 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:107.2,107.72 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:91.30,94.3 2 0 -github.com/containrrr/watchtower/internal/actions/update.go:96.22,98.3 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:99.27,100.78 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:100.78,104.4 3 0 -github.com/containrrr/watchtower/internal/actions/update.go:107.72,109.3 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:112.123,115.44 2 1 -github.com/containrrr/watchtower/internal/actions/update.go:123.2,123.20 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:115.44,116.28 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:119.3,120.44 2 1 -github.com/containrrr/watchtower/internal/actions/update.go:116.28,117.12 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:123.20,125.3 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:128.71,129.32 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:129.32,130.57 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:130.57,132.4 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:136.111,141.30 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:148.2,148.23 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:141.30,142.76 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:142.76,145.4 2 0 -github.com/containrrr/watchtower/internal/actions/update.go:148.23,149.74 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:149.74,151.4 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:151.9,151.54 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:151.54,153.4 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:157.58,159.36 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:159.36,160.25 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:164.2,165.43 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:160.25,161.12 1 1 -github.com/containrrr/watchtower/internal/actions/update.go:165.43,166.37 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:166.37,167.54 1 0 -github.com/containrrr/watchtower/internal/actions/update.go:167.54,169.20 2 0 diff --git a/internal/actions/mocks/client.go b/internal/actions/mocks/client.go index 33c196d..b17c987 100644 --- a/internal/actions/mocks/client.go +++ b/internal/actions/mocks/client.go @@ -82,3 +82,8 @@ func (client MockClient) ExecuteCommand(containerID string, command string, time func (client MockClient) IsContainerStale(c container.Container) (bool, error) { return true, nil } + +// WarnOnHeadPullFailed is always true for the mock client +func (client MockClient) WarnOnHeadPullFailed(c container.Container) bool { + return true +} diff --git a/internal/flags/flags.go b/internal/flags/flags.go index c2dc8ad..80a5a7c 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -307,6 +307,12 @@ Should only be used for testing.`) "", viper.GetStringSlice("WATCHTOWER_NOTIFICATION_URL"), "The shoutrrr URL to send notifications to") + + flags.String( + "warn-on-head-failure", + viper.GetString("WATCHTOWER_WARN_ON_HEAD_FAILURE"), + "When to warn about HEAD pull requests failing. Possible values: always, auto or never") + } // SetDefaults provides default values for environment variables diff --git a/pkg/api/metrics/metrics_test.go b/pkg/api/metrics/metrics_test.go index 156601f..44379ee 100644 --- a/pkg/api/metrics/metrics_test.go +++ b/pkg/api/metrics/metrics_test.go @@ -37,12 +37,10 @@ func getWithToken(c http.Client, url string) (*http.Response, error) { var _ = Describe("the metrics", func() { httpAPI := api.New(Token) m := metricsAPI.New() + httpAPI.RegisterHandler(m.Path, m.Handle) httpAPI.Start(false) - // We should likely split this into multiple tests, but as prometheus requires a restart of the binary - // to reset the metrics and gauges, we'll just do it all at once. - It("should serve metrics", func() { metric := &metrics.Metric{ Scanned: 4, @@ -50,12 +48,15 @@ var _ = Describe("the metrics", func() { Failed: 1, } metrics.RegisterScan(metric) + Eventually(metrics.Default().QueueIsEmpty).Should(BeTrue()) + c := http.Client{} + res, err := getWithToken(c, "http://localhost:8080/v1/metrics") + Expect(err).ToNot(HaveOccurred()) - Expect(err).NotTo(HaveOccurred()) contents, err := ioutil.ReadAll(res.Body) - + Expect(err).ToNot(HaveOccurred()) Expect(string(contents)).To(ContainSubstring("watchtower_containers_updated 3")) Expect(string(contents)).To(ContainSubstring("watchtower_containers_failed 1")) Expect(string(contents)).To(ContainSubstring("watchtower_containers_scanned 4")) @@ -65,11 +66,13 @@ var _ = Describe("the metrics", func() { for i := 0; i < 3; i++ { metrics.RegisterScan(nil) } + Eventually(metrics.Default().QueueIsEmpty).Should(BeTrue()) res, err = getWithToken(c, "http://localhost:8080/v1/metrics") - Expect(err).NotTo(HaveOccurred()) - contents, err = ioutil.ReadAll(res.Body) + Expect(err).ToNot(HaveOccurred()) + contents, err = ioutil.ReadAll(res.Body) + Expect(err).ToNot(HaveOccurred()) Expect(string(contents)).To(ContainSubstring("watchtower_scans_total 4")) Expect(string(contents)).To(ContainSubstring("watchtower_scans_skipped 3")) }) diff --git a/pkg/container/client.go b/pkg/container/client.go index b125ed6..93eacb7 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -33,6 +33,7 @@ type Client interface { IsContainerStale(Container) (bool, error) ExecuteCommand(containerID string, command string, timeout int) error RemoveImageByID(string) error + WarnOnHeadPullFailed(container Container) bool } // NewClient returns a new Client instance which can be used to interact with @@ -41,7 +42,7 @@ type Client interface { // * DOCKER_HOST the docker-engine host to send api requests to // * DOCKER_TLS_VERIFY whether to verify tls certificates // * DOCKER_API_VERSION the minimum docker api version to work with -func NewClient(pullImages bool, includeStopped bool, reviveStopped bool, removeVolumes bool, includeRestarting bool) Client { +func NewClient(pullImages, includeStopped, reviveStopped, removeVolumes, includeRestarting bool, warnOnHeadFailed string) Client { cli, err := sdkClient.NewClientWithOpts(sdkClient.FromEnv) if err != nil { @@ -55,6 +56,7 @@ func NewClient(pullImages bool, includeStopped bool, reviveStopped bool, removeV includeStopped: includeStopped, reviveStopped: reviveStopped, includeRestarting: includeRestarting, + warnOnHeadFailed: warnOnHeadFailed, } } @@ -65,6 +67,18 @@ type dockerClient struct { includeStopped bool reviveStopped bool includeRestarting bool + warnOnHeadFailed string +} + +func (client dockerClient) WarnOnHeadPullFailed(container Container) bool { + if client.warnOnHeadFailed == "always" { + return true + } + if client.warnOnHeadFailed == "never" { + return false + } + + return registry.WarnOnAPIConsumption(container) } func (client dockerClient) ListContainers(fn t.Filter) ([]Container, error) { @@ -275,6 +289,8 @@ func (client dockerClient) HasNewImage(ctx context.Context, container Container) return true, nil } +// PullImage pulls the latest image for the supplied container, optionally skipping if it's digest can be confirmed +// to match the one that the registry reports via a HEAD request func (client dockerClient) PullImage(ctx context.Context, container Container) error { containerName := container.Name() imageName := container.ImageName() @@ -297,12 +313,12 @@ func (client dockerClient) PullImage(ctx context.Context, container Container) e log.WithFields(fields).Debugf("Checking if pull is needed") if match, err := digest.CompareDigest(container, opts.RegistryAuth); err != nil { - if registry.WarnOnAPIConsumption(container) { - log.WithFields(fields).Warning("Could not do a head request, falling back to regular pull.") - } else { - log.Debug("Could not do a head request, falling back to regular pull.") + headLevel := log.DebugLevel + if client.WarnOnHeadPullFailed(container) { + headLevel = log.WarnLevel } - log.Debugf("Reason: %s", err.Error()) + log.WithFields(fields).Logf(headLevel, "Could not do a head request for %q, falling back to regular pull.", imageName) + log.WithFields(fields).Log(headLevel, "Reason: ", err) } else if match { log.Debug("No pull needed. Skipping image.") return nil diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 16b8922..8ddeb8b 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -1,8 +1,6 @@ package container import ( - "testing" - "github.com/containrrr/watchtower/pkg/container/mocks" "github.com/containrrr/watchtower/pkg/filters" "github.com/docker/docker/api/types" @@ -12,11 +10,6 @@ import ( . "github.com/onsi/gomega" ) -func TestContainer(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Container Suite") -} - var _ = Describe("the container", func() { Describe("the client", func() { var docker *cli.Client @@ -34,6 +27,35 @@ var _ = Describe("the container", func() { It("should return a client for the api", func() { Expect(client).NotTo(BeNil()) }) + Describe("WarnOnHeadPullFailed", func() { + containerUnknown := *mockContainerWithImageName("unknown.repo/prefix/imagename:latest") + containerKnown := *mockContainerWithImageName("docker.io/prefix/imagename:latest") + + When("warn on head failure is set to \"always\"", func() { + c := NewClient(false, false, false, false, false, "always") + It("should always return true", func() { + Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeTrue()) + Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) + }) + }) + When("warn on head failure is set to \"auto\"", func() { + c := NewClient(false, false, false, false, false, "auto") + It("should always return true", func() { + Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) + }) + It("should", func() { + Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) + }) + }) + When("warn on head failure is set to \"never\"", func() { + c := NewClient(false, false, false, false, false, "never") + It("should never return true", func() { + Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) + Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeFalse()) + }) + }) + }) + When("listing containers without any filter", func() { It("should return all available containers", func() { containers, err := client.ListContainers(filters.NoFilter) diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index 3a235af..d8761ba 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -24,6 +24,11 @@ type Metrics struct { skipped prometheus.Counter } +// QueueIsEmpty checks whether any messages are enqueued in the channel +func (metrics *Metrics) QueueIsEmpty() bool { + return len(metrics.channel) == 0 +} + // Register registers metrics for an executed scan func (metrics *Metrics) Register(metric *Metric) { metrics.channel <- metric diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go index 59f4d9b..894c162 100644 --- a/pkg/registry/digest/digest.go +++ b/pkg/registry/digest/digest.go @@ -95,7 +95,11 @@ func GetDigest(url string, token string) (string, error) { defer res.Body.Close() if res.StatusCode != 200 { - return "", fmt.Errorf("registry responded to head request with %v", res) + wwwAuthHeader := res.Header.Get("www-authenticate") + if wwwAuthHeader == "" { + wwwAuthHeader = "not present" + } + return "", fmt.Errorf("registry responded to head request with %q, auth: %q", res.Status, wwwAuthHeader) } return res.Header.Get(ContentDigestHeader), nil } diff --git a/pkg/registry/registry_suite_test.go b/pkg/registry/registry_suite_test.go new file mode 100644 index 0000000..fe31f12 --- /dev/null +++ b/pkg/registry/registry_suite_test.go @@ -0,0 +1,13 @@ +package registry_test + +import ( + "testing" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +func TestRegistry(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Registry Suite") +} diff --git a/pkg/registry/registry_test.go b/pkg/registry/registry_test.go new file mode 100644 index 0000000..5f3f57f --- /dev/null +++ b/pkg/registry/registry_test.go @@ -0,0 +1,45 @@ +package registry_test + +import ( + "github.com/containrrr/watchtower/internal/actions/mocks" + unit "github.com/containrrr/watchtower/pkg/registry" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + + "time" +) + +var _ = Describe("Registry", func() { + Describe("WarnOnAPIConsumption", func() { + When("Given a container with an image from ghcr.io", func() { + It("should want to warn", func() { + Expect(testContainerWithImage("ghcr.io/containrrr/watchtower")).To(BeTrue()) + }) + }) + When("Given a container with an image implicitly from dockerhub", func() { + It("should want to warn", func() { + Expect(testContainerWithImage("docker:latest")).To(BeTrue()) + }) + }) + When("Given a container with an image explicitly from dockerhub", func() { + It("should want to warn", func() { + Expect(testContainerWithImage("registry-1.docker.io/docker:latest")).To(BeTrue()) + Expect(testContainerWithImage("index.docker.io/docker:latest")).To(BeTrue()) + Expect(testContainerWithImage("docker.io/docker:latest")).To(BeTrue()) + }) + + }) + When("Given a container with an image from some other registry", func() { + It("should not want to warn", func() { + Expect(testContainerWithImage("docker.fsf.org/docker:latest")).To(BeFalse()) + Expect(testContainerWithImage("altavista.com/docker:latest")).To(BeFalse()) + Expect(testContainerWithImage("gitlab.com/docker:latest")).To(BeFalse()) + }) + }) + }) +}) + +func testContainerWithImage(imageName string) bool { + container := mocks.CreateMockContainer("", "", imageName, time.Now()) + return unit.WarnOnAPIConsumption(container) +} diff --git a/pkg/registry/trust_test.go b/pkg/registry/trust_test.go index 7d4d48d..3dab6ad 100644 --- a/pkg/registry/trust_test.go +++ b/pkg/registry/trust_test.go @@ -4,14 +4,8 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "os" - "testing" ) -func TestTrust(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Trust Suite") -} - var _ = Describe("Testing with Ginkgo", func() { It("encoded env auth_ should return an error if repo envs are unset", func() { _ = os.Unsetenv("REPO_USER") diff --git a/scripts/codecov.sh b/scripts/codecov.sh new file mode 100755 index 0000000..a3bc024 --- /dev/null +++ b/scripts/codecov.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +go test -v -coverprofile coverage.out -covermode atomic ./... + +# Requires CODECOV_TOKEN to be set +bash <(curl -s https://codecov.io/bash) \ No newline at end of file From 6f281b727aa9a3b83ebe8072ce64273d1227d703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Fri, 23 Apr 2021 16:36:09 +0200 Subject: [PATCH 094/389] feat: update shoutrrr to v0.4.4 (#914) --- go.mod | 2 +- go.sum | 4 ++-- pkg/notifications/shoutrrr.go | 7 +++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index bf557f7..35a2c24 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6 // indirect github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 // indirect - github.com/containrrr/shoutrrr v0.4.1 + github.com/containrrr/shoutrrr v0.4.4 github.com/docker/cli v0.0.0-20190327152802-57b27434ea29 github.com/docker/distribution v2.7.1+incompatible github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4 diff --git a/go.sum b/go.sum index 19fe808..e1d7071 100644 --- a/go.sum +++ b/go.sum @@ -50,8 +50,8 @@ github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6 h1:A7RURps5t4yDU0 github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA= github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882bXEDKfWIf0wa8HRvpnBoPszJJXL+TVbBw4M= github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containrrr/shoutrrr v0.4.1 h1:+p5+3Gb5dhzjUf3yriUIK6IeXtElJFFgBUGD9vb9ygE= -github.com/containrrr/shoutrrr v0.4.1/go.mod h1:zqL2BvfC1W4FujrT4b3/ZCLxvD+uoeEpBL7rg9Dqpbg= +github.com/containrrr/shoutrrr v0.4.4 h1:vHZ4E/76pKVY+Jyn/qhBz3X540Bn8NI5ppPHK4PyILY= +github.com/containrrr/shoutrrr v0.4.4/go.mod h1:zqL2BvfC1W4FujrT4b3/ZCLxvD+uoeEpBL7rg9Dqpbg= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index 8376c91..087e4d6 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -3,11 +3,12 @@ package notifications import ( "bytes" "fmt" - "github.com/containrrr/shoutrrr/pkg/types" + stdlog "log" "strings" "text/template" "github.com/containrrr/shoutrrr" + "github.com/containrrr/shoutrrr/pkg/types" t "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -59,7 +60,9 @@ func newShoutrrrNotifierFromURL(c *cobra.Command, url string, levels []log.Level } func createSender(urls []string, levels []log.Level, template *template.Template) t.Notifier { - r, err := shoutrrr.CreateSender(urls...) + + traceWriter := log.StandardLogger().WriterLevel(log.TraceLevel) + r, err := shoutrrr.NewSender(stdlog.New(traceWriter, "Shoutrrr: ", 0), urls...) if err != nil { log.Fatalf("Failed to initialize Shoutrrr notifications: %s\n", err.Error()) } From dff8378778716100ba2dcb1485122bb4f3e059cb Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sat, 24 Apr 2021 13:14:52 +0200 Subject: [PATCH 095/389] Feat/head failure toggle (#928) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: make head pull failure warning toggleable * expect prometheus tests to go through EVENTUALLY * wait for queue to be empty before checking test conditions * clean up new head failure toggle * fixup! clean up new head failure toggle * test: add warn on head failure tests * fix client interface and make tests hit more lines * make all tests use NewClient instead of creating a struct pointer * fix lint issues * see if moving ubuntu out of the matrix solves test issue Co-authored-by: nils måsén --- .github/workflows/pull-request.yml | 22 ++++++++++++++++++++-- pkg/metrics/metrics.go | 5 +++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 099e259..24bfe13 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -33,7 +33,6 @@ jobs: go-version: - 1.15.x platform: - - ubuntu-latest - macos-latest - windows-latest runs-on: ${{ matrix.platform }} @@ -53,7 +52,26 @@ jobs: uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} - + test-ubuntu: + name: Test (Ubuntu) + runs-on: ubuntu-latest + needs: test + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.15.x + - name: Run tests + run: | + go test -v -coverprofile coverage.out -covermode atomic ./... + - name: Publish coverage + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} build: name: Build runs-on: ubuntu-latest diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index d8761ba..91be2e6 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -29,6 +29,11 @@ func (metrics *Metrics) QueueIsEmpty() bool { return len(metrics.channel) == 0 } +// QueueIsEmpty checks whether any messages are enqueued in the channel +func (metrics *Metrics) QueueIsEmpty() bool { + return len(metrics.channel) == 0 +} + // Register registers metrics for an executed scan func (metrics *Metrics) Register(metric *Metric) { metrics.channel <- metric From d38e52b5c6a2ebee4e60ca08e5e379851e36845a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 24 Apr 2021 15:42:31 +0200 Subject: [PATCH 096/389] fix: merge artifacts and broken shoutrrr tests (#929) * test: add missing container test suite * fix broken tests * fix: remove duplicate merge artifact Co-authored-by: Simon Aronsson --- go.mod | 2 +- internal/actions/mocks/container.go | 2 ++ pkg/container/container_suite_test.go | 13 +++++++++++++ pkg/metrics/metrics.go | 5 ----- pkg/notifications/notifier_test.go | 26 ++++++++++++++++++++------ 5 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 pkg/container/container_suite_test.go diff --git a/go.mod b/go.mod index 35a2c24..225915b 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4 github.com/docker/docker-credential-helpers v0.6.1 // indirect github.com/docker/go v1.5.1-1 // indirect - github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-connections v0.4.0 github.com/docker/go-metrics v0.0.0-20181218153428-b84716841b82 // indirect github.com/docker/go-units v0.3.3 // indirect github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index 1db8652..a4ded79 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -4,6 +4,7 @@ import ( "github.com/containrrr/watchtower/pkg/container" "github.com/docker/docker/api/types" container2 "github.com/docker/docker/api/types/container" + "github.com/docker/go-connections/nat" "time" ) @@ -19,6 +20,7 @@ func CreateMockContainer(id string, name string, image string, created time.Time Config: &container2.Config{ Image: image, Labels: make(map[string]string), + ExposedPorts: map[nat.Port]struct{}{}, }, } return *container.NewContainer( diff --git a/pkg/container/container_suite_test.go b/pkg/container/container_suite_test.go new file mode 100644 index 0000000..292a008 --- /dev/null +++ b/pkg/container/container_suite_test.go @@ -0,0 +1,13 @@ +package container_test + +import ( + "testing" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +func TestContainer(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Container Suite") +} diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index 91be2e6..d8761ba 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -29,11 +29,6 @@ func (metrics *Metrics) QueueIsEmpty() bool { return len(metrics.channel) == 0 } -// QueueIsEmpty checks whether any messages are enqueued in the channel -func (metrics *Metrics) QueueIsEmpty() bool { - return len(metrics.channel) == 0 -} - // Register registers metrics for an executed scan func (metrics *Metrics) Register(metric *Metric) { metrics.channel <- metric diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index ecd228f..ba6657a 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -47,7 +47,7 @@ var _ = Describe("notifications", func() { token := "abvsihdbau" color := notifications.ColorInt title := url.QueryEscape(notifications.GetTitle()) - expected := fmt.Sprintf("discord://%s@%s?avatar=&color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&splitlines=Yes&title=%s&username=watchtower", token, channel, color, title) + expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&splitlines=Yes&title=%s&username=watchtower", token, channel, color, title) buildArgs := func(url string) []string { return []string{ "--notifications", @@ -101,7 +101,7 @@ var _ = Describe("notifications", func() { host := "shoutrrr.local" title := url.QueryEscape(notifications.GetTitle()) - expectedOutput := fmt.Sprintf("gotify://%s/%s?disabletls=No&priority=0&title=%s", host, token, title) + expectedOutput := fmt.Sprintf("gotify://%s/%s?title=%s", host, token, title) args := []string{ "--notification-gotify-url", @@ -128,7 +128,7 @@ var _ = Describe("notifications", func() { title := url.QueryEscape(notifications.GetTitle()) hookURL := fmt.Sprintf("https://outlook.office.com/webhook/%s/IncomingWebhook/%s/%s", tokenA, tokenB, tokenC) - expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s&host=outlook.office.com&title=%s", tokenA, tokenB, tokenC, color, title) + expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s&title=%s", tokenA, tokenB, tokenC, color, title) args := []string{ "--notification-msteams-hook", @@ -147,10 +147,18 @@ var _ = Describe("notifications", func() { When("converting an email service config into a shoutrrr url", func() { It("should set the from address in the URL", func() { fromAddress := "lala@example.com" - expectedOutput := buildExpectedURL("", "", "", 25, fromAddress, "", "None") + expectedOutput := buildExpectedURL("containrrrbot", "secret-password", "mail.containrrr.dev", 25, fromAddress, "mail@example.com", "Plain") args := []string{ "--notification-email-from", fromAddress, + "--notification-email-to", + "mail@example.com", + "--notification-email-server-user", + "containrrrbot", + "--notification-email-server-password", + "secret-password", + "--notification-email-server", + "mail.containrrr.dev", } testURL(builderFn, args, expectedOutput) }) @@ -159,13 +167,19 @@ var _ = Describe("notifications", func() { fromAddress := "sender@example.com" toAddress := "receiver@example.com" - expectedOutput := buildExpectedURL("", "", "", 25, fromAddress, toAddress, "None") + expectedOutput := buildExpectedURL("containrrrbot", "secret-password", "mail.containrrr.dev", 25, fromAddress, toAddress, "Plain") args := []string{ "--notification-email-from", fromAddress, "--notification-email-to", toAddress, + "--notification-email-server-user", + "containrrrbot", + "--notification-email-server-password", + "secret-password", + "--notification-email-server", + "mail.containrrr.dev", } testURL(builderFn, args, expectedOutput) @@ -180,7 +194,7 @@ func buildExpectedURL(username string, password string, host string, port int, f subject := fmt.Sprintf("Watchtower updates on %s", hostname) - var template = "smtp://%s:%s@%s:%d/?auth=%s&encryption=Auto&fromaddress=%s&fromname=Watchtower&starttls=Yes&subject=%s&toaddresses=%s&usehtml=No" + var template = "smtp://%s:%s@%s:%d/?auth=%s&fromaddress=%s&fromname=Watchtower&subject=%s&toaddresses=%s" return fmt.Sprintf(template, url.QueryEscape(username), url.QueryEscape(password), From fdf6e46e7bcd848b44c49b62e211a55585a56c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 24 Apr 2021 18:25:05 +0200 Subject: [PATCH 097/389] fix: use default http transport for head (#926) note: still disables TLS verification to enable use with local regisitries --- pkg/registry/digest/digest.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go index 894c162..4634688 100644 --- a/pkg/registry/digest/digest.go +++ b/pkg/registry/digest/digest.go @@ -10,8 +10,10 @@ import ( "github.com/containrrr/watchtower/pkg/registry/manifest" "github.com/containrrr/watchtower/pkg/types" "github.com/sirupsen/logrus" + "net" "net/http" "strings" + "time" ) // ContentDigestHeader is the key for the key-value pair containing the digest header @@ -69,7 +71,17 @@ func TransformAuth(registryAuth string) string { // GetDigest from registry using a HEAD request to prevent rate limiting func GetDigest(url string, token string) (string, error) { tr := &http.Transport{ - TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + Proxy: http.ProxyFromEnvironment, + DialContext: (&net.Dialer{ + Timeout: 30 * time.Second, + KeepAlive: 30 * time.Second, + }).DialContext, + ForceAttemptHTTP2: true, + MaxIdleConns: 100, + IdleConnTimeout: 90 * time.Second, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } client := &http.Client{Transport: tr} From 12467712a19ff5b99319b3b55cc798afb3da5ffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 24 Apr 2021 18:29:05 +0200 Subject: [PATCH 098/389] feat: check container config before update (#925) * feat: check container config before restart * fix: only skip when hostconfig and config differ * fix: update test mocks to not fail tests * test: add verify config tests --- cmd/root.go | 7 ++- internal/actions/mocks/container.go | 7 ++- internal/actions/update.go | 19 ++++-- pkg/container/container.go | 29 +++++++++ pkg/container/container_test.go | 95 +++++++++++++++++++++++++++-- pkg/container/errors.go | 7 +++ 6 files changed, 151 insertions(+), 13 deletions(-) create mode 100644 pkg/container/errors.go diff --git a/cmd/root.go b/cmd/root.go index 6f84727..707c4fd 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -269,6 +269,9 @@ func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { } log.Info("Watchtower ", version, "\n", notifs, "\n", filtering, "\n", schedMessage) + if log.IsLevelEnabled(log.TraceLevel) { + log.Warn("trace level enabled: log will include sensitive information as credentials and tokens") + } } } @@ -330,8 +333,10 @@ func runUpdatesWithNotifications(filter t.Filter) *metrics.Metric { } metricResults, err := actions.Update(client, updateParams) if err != nil { - log.Println(err) + log.Error(err) } notifier.SendNotification() + log.Debugf("Session done: %v scanned, %v updated, %v failed", + metricResults.Scanned, metricResults.Updated, metricResults.Failed) return metricResults } diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index a4ded79..0c0ee94 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -16,10 +16,13 @@ func CreateMockContainer(id string, name string, image string, created time.Time Image: image, Name: name, Created: created.String(), + HostConfig: &container2.HostConfig{ + PortBindings: map[nat.Port][]nat.PortBinding{}, + }, }, Config: &container2.Config{ - Image: image, - Labels: make(map[string]string), + Image: image, + Labels: make(map[string]string), ExposedPorts: map[nat.Port]struct{}{}, }, } diff --git a/internal/actions/update.go b/internal/actions/update.go index 06bb345..66a28f1 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -1,7 +1,6 @@ package actions import ( - "errors" "github.com/containrrr/watchtower/internal/util" "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/lifecycle" @@ -33,11 +32,23 @@ func Update(client container.Client, params types.UpdateParams) (*metrics2.Metri for i, targetContainer := range containers { stale, err := client.IsContainerStale(targetContainer) - if stale && !params.NoRestart && !params.MonitorOnly && !targetContainer.IsMonitorOnly() && !targetContainer.HasImageInfo() { - err = errors.New("no available image info") + shouldUpdate := stale && !params.NoRestart && !params.MonitorOnly && !targetContainer.IsMonitorOnly() + if err == nil && shouldUpdate { + // Check to make sure we have all the necessary information for recreating the container + err = targetContainer.VerifyConfiguration() + // If the image information is incomplete and trace logging is enabled, log it for further diagnosis + if err != nil && log.IsLevelEnabled(log.TraceLevel) { + imageInfo := targetContainer.ImageInfo() + log.Tracef("Image info: %#v", imageInfo) + log.Tracef("Container info: %#v", targetContainer.ContainerInfo()) + if imageInfo != nil { + log.Tracef("Image config: %#v", imageInfo.Config) + } + } } + if err != nil { - log.Infof("Unable to update container %q: %v. Proceeding to next.", containers[i].Name(), err) + log.Infof("Unable to update container %q: %v. Proceeding to next.", targetContainer.Name(), err) stale = false staleCheckFailed++ metric.Failed++ diff --git a/pkg/container/container.go b/pkg/container/container.go index 7631b5e..92abec2 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -258,3 +258,32 @@ func (c Container) HasImageInfo() bool { func (c Container) ImageInfo() *types.ImageInspect { return c.imageInfo } + +// VerifyConfiguration checks the container and image configurations for nil references to make sure +// that the container can be recreated once deleted +func (c Container) VerifyConfiguration() error { + if c.imageInfo == nil { + return errorNoImageInfo + } + + containerInfo := c.ContainerInfo() + if containerInfo == nil { + return errorInvalidConfig + } + + containerConfig := containerInfo.Config + if containerConfig == nil { + return errorInvalidConfig + } + + hostConfig := containerInfo.HostConfig + if hostConfig == nil { + return errorInvalidConfig + } + + if len(hostConfig.PortBindings) > 0 && containerConfig.ExposedPorts == nil { + return errorNoExposedPorts + } + + return nil +} diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 8ddeb8b..8f22044 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -6,6 +6,7 @@ import ( "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" cli "github.com/docker/docker/client" + "github.com/docker/go-connections/nat" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) @@ -32,14 +33,14 @@ var _ = Describe("the container", func() { containerKnown := *mockContainerWithImageName("docker.io/prefix/imagename:latest") When("warn on head failure is set to \"always\"", func() { - c := NewClient(false, false, false, false, false, "always") + c := newClientNoAPI(false, false, false, false, false, "always") It("should always return true", func() { Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeTrue()) Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) }) }) When("warn on head failure is set to \"auto\"", func() { - c := NewClient(false, false, false, false, false, "auto") + c := newClientNoAPI(false, false, false, false, false, "auto") It("should always return true", func() { Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) }) @@ -48,7 +49,7 @@ var _ = Describe("the container", func() { }) }) When("warn on head failure is set to \"never\"", func() { - c := NewClient(false, false, false, false, false, "never") + c := newClientNoAPI(false, false, false, false, false, "never") It("should never return true", func() { Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeFalse()) @@ -130,6 +131,63 @@ var _ = Describe("the container", func() { }) }) }) + Describe("VerifyConfiguration", func() { + When("verifying a container with no image info", func() { + It("should return an error", func() { + c := mockContainerWithPortBindings() + c.imageInfo = nil + err := c.VerifyConfiguration() + Expect(err).To(Equal(errorNoImageInfo)) + }) + }) + When("verifying a container with no container info", func() { + It("should return an error", func() { + c := mockContainerWithPortBindings() + c.containerInfo = nil + err := c.VerifyConfiguration() + Expect(err).To(Equal(errorInvalidConfig)) + }) + }) + When("verifying a container with no config", func() { + It("should return an error", func() { + c := mockContainerWithPortBindings() + c.containerInfo.Config = nil + err := c.VerifyConfiguration() + Expect(err).To(Equal(errorInvalidConfig)) + }) + }) + When("verifying a container with no host config", func() { + It("should return an error", func() { + c := mockContainerWithPortBindings() + c.containerInfo.HostConfig = nil + err := c.VerifyConfiguration() + Expect(err).To(Equal(errorInvalidConfig)) + }) + }) + When("verifying a container with no port bindings", func() { + It("should not return an error", func() { + c := mockContainerWithPortBindings() + err := c.VerifyConfiguration() + Expect(err).ToNot(HaveOccurred()) + }) + }) + When("verifying a container with port bindings, but no exposed ports", func() { + It("should return an error", func() { + c := mockContainerWithPortBindings("80/tcp") + c.containerInfo.Config.ExposedPorts = nil + err := c.VerifyConfiguration() + Expect(err).To(Equal(errorNoExposedPorts)) + }) + }) + When("verifying a container with port bindings and exposed ports is non-nil", func() { + It("should return an error", func() { + c := mockContainerWithPortBindings("80/tcp") + c.containerInfo.Config.ExposedPorts = map[nat.Port]struct{}{"80/tcp": {}} + err := c.VerifyConfiguration() + Expect(err).ToNot(HaveOccurred()) + }) + }) + }) When("asked for metadata", func() { var c *Container BeforeEach(func() { @@ -281,10 +339,23 @@ var _ = Describe("the container", func() { }) }) +func mockContainerWithPortBindings(portBindingSources ...string) *Container { + mockContainer := mockContainerWithLabels(nil) + mockContainer.imageInfo = &types.ImageInspect{} + hostConfig := &container.HostConfig{ + PortBindings: nat.PortMap{}, + } + for _, pbs := range portBindingSources { + hostConfig.PortBindings[nat.Port(pbs)] = []nat.PortBinding{} + } + mockContainer.containerInfo.HostConfig = hostConfig + return mockContainer +} + func mockContainerWithImageName(name string) *Container { - container := mockContainerWithLabels(nil) - container.containerInfo.Config.Image = name - return container + mockContainer := mockContainerWithLabels(nil) + mockContainer.containerInfo.Config.Image = name + return mockContainer } func mockContainerWithLinks(links []string) *Container { @@ -317,3 +388,15 @@ func mockContainerWithLabels(labels map[string]string) *Container { } return NewContainer(&content, nil) } + +func newClientNoAPI(pullImages, includeStopped, reviveStopped, removeVolumes, includeRestarting bool, warnOnHeadFailed string) Client { + return dockerClient{ + api: nil, + pullImages: pullImages, + removeVolumes: removeVolumes, + includeStopped: includeStopped, + reviveStopped: reviveStopped, + includeRestarting: includeRestarting, + warnOnHeadFailed: warnOnHeadFailed, + } +} diff --git a/pkg/container/errors.go b/pkg/container/errors.go new file mode 100644 index 0000000..b927220 --- /dev/null +++ b/pkg/container/errors.go @@ -0,0 +1,7 @@ +package container + +import "errors" + +var errorNoImageInfo = errors.New("no available image info") +var errorNoExposedPorts = errors.New("exposed ports does not match port bindings") +var errorInvalidConfig = errors.New("container configuration missing or invalid") From d0148ab796a7c84b69790b295d443d8c04fda8da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 24 Apr 2021 19:04:16 +0200 Subject: [PATCH 099/389] fix manifest creation in release job --- .github/workflows/release.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 39e43fc..0393f0a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -95,7 +95,8 @@ jobs: containrrr/watchtower:amd64-$DH_TAG \ containrrr/watchtower:i386-$DH_TAG \ containrrr/watchtower:armhf-$DH_TAG \ - containrrr/watchtower:arm64v8-$DH_TAG \ + containrrr/watchtower:arm64v8-$DH_TAG + docker manifest create \ ghcr.io/containrrr/watchtower:$DH_TAG \ ghcr.io/containrrr/watchtower:amd64-$DH_TAG \ ghcr.io/containrrr/watchtower:i386-$DH_TAG \ @@ -132,7 +133,8 @@ jobs: containrrr/watchtower:amd64-latest \ containrrr/watchtower:i386-latest \ containrrr/watchtower:armhf-latest \ - containrrr/watchtower:arm64v8-latest \ + containrrr/watchtower:arm64v8-latest + docker manifest create \ ghcr.io/containrrr/watchtower:latest \ ghcr.io/containrrr/watchtower:amd64-latest \ ghcr.io/containrrr/watchtower:i386-latest \ From 692f66bace8d8ba6bc19c9e0b325432ae1afa56c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 24 Apr 2021 19:43:17 +0200 Subject: [PATCH 100/389] fix goreleaser tags for ghcr.io --- goreleaser.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/goreleaser.yml b/goreleaser.yml index 9b738e6..3f5e95d 100644 --- a/goreleaser.yml +++ b/goreleaser.yml @@ -38,6 +38,8 @@ dockers: image_templates: - containrrr/watchtower:amd64-{{ .Version }} - containrrr/watchtower:amd64-latest + - ghcr.io/containrrr/watchtower:amd64-{{ .Version }} + - ghcr.io/containrrr/watchtower:amd64-latest binaries: - watchtower - @@ -50,6 +52,8 @@ dockers: image_templates: - containrrr/watchtower:i386-{{ .Version }} - containrrr/watchtower:i386-latest + - ghcr.io/containrrr/watchtower:i386-{{ .Version }} + - ghcr.io/containrrr/watchtower:i386-latest binaries: - watchtower - @@ -62,6 +66,8 @@ dockers: image_templates: - containrrr/watchtower:armhf-{{ .Version }} - containrrr/watchtower:armhf-latest + - ghcr.io/containrrr/watchtower:armhf-{{ .Version }} + - ghcr.io/containrrr/watchtower:armhf-latest binaries: - watchtower - @@ -74,5 +80,7 @@ dockers: image_templates: - containrrr/watchtower:arm64v8-{{ .Version }} - containrrr/watchtower:arm64v8-latest + - ghcr.io/containrrr/watchtower:arm64v8-{{ .Version }} + - ghcr.io/containrrr/watchtower:arm64v8-latest binaries: - watchtower From ef4873b16611b11b2c6a0293e7a96a3a578c784a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 24 Apr 2021 20:11:36 +0200 Subject: [PATCH 101/389] fix goreleaser GHCR login --- .github/workflows/release.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0393f0a..99e30fb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -76,6 +76,12 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Login to GHCR + uses: docker/login-action@v1 + with: + username: ${{ secrets.BOT_USERNAME }} + password: ${{ secrets.BOT_GHCR_PAT }} + registry: ghcr.io - name: Build uses: goreleaser/goreleaser-action@v2 with: @@ -173,8 +179,11 @@ jobs: docker manifest push containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ docker manifest push containrrr/watchtower:latest - name: Push manifests to GitHub Container Registry + env: + DOCKER_USER: ${{ secrets.BOT_USERNAME }} + DOCKER_TOKEN: ${{ secrets.BOT_GHCR_PAT }} run: | - echo "$BOT_GHCR_PAT" | docker login -u $BOT_USERNAME --password-stdin && \ + docker login -u $DOCKER_USER -p $DOCKER_TOKEN ghcr.io && \ docker manifest push ghcr.io/containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ docker manifest push ghcr.io/containrrr/watchtower:latest From cc3ff5a58803e327dc811d06e9fe3fe5ce512704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 24 Apr 2021 20:33:13 +0200 Subject: [PATCH 102/389] fix more spelling mistakes --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 99e30fb..871ac9d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -110,7 +110,7 @@ jobs: ghcr.io/containrrr/watchtower:arm64v8-$DH_TAG - name: Annotate manifest for version run: | - for REPO in '' ghrc.io/ ; do + for REPO in '' ghcr.io/ ; do docker manifest annotate \ ${REPO}containrrr/watchtower:$(echo $TAG | sed 's/^v*//') \ @@ -148,7 +148,7 @@ jobs: ghcr.io/containrrr/watchtower:arm64v8-latest - name: Annotate manifest for latest run: | - for REPO in '' ghrc.io/ ; do + for REPO in '' ghcr.io/ ; do docker manifest annotate \ ${REPO}containrrr/watchtower:latest \ From 26dbc64b352fae3a7ba43181784c83b7c9d9de1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 27 Apr 2021 11:34:24 +0200 Subject: [PATCH 103/389] Documentation updates (#936) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update private-registries.md * docs: fix codecov branch * docs: clarify monitor and add head fail warning * docs: remove unsupported features * docs: add date format note and fix typo * docs: 🌈 * docs: fix auto-format errors and linting * docs: fix auto-format errors and linting --- README.md | 2 +- docs/arguments.md | 90 ++++++++++++++---------- docs/index.md | 24 +++++-- docs/introduction.md | 2 +- docs/lifecycle-hooks.md | 28 ++++---- docs/metrics.md | 7 +- docs/notifications.md | 43 +++++++----- docs/private-registries.md | 140 ++++++++++++++++++------------------- docs/usage-overview.md | 14 +++- mkdocs.yml | 13 +++- 10 files changed, 210 insertions(+), 153 deletions(-) diff --git a/README.md b/README.md index 0d9d512..5d1f08a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@

[![Circle CI](https://circleci.com/gh/containrrr/watchtower.svg?style=shield)](https://circleci.com/gh/containrrr/watchtower) - [![codecov](https://codecov.io/gh/containrrr/watchtower/branch/master/graph/badge.svg?token=8pxWgB380Y)](https://codecov.io/gh/containrrr/watchtower) + [![codecov](https://codecov.io/gh/containrrr/watchtower/branch/main/graph/badge.svg)](https://codecov.io/gh/containrrr/watchtower) [![GoDoc](https://godoc.org/github.com/containrrr/watchtower?status.svg)](https://godoc.org/github.com/containrrr/watchtower) [![Microbadger](https://images.microbadger.com/badges/image/containrrr/watchtower.svg)](https://microbadger.com/images/containrrr/watchtower) [![Go Report Card](https://goreportcard.com/badge/github.com/containrrr/watchtower)](https://goreportcard.com/report/github.com/containrrr/watchtower) diff --git a/docs/arguments.md b/docs/arguments.md index 70efc21..4763940 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -30,7 +30,7 @@ When no arguments are specified, watchtower will monitor all running containers. ## Help Shows documentation about the supported flags. -``` +```text Argument: --help Environment Variable: N/A Type: N/A @@ -41,7 +41,7 @@ Environment Variable: N/A Sets the time zone to be used by WatchTower's logs and the optional Cron scheduling argument (--schedule). If this environment variable is not set, Watchtower will use the default time zone: UTC. To find out the right value, see [this list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), find your location and use the value in _TZ Database Name_, e.g _Europe/Rome_. The timezone can alternatively be set by volume mounting your hosts /etc/localtime file. `-v /etc/localtime:/etc/localtime:ro` -``` +```text Argument: N/A Environment Variable: TZ Type: String @@ -51,7 +51,7 @@ Environment Variable: TZ ## Cleanup Removes old images after updating. When this flag is specified, watchtower will remove the old image after restarting a container with a new image. Use this option to prevent the accumulation of orphaned images on your system as containers are updated. -``` +```text Argument: --cleanup Environment Variable: WATCHTOWER_CLEANUP Type: Boolean @@ -61,7 +61,7 @@ Environment Variable: WATCHTOWER_CLEANUP ## Remove attached volumes Removes attached volumes after updating. When this flag is specified, watchtower will remove all attached volumes from the container before restarting with a new image. Use this option to force new volumes to be populated as containers are updated. -``` +```text Argument: --remove-volumes Environment Variable: WATCHTOWER_REMOVE_VOLUMES Type: Boolean @@ -71,7 +71,7 @@ Environment Variable: WATCHTOWER_REMOVE_VOLUMES ## Debug Enable debug mode with verbose logging. -``` +```text Argument: --debug, -d Environment Variable: WATCHTOWER_DEBUG Type: Boolean @@ -81,7 +81,7 @@ Environment Variable: WATCHTOWER_DEBUG ## Trace Enable trace mode with very verbose logging. Caution: exposes credentials! -``` +```text Argument: --trace Environment Variable: WATCHTOWER_TRACE Type: Boolean @@ -91,7 +91,7 @@ Environment Variable: WATCHTOWER_TRACE ## ANSI colors Disable ANSI color escape codes in log output. -``` +```text Argument: --no-color Environment Variable: NO_COLOR Type: Boolean @@ -101,7 +101,7 @@ Environment Variable: NO_COLOR ## Docker host Docker daemon socket to connect to. Can be pointed at a remote Docker host by specifying a TCP endpoint as "tcp://hostname:port". -``` +```text Argument: --host, -H Environment Variable: DOCKER_HOST Type: String @@ -111,7 +111,7 @@ Environment Variable: DOCKER_HOST ## Docker API version The API version to use by the Docker client for connecting to the Docker daemon. The minimum supported version is 1.24. -``` +```text Argument: --api-version, -a Environment Variable: DOCKER_API_VERSION Type: String @@ -121,7 +121,7 @@ Environment Variable: DOCKER_API_VERSION ## Include restarting Will also include restarting containers. -``` +```text Argument: --include-restarting Environment Variable: WATCHTOWER_INCLUDE_RESTARTING Type: Boolean @@ -131,7 +131,7 @@ Environment Variable: WATCHTOWER_INCLUDE_RESTARTING ## Include stopped Will also include created and exited containers. -``` +```text Argument: --include-stopped Environment Variable: WATCHTOWER_INCLUDE_STOPPED Type: Boolean @@ -141,7 +141,7 @@ Environment Variable: WATCHTOWER_INCLUDE_STOPPED ## Revive stopped Start any stopped containers that have had their image updated. This argument is only usable with the `--include-stopped` argument. -``` +```text Argument: --revive-stopped Environment Variable: WATCHTOWER_REVIVE_STOPPED Type: Boolean @@ -151,7 +151,7 @@ Environment Variable: WATCHTOWER_REVIVE_STOPPED ## Poll interval Poll interval (in seconds). This value controls how frequently watchtower will poll for new images. Either `--schedule` or a poll interval can be defined, but not both. -``` +```text Argument: --interval, -i Environment Variable: WATCHTOWER_POLL_INTERVAL Type: Integer @@ -161,7 +161,7 @@ Environment Variable: WATCHTOWER_POLL_INTERVAL ## Filter by enable label Update containers that have a `com.centurylinklabs.watchtower.enable` label set to true. -``` +```text Argument: --label-enable Environment Variable: WATCHTOWER_LABEL_ENABLE Type: Boolean @@ -169,16 +169,20 @@ Environment Variable: WATCHTOWER_LABEL_ENABLE ``` ## Filter by disable label -**Do not** update containers that have `com.centurylinklabs.watchtower.enable` label set to false and no `--label-enable` argument is passed. Note that only one or the other (targeting by enable label) can be used at the same time to target containers. +__Do not__ update containers that have `com.centurylinklabs.watchtower.enable` label set to false and +no `--label-enable` argument is passed. Note that only one or the other (targeting by enable label) can be +used at the same time to target containers. ## Without updating containers -Will only monitor for new images, send notifications and invoke the [pre-check/post-check hooks](https://containrrr.dev/watchtower/lifecycle-hooks/), but will **not** update the containers. +Will only monitor for new images, send notifications and invoke +the [pre-check/post-check hooks](https://containrrr.dev/watchtower/lifecycle-hooks/), but will __not__ update the +containers. -> **⚠️ Please note** -> -> Due to Docker API limitations the latest image will still be pulled from the registry. +!!! note Due to Docker API limitations the latest image will still be pulled from the registry. +The HEAD digest checks allows watchtower to skip pulling when there are no changes, but to know _what_ has changed it +will still do a pull whenever the repository digest doesn't match the local image digest. -``` +```text Argument: --monitor-only Environment Variable: WATCHTOWER_MONITOR_ONLY Type: Boolean @@ -190,7 +194,7 @@ Note that monitor-only can also be specified on a per-container basis with the ` ## Without restarting containers Do not restart containers after updating. This option can be useful when the start of the containers is managed by an external system such as systemd. -``` +```text Argument: --no-restart Environment Variable: WATCHTOWER_NO_RESTART Type: Boolean @@ -203,7 +207,7 @@ new images from the registry. Instead it will only monitor the local image cache Use this option if you are building new images directly on the Docker host without pushing them to a registry. -``` +```text Argument: --no-pull Environment Variable: WATCHTOWER_NO_PULL Type: Boolean @@ -213,7 +217,7 @@ Environment Variable: WATCHTOWER_NO_PULL ## Without sending a startup message Do not send a message after watchtower started. Otherwise there will be an info-level notification. -``` +```text Argument: --no-startup-message Environment Variable: WATCHTOWER_NO_STARTUP_MESSAGE Type: Boolean @@ -223,7 +227,7 @@ Environment Variable: WATCHTOWER_NO_STARTUP_MESSAGE ## Run once Run an update attempt against a container name list one time immediately and exit. -``` +```text Argument: --run-once Environment Variable: WATCHTOWER_RUN_ONCE Type: Boolean @@ -231,9 +235,10 @@ Environment Variable: WATCHTOWER_RUN_ONCE ``` ## HTTP API Mode -Runs Watchtower in HTTP API mode, only allowing image updates to be triggered by an HTTP request. For details see [HTTP API](https://containrrr.github.io/watchtower/http-api-mode). +Runs Watchtower in HTTP API mode, only allowing image updates to be triggered by an HTTP request. +For details see [HTTP API](https://containrrr.github.io/watchtower/http-api-mode). -``` +```text Argument: --http-api-update Environment Variable: WATCHTOWER_HTTP_API Type: Boolean @@ -243,7 +248,7 @@ Environment Variable: WATCHTOWER_HTTP_API ## HTTP API Token Sets an authentication token to HTTP API requests. -``` +```text Argument: --http-api-token Environment Variable: WATCHTOWER_HTTP_API_TOKEN Type: String @@ -251,9 +256,10 @@ Environment Variable: WATCHTOWER_HTTP_API_TOKEN ``` ## Filter by scope -Update containers that have a `com.centurylinklabs.watchtower.scope` label set with the same value as the given argument. This enables [running multiple instances](https://containrrr.github.io/watchtower/running-multiple-instances). +Update containers that have a `com.centurylinklabs.watchtower.scope` label set with the same value as the given argument. +This enables [running multiple instances](https://containrrr.github.io/watchtower/running-multiple-instances). -``` +```text Argument: --scope Environment Variable: WATCHTOWER_SCOPE Type: String @@ -263,7 +269,7 @@ Environment Variable: WATCHTOWER_SCOPE ## HTTP API Metrics Enables a metrics endpoint, exposing prometheus metrics via HTTP. See [Metrics](metrics.md) for details. -``` +```text Argument: --http-api-metrics Environment Variable: WATCHTOWER_HTTP_API_METRICS Type: Boolean @@ -274,7 +280,7 @@ Environment Variable: WATCHTOWER_HTTP_API_METRICS [Cron expression](https://pkg.go.dev/github.com/robfig/cron@v1.2.0?tab=doc#hdr-CRON_Expression_Format) in 6 fields (rather than the traditional 5) which defines when and how often to check for new images. Either `--interval` or the schedule expression can be defined, but not both. An example: `--schedule "0 0 4 * * *"` -``` +```text Argument: --schedule, -s Environment Variable: WATCHTOWER_SCHEDULE Type: String @@ -285,7 +291,7 @@ Environment Variable: WATCHTOWER_SCHEDULE Restart one image at time instead of stopping and starting all at once. Useful in conjunction with lifecycle hooks to implement zero-downtime deploy. -``` +```text Argument: --rolling-restart Environment Variable: WATCHTOWER_ROLLING_RESTART Type: Boolean @@ -295,7 +301,7 @@ Environment Variable: WATCHTOWER_ROLLING_RESTART ## Wait until timeout Timeout before the container is forcefully stopped. When set, this option will change the default (`10s`) wait time to the given value. An example: `--stop-timeout 30s` will set the timeout to 30 seconds. -``` +```text Argument: --stop-timeout Environment Variable: WATCHTOWER_TIMEOUT Type: Duration @@ -303,11 +309,25 @@ Environment Variable: WATCHTOWER_TIMEOUT ``` ## TLS Verification -Use TLS when connecting to the Docker socket and verify the server's certificate. See below for options used to configure notifications. -``` +Use TLS when connecting to the Docker socket and verify the server's certificate. See below for options used to +configure notifications. + +```text Argument: --tlsverify Environment Variable: DOCKER_TLS_VERIFY Type: Boolean Default: false ``` + +## HEAD failure warnings + +When to warn about HEAD pull requests failing. Auto means that it will warn when the registry is known to handle the +requests and may rate limit pull requests (mainly docker.io). + +```text + Argument: --warn-on-head-failure +Environment Variable: WATCHTOWER_WARN_ON_HEAD_FAILURE + Possible values: always, auto, never + Default: auto +``` \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index e999c03..9d52da3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -12,7 +12,7 @@ Circle CI - Codecov + Codecov GoDoc @@ -42,11 +42,21 @@ ## Quick Start -With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially. Run the watchtower container with the following command: +With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker +Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container +and restart it with the same options that were used when it was deployed initially. Run the watchtower container with +the following command: +=== "docker run" +```bash $ docker run -d \ +--name watchtower \ +-v /var/run/docker.sock:/var/run/docker.sock \ +containrrr/watchtower ``` -$ docker run -d \ - --name watchtower \ - -v /var/run/docker.sock:/var/run/docker.sock \ - containrrr/watchtower -``` +=== "docker-compose.yml" +```yaml version: "3" +services: +watchtower: +image: containrrr/watchtower volumes: +- /var/run/docker.sock:/var/run/docker.sock +``` \ No newline at end of file diff --git a/docs/introduction.md b/docs/introduction.md index 9e0f5fe..ded074f 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -4,7 +4,7 @@ With watchtower you can update the running version of your containerized app sim For example, let's say you were running watchtower along with an instance of _centurylink/wetty-cli_ image: -```bash +```text $ docker ps CONTAINER ID IMAGE STATUS PORTS NAMES 967848166a45 centurylink/wetty-cli Up 10 minutes 0.0.0.0:8080->3000/tcp wetty diff --git a/docs/lifecycle-hooks.md b/docs/lifecycle-hooks.md index f8bc640..df30695 100644 --- a/docs/lifecycle-hooks.md +++ b/docs/lifecycle-hooks.md @@ -1,7 +1,8 @@ ## Executing commands before and after updating -> **DO NOTE**: These are shell commands executed with `sh`, and therefore require the -> container to provide the `sh` executable. +!!! note + These are shell commands executed with `sh`, and therefore require the container to provide the `sh` + executable. It is possible to execute _pre/post\-check_ and _pre/post\-update_ commands **inside** every container updated by watchtower. @@ -26,24 +27,21 @@ The commands are specified using docker container labels, the following are curr | Post Update | `com.centurylinklabs.watchtower.lifecycle.post-update` | | Post Check | `com.centurylinklabs.watchtower.lifecycle.post-check` | -These labels can be declared as instructions in a Dockerfile (with some example .sh files): +These labels can be declared as instructions in a Dockerfile (with some example .sh files) or be specified as part of +the `docker run` command line: -```docker -LABEL com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" +=== "Dockerfile" +```docker LABEL com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" LABEL com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" LABEL com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" LABEL com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" ``` - -Or be specified as part of the `docker run` command line: - -```bash -docker run -d \ - --label=com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" \ - --label=com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" \ - --label=com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" \ - someimage - --label=com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" \ +=== "docker run" +```bash docker run -d \ +--label=com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" \ +--label=com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" \ +--label=com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" \ +someimage --label=com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" \ ``` ### Timeouts diff --git a/docs/metrics.md b/docs/metrics.md index d8ea1b4..9741955 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -1,7 +1,6 @@ -> **⚠️ Experimental feature** -> -> This feature was added in v1.0.4 and is still considered experimental. -> If you notice any strange behavior, please raise a ticket in the repository issues. +!!! warning "Experimental feature" + This feature was added in v1.0.4 and is still considered experimental. If you notice any strange behavior, please raise + a ticket in the repository issues. Metrics can be used to track how Watchtower behaves over time. diff --git a/docs/notifications.md b/docs/notifications.md index 57603cb..5a5feb2 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -1,7 +1,9 @@ # Notifications -Watchtower can send notifications when containers are updated. Notifications are sent via hooks in the logging system, [logrus](http://github.com/sirupsen/logrus). -The types of notifications to send are set by passing a comma-separated list of values to the `--notifications` option (or corresponding environment variable `WATCHTOWER_NOTIFICATIONS`), which has the following valid values: +Watchtower can send notifications when containers are updated. Notifications are sent via hooks in the logging +system, [logrus](http://github.com/sirupsen/logrus). The types of notifications to send are set by passing a +comma-separated list of values to the `--notifications` option +(or corresponding environment variable `WATCHTOWER_NOTIFICATIONS`), which has the following valid values: - `email` to send notifications via e-mail - `slack` to send notifications through a Slack webhook @@ -9,11 +11,16 @@ The types of notifications to send are set by passing a comma-separated list of - `gotify` to send notifications via Gotify - `shoutrrr` to send notifications via [containrrr/shoutrrr](https://github.com/containrrr/shoutrrr) -> There is currently a [bug](https://github.com/spf13/viper/issues/380) in Viper, which prevents comma-separated slices to be used when using the environment variable. A workaround is available where we instead put quotes around the environment variable value and replace the commas with spaces, as `WATCHTOWER_NOTIFICATIONS="slack msteams"` - -> If you're a `docker-compose` user, make sure to specify environment variables' values in your `.yml` file without double quotes (`"`). -> -> This prevents unexpected errors when watchtower starts. +!!! note "Using multiple notifications with environment variables" + There is currently a bug in Viper (https://github.com/spf13/viper/issues/380), which prevents comma-separated slices to + be used when using the environment variable. + A workaround is available where we instead put quotes around the environment variable value and replace the commas with + spaces: + ``` + WATCHTOWER_NOTIFICATIONS="slack msteams" + ``` + If you're a `docker-compose` user, make sure to specify environment variables' values in your `.yml` file without double + quotes (`"`). This prevents unexpected errors when watchtower starts. ## Settings @@ -60,7 +67,6 @@ The following example assumes, that your domain is called `your-domain.com` and Example including an SMTP relay: ```yaml ---- version: '3.8' services: watchtower: @@ -117,8 +123,6 @@ By default, watchtower will send messages under the name `watchtower`, you can c Other, optional, variables include: - `--notification-slack-channel` (env. `WATCHTOWER_NOTIFICATION_SLACK_CHANNEL`): A string which overrides the webhook's default channel. Example: #my-custom-channel. -- `--notification-slack-icon-emoji` (env. `WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI`): An [emoji code](https://www.webpagefx.com/tools/emoji-cheat-sheet/) string to use in place of the default icon. -- `--notification-slack-icon-url` (env. `WATCHTOWER_NOTIFICATION_SLACK_ICON_URL`): An icon image URL string to use in place of the default icon. Example: @@ -130,8 +134,6 @@ docker run -d \ -e WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL="https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy" \ -e WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=watchtower-server-1 \ -e WATCHTOWER_NOTIFICATION_SLACK_CHANNEL=#my-custom-channel \ - -e WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI=:whale: \ - -e WATCHTOWER_NOTIFICATION_SLACK_ICON_URL= \ containrrr/watchtower ``` @@ -179,16 +181,25 @@ To send notifications via shoutrrr, the following command-line options, or their - `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. -Go to [containrrr.github.io/shoutrrr/services/overview](https://containrrr.github.io/shoutrrr/services/overview) to learn more about the different service URLs you can use. -You can define multiple services by space separating the URLs. (See example below) +Go to [containrrr.github.io/shoutrrr/services/overview](https://containrrr.github.io/shoutrrr/services/overview) to +learn more about the different service URLs you can use. You can define multiple services by space separating the +URLs. (See example below) You can customize the message posted by setting a template. - `--notification-template` (env. `WATCHTOWER_NOTIFICATION_TEMPLATE`): The template used for the message. -The template is a Go [template](https://golang.org/pkg/text/template/) and the you format a list of [log entries](https://pkg.go.dev/github.com/sirupsen/logrus?tab=doc#Entry). +The template is a Go [template](https://golang.org/pkg/text/template/) and that format a list +of [log entries](https://pkg.go.dev/github.com/sirupsen/logrus?tab=doc#Entry). -The default value if not set is `{{range .}}{{.Message}}{{println}}{{end}}`. The example below uses a template that also outputs timestamp and log level. +The default value if not set is `{{range .}}{{.Message}}{{println}}{{end}}`. The example below uses a template that also +outputs timestamp and log level. + +!!! tip "Custom date format" + If you want to adjust the date/time format it must show how the + [reference time](https://golang.org/pkg/time/#pkg-constants) (_Mon Jan 2 15:04:05 MST 2006_) would be displayed in your + custom format. + i.e. The day of the year has to be 1, the month has to be 2 (february), the hour 3 (or 15 for 24h time) etc. Example: diff --git a/docs/private-registries.md b/docs/private-registries.md index 535b3e8..f35252e 100644 --- a/docs/private-registries.md +++ b/docs/private-registries.md @@ -26,17 +26,17 @@ password `auth` string: (e.g., `my-private-registry.example.org`) The required `auth` string can be generated as follows: + ```bash echo -n 'username:password' | base64 ``` -> ### ℹ️ Username and Password for GCloud -> -> For gcloud, we'll use `_json_key` as our username and the content -> of `gcloudauth.json` as the password. ->```bash -> echo -n "_json_key:$(cat gcloudauth.json)" | base64 -w0 ->``` +!!! info "Username and Password for GCloud" + For gcloud, we'll use `_json_key` as our username and the content of `gcloudauth.json` as the password. + ``` + bash echo -n "_json_key:$(cat gcloudauth.json)" | base64 -w0 + ``` + When the watchtower Docker container is started, the created configuration file (`/config.json` in this example) needs to be passed to the container: @@ -45,6 +45,7 @@ docker run [...] -v /config.json:/config.json containrrr/watchtower ``` ### Share the Docker configuration file + To pull an image from a private registry, `docker login` needs to be called first, to get access to the registry. The provided credentials are stored in a configuration file called `/.docker/config.json`. This configuration file can be directly used by watchtower. In this case, the creation of an @@ -101,79 +102,78 @@ Example implementation for use with [amazon-ecr-credential-helper](https://githu Use the dockerfile below to build the [amazon-ecr-credential-helper](https://github.com/awslabs/amazon-ecr-credential-helper), in a volume that may be mounted onto your watchtower container. -1. Create the Dockerfile (contents below): +1. Create the Dockerfile (contents below): -```Dockerfile -FROM golang:latest - -ENV CGO_ENABLED 0 -ENV REPO github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login - -RUN go get -u $REPO - -RUN rm /go/bin/docker-credential-ecr-login - -RUN go build \ - -o /go/bin/docker-credential-ecr-login \ - /go/src/$REPO - -WORKDIR /go/bin/ -``` + ```Dockerfile + FROM golang:latest + + ENV CGO_ENABLED 0 + ENV REPO github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login + + RUN go get -u $REPO + + RUN rm /go/bin/docker-credential-ecr-login + + RUN go build \ + -o /go/bin/docker-credential-ecr-login \ + /go/src/$REPO + + WORKDIR /go/bin/ + ``` 2. Use the following commands to build the aws-ecr-dock-cred-helper and store it's output in a volume: -```shell script -# Create a volume to store the command (once built) -docker volume create helper - -# Build the container -docker build -t aws-ecr-dock-cred-helper . - -# Build the command and store it in the new volume in the /go/bin directory. -docker run -d --rm --name aws-cred-helper --volume helper:/go/bin aws-ecr-dock-cred-helper - -``` + ```bash + # Create a volume to store the command (once built) + docker volume create helper + + # Build the container + docker build -t aws-ecr-dock-cred-helper . + + # Build the command and store it in the new volume in the /go/bin directory. + docker run -d --rm --name aws-cred-helper --volume helper:/go/bin aws-ecr-dock-cred-helper + + ``` 3. Create a configuration file for docker, and store it in $HOME/.docker/config.json (replace the - placeholders with your AWS Account ID): + placeholders with your AWS Account ID): -```json -{ - "credsStore" : "ecr-login", - "HttpHeaders" : { - "User-Agent" : "Docker-Client/19.03.1 (XXXXXX)" - }, - "auths" : { - ".dkr.ecr.us-west-1.amazonaws.com" : {} - }, - "credHelpers": { - ".dkr.ecr.us-west-1.amazonaws.com" : "ecr-login" - } -} -``` + ```json + { + "credsStore" : "ecr-login", + "HttpHeaders" : { + "User-Agent" : "Docker-Client/19.03.1 (XXXXXX)" + }, + "auths" : { + ".dkr.ecr.us-west-1.amazonaws.com" : {} + }, + "credHelpers": { + ".dkr.ecr.us-west-1.amazonaws.com" : "ecr-login" + } + } + ``` 4. Create a docker-compose file (as an example) to help launch the container: - -and the docker-compose definition: -```yaml -version: "3.4" -services: - # Check for new images and restart things if a new image exists - # for any of our containers. - watchtower: - image: containrrr/watchtower:latest + + ```yaml + version: "3.4" + services: + # Check for new images and restart things if a new image exists + # for any of our containers. + watchtower: + image: containrrr/watchtower:latest + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - .docker/config.json:/config.json + - helper:/go/bin + environment: + - HOME=/ + - PATH=$PATH:/go/bin + - AWS_REGION=us-west-1 volumes: - - /var/run/docker.sock:/var/run/docker.sock - - .docker/config.json:/config.json - - helper:/go/bin - environment: - - HOME=/ - - PATH=$PATH:/go/bin - - AWS_REGION=us-west-1 -volumes: - helper: - external: true -``` + helper: + external: true + ``` A few additional notes: diff --git a/docs/usage-overview.md b/docs/usage-overview.md index 04178a4..1462ba6 100644 --- a/docs/usage-overview.md +++ b/docs/usage-overview.md @@ -37,9 +37,19 @@ docker run -d \ containrrr/watchtower container_to_watch --debug ``` -> NOTE: if you mount `config.json` in the manner above, changes from the host system will (generally) not be propagated to the running container. Mounting files into the Docker daemon uses bind mounts, which are based on inodes. Most applications (including `docker login` and `vim`) will not directly edit the file, but instead make a copy and replace the original file, which results in a new inode which in turn *breaks* the bind mount. **As a workaround**, you can create a symlink to your `config.json` file and then mount the symlink in the container. The symlinked file will always have the same inode, which keeps the bind mount intact and will ensure changes to the original file are propagated to the running container (regardless of the inode of the source file!). +!!! note "Changes to config.json while running" + If you mount `config.json` in the manner above, changes from the host system will (generally) not be propagated to the + running container. Mounting files into the Docker daemon uses bind mounts, which are based on inodes. Most + applications (including `docker login` and `vim`) will not directly edit the file, but instead make a copy and replace + the original file, which results in a new inode which in turn _breaks_ the bind mount. + **As a workaround**, you can create a symlink to your `config.json` file and then mount the symlink in the container. + The symlinked file will always have the same inode, which keeps the bind mount intact and will ensure changes + to the original file are propagated to the running container (regardless of the inode of the source file!). -If you mount the config file as described above, be sure to also prepend the URL for the registry when starting up your watched image (you can omit the https://). Here is a complete docker-compose.yml file that starts up a docker container from a private repo at Docker Hub and monitors it with watchtower. Note the command argument changing the interval to 30s rather than the default 24 hours. +If you mount the config file as described above, be sure to also prepend the URL for the registry when starting up your +watched image (you can omit the https://). Here is a complete docker-compose.yml file that starts up a docker container +from a private repo at Docker Hub and monitors it with watchtower. Note the command argument changing the interval to +30s rather than the default 24 hours. ```yaml version: "3" diff --git a/mkdocs.yml b/mkdocs.yml index 67529aa..46a941c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,5 +1,5 @@ site_name: Watchtower -site_url: http://containrrr.github.io/watchtower/ +site_url: https://containrrr.dev/watchtower/ repo_url: https://github.com/containrrr/watchtower/ edit_uri: edit/main/docs/ theme: @@ -14,7 +14,16 @@ markdown_extensions: - toc: permalink: True separator: "_" - - codehilite + - admonition + - pymdownx.highlight + - pymdownx.superfences + - pymdownx.magiclink: + repo_url_shortener: True + provider: github + user: containrrr + repo: watchtower + - pymdownx.saneheaders + - pymdownx.tabbed nav: - 'Home': 'index.md' - 'Introduction': 'introduction.md' From 0c53b7121e5b8b8fb487cd63c5c969c35c01e154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 27 Apr 2021 15:32:54 +0200 Subject: [PATCH 104/389] ci: move docs to separate action (#942) --- .github/workflows/publish-docs.yml | 33 ++++++++++++++++++++++++++++++ .github/workflows/release.yml | 23 --------------------- 2 files changed, 33 insertions(+), 23 deletions(-) create mode 100644 .github/workflows/publish-docs.yml diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml new file mode 100644 index 0000000..ee3fd09 --- /dev/null +++ b/.github/workflows/publish-docs.yml @@ -0,0 +1,33 @@ +name: Publish Docs + +on: + workflow_dispatch: { } + workflow_run: + workflows: [ "Release (Production)" ] + branches: [ main ] + types: + - completed + +jobs: + publish-docs: + name: Publish Docs + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Install mkdocs + run: | + pip install \ + mkdocs \ + mkdocs-material \ + md-toc + - name: Generate docs + run: mkdocs gh-deploy --strict +# - name: Publish docs +# uses: peaceiris/actions-gh-pages@v3 +# with: +# github_token: ${{ secrets.GITHUB_TOKEN }} +# publish_dir: ./site + diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 871ac9d..919783b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -187,29 +187,6 @@ jobs: docker manifest push ghcr.io/containrrr/watchtower:$(echo $TAG | sed 's/^v*//') && \ docker manifest push ghcr.io/containrrr/watchtower:latest - publish-docs: - name: Publish Docs - needs: build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Install mkdocs - run: | - pip install \ - mkdocs \ - mkdocs-material \ - md-toc - - name: Generate docs - run: mkdocs build - - name: Publish docs - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./site - renew-docs: name: Refresh pkg.go.dev needs: build From e308521a952a407fd110f79167e73e752a51d0dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 27 Apr 2021 17:44:49 +0200 Subject: [PATCH 105/389] docs: fix more auto-format casualties (#943) --- .github/workflows/publish-docs.yml | 8 +--- docs/index.md | 26 +++++++------ docs/lifecycle-hooks.md | 25 ++++++------ docs/private-registries.md | 62 ++++++++++++++---------------- 4 files changed, 58 insertions(+), 63 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index ee3fd09..6247c69 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -24,10 +24,4 @@ jobs: mkdocs-material \ md-toc - name: Generate docs - run: mkdocs gh-deploy --strict -# - name: Publish docs -# uses: peaceiris/actions-gh-pages@v3 -# with: -# github_token: ${{ secrets.GITHUB_TOKEN }} -# publish_dir: ./site - + run: mkdocs gh-deploy --strict \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 9d52da3..fd1ca1f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,5 +1,5 @@

- + Logotype depicting a lighthouse

Watchtower @@ -48,15 +48,17 @@ and restart it with the same options that were used when it was deployed initial the following command: === "docker run" -```bash $ docker run -d \ ---name watchtower \ --v /var/run/docker.sock:/var/run/docker.sock \ -containrrr/watchtower -``` + ```bash + $ docker run -d \ + --name watchtower \ + -v /var/run/docker.sock:/var/run/docker.sock \ + containrrr/watchtower + ``` === "docker-compose.yml" -```yaml version: "3" -services: -watchtower: -image: containrrr/watchtower volumes: -- /var/run/docker.sock:/var/run/docker.sock -``` \ No newline at end of file + ```yaml + version: "3" + services: + watchtower: + image: containrrr/watchtower volumes: + - /var/run/docker.sock:/var/run/docker.sock + ``` \ No newline at end of file diff --git a/docs/lifecycle-hooks.md b/docs/lifecycle-hooks.md index df30695..5c53d15 100644 --- a/docs/lifecycle-hooks.md +++ b/docs/lifecycle-hooks.md @@ -31,18 +31,21 @@ These labels can be declared as instructions in a Dockerfile (with some example the `docker run` command line: === "Dockerfile" -```docker LABEL com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" -LABEL com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" -LABEL com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" -LABEL com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" -``` + ```docker + LABEL com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" + LABEL com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" + LABEL com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" + LABEL com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" + ``` + === "docker run" -```bash docker run -d \ ---label=com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" \ ---label=com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" \ ---label=com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" \ -someimage --label=com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" \ -``` + ```bash + docker run -d \ + --label=com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" \ + --label=com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" \ + --label=com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" \ + someimage --label=com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" \ + ``` ### Timeouts The timeout for all lifecycle commands is 60 seconds. After that, a timeout will diff --git a/docs/private-registries.md b/docs/private-registries.md index f35252e..354f369 100644 --- a/docs/private-registries.md +++ b/docs/private-registries.md @@ -103,43 +103,40 @@ Use the dockerfile below to build the [amazon-ecr-credential-helper](https://git in a volume that may be mounted onto your watchtower container. 1. Create the Dockerfile (contents below): - - ```Dockerfile - FROM golang:latest - - ENV CGO_ENABLED 0 - ENV REPO github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login - - RUN go get -u $REPO - - RUN rm /go/bin/docker-credential-ecr-login - - RUN go build \ + ```Dockerfile + FROM golang:latest + + ENV CGO_ENABLED 0 + ENV REPO github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login + + RUN go get -u $REPO + + RUN rm /go/bin/docker-credential-ecr-login + + RUN go build \ -o /go/bin/docker-credential-ecr-login \ /go/src/$REPO - - WORKDIR /go/bin/ - ``` + + WORKDIR /go/bin/ + ``` 2. Use the following commands to build the aws-ecr-dock-cred-helper and store it's output in a volume: - - ```bash - # Create a volume to store the command (once built) - docker volume create helper - - # Build the container - docker build -t aws-ecr-dock-cred-helper . - - # Build the command and store it in the new volume in the /go/bin directory. - docker run -d --rm --name aws-cred-helper --volume helper:/go/bin aws-ecr-dock-cred-helper - - ``` + ```bash + # Create a volume to store the command (once built) + docker volume create helper + + # Build the container + docker build -t aws-ecr-dock-cred-helper . + + # Build the command and store it in the new volume in the /go/bin directory. + docker run -d --rm --name aws-cred-helper \ + --volume helper:/go/bin aws-ecr-dock-cred-helper + ``` 3. Create a configuration file for docker, and store it in $HOME/.docker/config.json (replace the placeholders with your AWS Account ID): - - ```json - { + ```json + { "credsStore" : "ecr-login", "HttpHeaders" : { "User-Agent" : "Docker-Client/19.03.1 (XXXXXX)" @@ -150,11 +147,10 @@ in a volume that may be mounted onto your watchtower container. "credHelpers": { ".dkr.ecr.us-west-1.amazonaws.com" : "ecr-login" } - } - ``` + } + ``` 4. Create a docker-compose file (as an example) to help launch the container: - ```yaml version: "3.4" services: From 6b155a111a03bf890ba638cd1386d78c21a31a0e Mon Sep 17 00:00:00 2001 From: DasSkelett Date: Tue, 27 Apr 2021 22:18:45 +0200 Subject: [PATCH 106/389] Allow running periodic updates with enabled HTTP API (#916) * Allow running periodic updates with enabled HTTP API * Add --http-api-periodic-polls to docs --- cmd/root.go | 25 ++++++++++++++++--------- docs/arguments.md | 10 ++++++++++ docs/http-api-mode.md | 2 ++ internal/flags/flags.go | 5 +++++ internal/flags/flags_test.go | 15 +++++++++++++++ pkg/api/update/update.go | 10 +++++++--- 6 files changed, 55 insertions(+), 12 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index 707c4fd..e4c24b3 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -156,6 +156,7 @@ func Run(c *cobra.Command, names []string) { runOnce, _ := c.PersistentFlags().GetBool("run-once") enableUpdateAPI, _ := c.PersistentFlags().GetBool("http-api-update") enableMetricsAPI, _ := c.PersistentFlags().GetBool("http-api-metrics") + unblockHTTPAPI, _ := c.PersistentFlags().GetBool("http-api-periodic-polls") apiToken, _ := c.PersistentFlags().GetString("http-api-token") if rollingRestart && monitorOnly { @@ -180,10 +181,14 @@ func Run(c *cobra.Command, names []string) { logNotifyExit(err) } + // The lock is shared between the scheduler and the HTTP API. It only allows one update to run at a time. + updateLock := make(chan bool, 1) + updateLock <- true + httpAPI := api.New(apiToken) if enableUpdateAPI { - updateHandler := update.New(func() { runUpdatesWithNotifications(filter) }) + updateHandler := update.New(func() { runUpdatesWithNotifications(filter) }, updateLock) httpAPI.RegisterFunc(updateHandler.Path, updateHandler.Handle) } @@ -192,11 +197,11 @@ func Run(c *cobra.Command, names []string) { httpAPI.RegisterHandler(metricsHandler.Path, metricsHandler.Handle) } - if err := httpAPI.Start(enableUpdateAPI); err != nil { + if err := httpAPI.Start(enableUpdateAPI && !unblockHTTPAPI); err != nil { log.Error("failed to start API", err) } - if err := runUpgradesOnSchedule(c, filter, filterDesc); err != nil { + if err := runUpgradesOnSchedule(c, filter, filterDesc, updateLock); err != nil { log.Error(err) } @@ -275,17 +280,19 @@ func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { } } -func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter, filtering string) error { - tryLockSem := make(chan bool, 1) - tryLockSem <- true +func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter, filtering string, lock chan bool) error { + if lock == nil { + lock = make(chan bool, 1) + lock <- true + } scheduler := cron.New() err := scheduler.AddFunc( scheduleSpec, func() { select { - case v := <-tryLockSem: - defer func() { tryLockSem <- v }() + case v := <-lock: + defer func() { lock <- v }() metric := runUpdatesWithNotifications(filter) metrics.RegisterScan(metric) default: @@ -316,7 +323,7 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter, filtering string) <-interrupt scheduler.Stop() log.Info("Waiting for running update to be finished...") - <-tryLockSem + <-lock return nil } diff --git a/docs/arguments.md b/docs/arguments.md index 4763940..218680e 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -255,6 +255,16 @@ Environment Variable: WATCHTOWER_HTTP_API_TOKEN Default: - ``` +## HTTP API periodic polls +Keep running periodic updates if the HTTP API mode is enabled, otherwise the HTTP API would prevent periodic polls. + +``` + Argument: --http-api-periodic-polls +Environment Variable: WATCHTOWER_HTTP_API_PERIODIC_POLLS + Type: Boolean + Default: false +``` + ## Filter by scope Update containers that have a `com.centurylinklabs.watchtower.scope` label set with the same value as the given argument. This enables [running multiple instances](https://containrrr.github.io/watchtower/running-multiple-instances). diff --git a/docs/http-api-mode.md b/docs/http-api-mode.md index 5f5b19a..7af1421 100644 --- a/docs/http-api-mode.md +++ b/docs/http-api-mode.md @@ -28,6 +28,8 @@ services: - 8080:8080 ``` +By default, enabling this mode prevents periodic polls (i.e. what is specified using `--interval` or `--schedule`). To run periodic updates regardless, pass `--http-api-periodic-polls`. + Notice that there is an environment variable named WATCHTOWER_HTTP_API_TOKEN. To prevent external services from accidentally triggering image updates, all of the requests have to contain a "Token" field, valued as the token defined in WATCHTOWER_HTTP_API_TOKEN, in their headers. In this case, there is a port bind to the host machine, allowing to request localhost:8080 to reach Watchtower. The following `curl` command would trigger an image update: ```bash diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 80a5a7c..177073d 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -151,6 +151,11 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { "", viper.GetString("WATCHTOWER_HTTP_API_TOKEN"), "Sets an authentication token to HTTP API requests.") + flags.BoolP( + "http-api-periodic-polls", + "", + viper.GetBool("WATCHTOWER_HTTP_API_PERIODIC_POLLS"), + "Also run periodic updates (specified with --interval and --schedule) if HTTP API is enabled") // https://no-color.org/ flags.BoolP( "no-color", diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index b659a96..e298622 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -79,3 +79,18 @@ func testGetSecretsFromFiles(t *testing.T, flagName string, expected string) { assert.Equal(t, expected, value) } + +func TestHTTPAPIPeriodicPollsFlag(t *testing.T) { + cmd := new(cobra.Command) + SetDefaults() + RegisterDockerFlags(cmd) + RegisterSystemFlags(cmd) + + err := cmd.ParseFlags([]string{"--http-api-periodic-polls"}) + require.NoError(t, err) + + periodicPolls, err := cmd.PersistentFlags().GetBool("http-api-periodic-polls") + require.NoError(t, err) + + assert.Equal(t, true, periodicPolls) +} diff --git a/pkg/api/update/update.go b/pkg/api/update/update.go index 463b082..4721e3e 100644 --- a/pkg/api/update/update.go +++ b/pkg/api/update/update.go @@ -13,9 +13,13 @@ var ( ) // New is a factory function creating a new Handler instance -func New(updateFn func()) *Handler { - lock = make(chan bool, 1) - lock <- true +func New(updateFn func(), updateLock chan bool) *Handler { + if updateLock != nil { + lock = updateLock + } else { + lock = make(chan bool, 1) + lock <- true + } return &Handler{ fn: updateFn, From 91bbe74796d88a63bcddee3b79d40b7c5889be65 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 27 Apr 2021 22:19:20 +0200 Subject: [PATCH 107/389] docs: add DasSkelett as a contributor (#944) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index a8aa234..56cf25a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -749,6 +749,15 @@ "contributions": [ "doc" ] + }, + { + "login": "DasSkelett", + "name": "DasSkelett", + "avatar_url": "https://avatars.githubusercontent.com/u/28812678?v=4", + "profile": "https://github.com/DasSkelett", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 5d1f08a..be92875 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Thomas Gaudin

📖
hydrargyrum

📖
Reinout van Rees

📖 +
DasSkelett

💻 From 61b715abec79dc931c6312b8334eb4fdd4a8f7e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 3 May 2021 11:22:17 +0200 Subject: [PATCH 108/389] docs: remove stray paragraph in notifications (#949) * docs: remove stray paragraph in notifications fixes #946 * docs: add the lost paragraph to own page --- docs/notifications.md | 2 -- docs/updating.md | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 docs/updating.md diff --git a/docs/notifications.md b/docs/notifications.md index 5a5feb2..b0e2adf 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -112,8 +112,6 @@ networks: ### Slack -If watchtower is monitoring the same Docker daemon under which the watchtower container itself is running (i.e. if you volume-mounted _/var/run/docker.sock_ into the watchtower container) then it has the ability to update itself. If a new version of the _containrrr/watchtower_ image is pushed to the Docker Hub, your watchtower will pull down the new image and restart itself automatically. - To receive notifications in Slack, add `slack` to the `--notifications` option or the `WATCHTOWER_NOTIFICATIONS` environment variable. Additionally, you should set the Slack webhook URL using the `--notification-slack-hook-url` option or the `WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL` environment variable. This option can also reference a file, in which case the contents of the file are used. diff --git a/docs/updating.md b/docs/updating.md new file mode 100644 index 0000000..952a0f9 --- /dev/null +++ b/docs/updating.md @@ -0,0 +1,6 @@ +## Updating Watchtower + +If watchtower is monitoring the same Docker daemon under which the watchtower container itself is running (i.e. if you +volume-mounted `/var/run/docker.sock` into the watchtower container) then it has the ability to update itself. +If a new version of the `containrrr/watchtower` image is pushed to the Docker Hub, your watchtower will pull down the +new image and restart itself automatically. From dec6f84a7085e5d24716da10b4d4781a9c3d47d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 25 May 2021 16:42:11 +0200 Subject: [PATCH 109/389] test: fix metrics api test stability (#930) * use httptest instead of host port binding * restore matrix and remove artificial delay * fix metrics api test expect calls --- .github/workflows/pull-request.yml | 21 +------- pkg/api/metrics/metrics_test.go | 85 +++++++++++++++++------------- 2 files changed, 49 insertions(+), 57 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 24bfe13..80eb3e3 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -35,6 +35,7 @@ jobs: platform: - macos-latest - windows-latest + - ubuntu-latest runs-on: ${{ matrix.platform }} steps: - name: Checkout @@ -52,26 +53,6 @@ jobs: uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} - test-ubuntu: - name: Test (Ubuntu) - runs-on: ubuntu-latest - needs: test - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: 1.15.x - - name: Run tests - run: | - go test -v -coverprofile coverage.out -covermode atomic ./... - - name: Publish coverage - uses: codecov/codecov-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} build: name: Build runs-on: ubuntu-latest diff --git a/pkg/api/metrics/metrics_test.go b/pkg/api/metrics/metrics_test.go index 44379ee..5120f8d 100644 --- a/pkg/api/metrics/metrics_test.go +++ b/pkg/api/metrics/metrics_test.go @@ -2,78 +2,89 @@ package metrics_test import ( "fmt" - "github.com/containrrr/watchtower/pkg/metrics" "io/ioutil" "net/http" + "net/http/httptest" + "strings" "testing" "github.com/containrrr/watchtower/pkg/api" metricsAPI "github.com/containrrr/watchtower/pkg/api/metrics" + "github.com/containrrr/watchtower/pkg/metrics" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) -const Token = "123123123" +const ( + token = "123123123" + getURL = "http://localhost:8080/v1/metrics" +) -func TestContainer(t *testing.T) { +func TestMetrics(t *testing.T) { RegisterFailHandler(Fail) RunSpecs(t, "Metrics Suite") } -func runTestServer(m *metricsAPI.Handler) { - http.Handle(m.Path, m.Handle) - go func() { - http.ListenAndServe(":8080", nil) - }() +func getWithToken(handler http.Handler) map[string]string { + metricMap := map[string]string{} + respWriter := httptest.NewRecorder() + + req := httptest.NewRequest("GET", getURL, nil) + req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token)) + + handler.ServeHTTP(respWriter, req) + + res := respWriter.Result() + body, _ := ioutil.ReadAll(res.Body) + + for _, line := range strings.Split(string(body), "\n") { + if len(line) < 1 || line[0] == '#' { + continue + } + parts := strings.Split(line, " ") + metricMap[parts[0]] = parts[1] + } + + return metricMap } -func getWithToken(c http.Client, url string) (*http.Response, error) { - req, _ := http.NewRequest("GET", url, nil) - req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", Token)) - return c.Do(req) -} - -var _ = Describe("the metrics", func() { - httpAPI := api.New(Token) +var _ = Describe("the metrics API", func() { + httpAPI := api.New(token) m := metricsAPI.New() - httpAPI.RegisterHandler(m.Path, m.Handle) - httpAPI.Start(false) + handleReq := httpAPI.RequireToken(m.Handle) + tryGetMetrics := func() map[string]string { return getWithToken(handleReq) } It("should serve metrics", func() { + + Expect(tryGetMetrics()).To(HaveKeyWithValue("watchtower_containers_updated", "0")) + metric := &metrics.Metric{ Scanned: 4, Updated: 3, Failed: 1, } + metrics.RegisterScan(metric) Eventually(metrics.Default().QueueIsEmpty).Should(BeTrue()) - c := http.Client{} - - res, err := getWithToken(c, "http://localhost:8080/v1/metrics") - Expect(err).ToNot(HaveOccurred()) - - contents, err := ioutil.ReadAll(res.Body) - Expect(err).ToNot(HaveOccurred()) - Expect(string(contents)).To(ContainSubstring("watchtower_containers_updated 3")) - Expect(string(contents)).To(ContainSubstring("watchtower_containers_failed 1")) - Expect(string(contents)).To(ContainSubstring("watchtower_containers_scanned 4")) - Expect(string(contents)).To(ContainSubstring("watchtower_scans_total 1")) - Expect(string(contents)).To(ContainSubstring("watchtower_scans_skipped 0")) + Eventually(tryGetMetrics).Should(SatisfyAll( + HaveKeyWithValue("watchtower_containers_updated", "3"), + HaveKeyWithValue("watchtower_containers_failed", "1"), + HaveKeyWithValue("watchtower_containers_scanned", "4"), + HaveKeyWithValue("watchtower_scans_total", "1"), + HaveKeyWithValue("watchtower_scans_skipped", "0"), + )) for i := 0; i < 3; i++ { metrics.RegisterScan(nil) } Eventually(metrics.Default().QueueIsEmpty).Should(BeTrue()) - res, err = getWithToken(c, "http://localhost:8080/v1/metrics") - Expect(err).ToNot(HaveOccurred()) - - contents, err = ioutil.ReadAll(res.Body) - Expect(err).ToNot(HaveOccurred()) - Expect(string(contents)).To(ContainSubstring("watchtower_scans_total 4")) - Expect(string(contents)).To(ContainSubstring("watchtower_scans_skipped 3")) + Eventually(tryGetMetrics).Should(SatisfyAll( + HaveKeyWithValue("watchtower_scans_total", "4"), + HaveKeyWithValue("watchtower_scans_skipped", "3"), + )) }) }) From 4e7b1e78dceabecb12aa6335a29dade745f1e8d1 Mon Sep 17 00:00:00 2001 From: zenjabba Date: Mon, 7 Jun 2021 09:45:32 -0400 Subject: [PATCH 110/389] Update index.md (#976) Fix up formatting for docker-compose.yml --- docs/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index fd1ca1f..d59b3b1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -59,6 +59,7 @@ the following command: version: "3" services: watchtower: - image: containrrr/watchtower volumes: + image: containrrr/watchtower + volumes: - /var/run/docker.sock:/var/run/docker.sock - ``` \ No newline at end of file + ``` From b196629d0491fa5c5b81b5e95dcdefbb2d82e711 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 7 Jun 2021 15:45:57 +0200 Subject: [PATCH 111/389] docs: add zenjabba as a contributor (#983) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 56cf25a..58246fd 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -758,6 +758,15 @@ "contributions": [ "code" ] + }, + { + "login": "zenjabba", + "name": "zenjabba", + "avatar_url": "https://avatars.githubusercontent.com/u/679864?v=4", + "profile": "https://github.com/zenjabba", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index be92875..8a18a58 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
hydrargyrum

📖
Reinout van Rees

📖
DasSkelett

💻 +
zenjabba

📖 From f508c92ae0b0188f71b0b5dbff628cb52f7f10fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Fri, 11 Jun 2021 19:23:00 +0200 Subject: [PATCH 112/389] * feat: custom user agent (#990) * fix: move build meta to own package this allows it to be referenced from other packages without causing a cyclic dependency * feat: custom user agent --- build.sh | 2 +- cmd/root.go | 4 +-- goreleaser.yml | 2 +- internal/meta/meta.go | 13 ++++++++ pkg/registry/digest/digest.go | 2 ++ pkg/registry/digest/digest_test.go | 48 +++++++++++++++++++++++++----- 6 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 internal/meta/meta.go diff --git a/build.sh b/build.sh index 47d2b5c..304786d 100644 --- a/build.sh +++ b/build.sh @@ -2,4 +2,4 @@ VERSION=$(git describe --tags) echo "Building $VERSION..." -go build -o watchtower -ldflags "-X github.com/containrrr/watchtower/cmd.version=$VERSION" +go build -o watchtower -ldflags "-X github.com/containrrr/watchtower/internal/meta.Version=$VERSION" diff --git a/cmd/root.go b/cmd/root.go index e4c24b3..cf752ae 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,6 +1,7 @@ package cmd import ( + "github.com/containrrr/watchtower/internal/meta" "math" "os" "os/signal" @@ -39,7 +40,6 @@ var ( rollingRestart bool scope string // Set on build using ldflags - version = "v0.0.0-unknown" ) var rootCmd = NewRootCommand() @@ -273,7 +273,7 @@ func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { notifs = "Using notifications: " + notifList } - log.Info("Watchtower ", version, "\n", notifs, "\n", filtering, "\n", schedMessage) + log.Info("Watchtower ", meta.Version, "\n", notifs, "\n", filtering, "\n", schedMessage) if log.IsLevelEnabled(log.TraceLevel) { log.Warn("trace level enabled: log will include sensitive information as credentials and tokens") } diff --git a/goreleaser.yml b/goreleaser.yml index 3f5e95d..1904d5e 100644 --- a/goreleaser.yml +++ b/goreleaser.yml @@ -10,7 +10,7 @@ build: - arm - arm64 ldflags: - - -s -w -X github.com/containrrr/watchtower/cmd.version={{.Version}} + - -s -w -X github.com/containrrr/watchtower/internal/meta.Version={{.Version}} archives: - name_template: "{{.ProjectName}}_{{.Os}}_{{.Arch}}" diff --git a/internal/meta/meta.go b/internal/meta/meta.go new file mode 100644 index 0000000..1571291 --- /dev/null +++ b/internal/meta/meta.go @@ -0,0 +1,13 @@ +package meta + +var ( + // Version is the compile-time set version of Watchtower + Version = "v0.0.0-unknown" + + // UserAgent is the http client identifier derived from Version + UserAgent string +) + +func init() { + UserAgent = "Watchtower/" + Version +} diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go index 4634688..858bf33 100644 --- a/pkg/registry/digest/digest.go +++ b/pkg/registry/digest/digest.go @@ -6,6 +6,7 @@ import ( "encoding/json" "errors" "fmt" + "github.com/containrrr/watchtower/internal/meta" "github.com/containrrr/watchtower/pkg/registry/auth" "github.com/containrrr/watchtower/pkg/registry/manifest" "github.com/containrrr/watchtower/pkg/types" @@ -86,6 +87,7 @@ func GetDigest(url string, token string) (string, error) { client := &http.Client{Transport: tr} req, _ := http.NewRequest("HEAD", url, nil) + req.Header.Set("User-Agent", meta.UserAgent) if token != "" { logrus.WithField("token", token).Trace("Setting request token") diff --git a/pkg/registry/digest/digest_test.go b/pkg/registry/digest/digest_test.go index 0de6025..0321c1f 100644 --- a/pkg/registry/digest/digest_test.go +++ b/pkg/registry/digest/digest_test.go @@ -7,6 +7,8 @@ import ( wtTypes "github.com/containrrr/watchtower/pkg/types" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + "github.com/onsi/gomega/ghttp" + "net/http" "os" "testing" "time" @@ -18,14 +20,16 @@ func TestDigest(t *testing.T) { RunSpecs(GinkgoT(), "Digest Suite") } -var DockerHubCredentials = &wtTypes.RegistryCredentials{ - Username: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_DH_USERNAME"), - Password: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_DH_PASSWORD"), -} -var GHCRCredentials = &wtTypes.RegistryCredentials{ - Username: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_GH_USERNAME"), - Password: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_GH_PASSWORD"), -} +var ( + DockerHubCredentials = &wtTypes.RegistryCredentials{ + Username: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_DH_USERNAME"), + Password: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_DH_PASSWORD"), + } + GHCRCredentials = &wtTypes.RegistryCredentials{ + Username: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_GH_USERNAME"), + Password: os.Getenv("CI_INTEGRATION_TEST_REGISTRY_GH_PASSWORD"), + } +) func SkipIfCredentialsEmpty(credentials *wtTypes.RegistryCredentials, fn func()) func() { if credentials.Username == "" { @@ -84,4 +88,32 @@ var _ = Describe("Digests", func() { }), ) }) + When("sending a HEAD request", func() { + var server *ghttp.Server + BeforeEach(func() { + server = ghttp.NewServer() + }) + AfterEach(func() { + server.Close() + }) + It("should use a custom user-agent", func() { + server.AppendHandlers( + ghttp.CombineHandlers( + ghttp.VerifyHeader(http.Header{ + "User-Agent": []string{"Watchtower/v0.0.0-unknown"}, + }), + ghttp.RespondWith(http.StatusOK, "", http.Header{ + digest.ContentDigestHeader: []string{ + mockDigest, + }, + }), + ), + ) + dig, err := digest.GetDigest(server.URL(), "token") + println(dig) + Expect(server.ReceivedRequests()).Should(HaveLen(1)) + Expect(err).NotTo(HaveOccurred()) + Expect(dig).To(Equal(mockDigest)) + }) + }) }) From dc12a1ac7f7bb283ef44e69ffbc0f3d9177bb395 Mon Sep 17 00:00:00 2001 From: Amir Zarrinkafsh Date: Thu, 24 Jun 2021 08:29:20 +1000 Subject: [PATCH 113/389] feat: allow hostname override for notifiers (#994) * feat: allow hostname override for email notifier As it currently stands all notifiers utilise `os.Hostname` to populate their titles/subjects. When utilising Docker with a bridged network if you set the hostname for a container to an external DNS hostname Docker's internal DNS resolver will override said hostname for all containers within the bridged network. This change allows a user to specify what hostname should be represented in the email notifications without having to change the `os.Hostname`. * feat: allow custom hostname for all notifiers * docs: adjust notification hostname flag --- docs/notifications.md | 1 + internal/flags/flags.go | 6 ++++++ pkg/notifications/email.go | 8 ++++---- pkg/notifications/gotify.go | 4 ++-- pkg/notifications/msteams.go | 4 ++-- pkg/notifications/notifier.go | 12 +++++++++--- pkg/notifications/notifier_test.go | 20 +++++++++++++++----- pkg/notifications/slack.go | 6 +++--- pkg/types/convertible_notifier.go | 4 +++- 9 files changed, 45 insertions(+), 20 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index b0e2adf..f783866 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -25,6 +25,7 @@ comma-separated list of values to the `--notifications` option ## Settings - `--notifications-level` (env. `WATCHTOWER_NOTIFICATIONS_LEVEL`): Controls the log level which is used for the notifications. If omitted, the default log level is `info`. Possible values are: `panic`, `fatal`, `error`, `warn`, `info`, `debug` or `trace`. +- `--notifications-hostname` (env. `WATCHTOWER_NOTIFICATIONS_HOSTNAME`): Custom hostname specified in subject/title. Useful to override the operating system hostname. - Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. ## Available services diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 177073d..9df42c1 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -185,6 +185,12 @@ func RegisterNotificationFlags(rootCmd *cobra.Command) { viper.GetString("WATCHTOWER_NOTIFICATIONS_LEVEL"), "The log level used for sending notifications. Possible values: panic, fatal, error, warn, info or debug") + flags.StringP( + "notifications-hostname", + "", + viper.GetString("WATCHTOWER_NOTIFICATIONS_HOSTNAME"), + "Custom hostname for notification titles") + flags.StringP( "notification-email-from", "", diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 4984139..e26ca97 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -60,14 +60,14 @@ func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert return n } -func (e *emailTypeNotifier) GetURL() (string, error) { +func (e *emailTypeNotifier) GetURL(c *cobra.Command) (string, error) { conf := &shoutrrrSmtp.Config{ FromAddress: e.From, FromName: "Watchtower", ToAddresses: []string{e.To}, Port: uint16(e.Port), Host: e.Server, - Subject: e.getSubject(), + Subject: e.getSubject(c), Username: e.User, Password: e.Password, UseStartTLS: !e.tlsSkipVerify, @@ -87,8 +87,8 @@ func (e *emailTypeNotifier) GetURL() (string, error) { return conf.GetURL().String(), nil } -func (e *emailTypeNotifier) getSubject() string { - subject := GetTitle() +func (e *emailTypeNotifier) getSubject(c *cobra.Command) string { + subject := GetTitle(c) if e.SubjectTag != "" { subject = e.SubjectTag + " " + subject diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index 7a6009b..85f59b1 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -67,7 +67,7 @@ func getGotifyURL(flags *pflag.FlagSet) string { return gotifyURL } -func (n *gotifyTypeNotifier) GetURL() (string, error) { +func (n *gotifyTypeNotifier) GetURL(c *cobra.Command) (string, error) { apiURL, err := url.Parse(n.gotifyURL) if err != nil { return "", err @@ -77,7 +77,7 @@ func (n *gotifyTypeNotifier) GetURL() (string, error) { Host: apiURL.Host, Path: apiURL.Path, DisableTLS: apiURL.Scheme == "http", - Title: GetTitle(), + Title: GetTitle(c), Token: n.gotifyAppToken, } diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index 6c47229..282ce05 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -42,7 +42,7 @@ func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Con return n } -func (n *msTeamsTypeNotifier) GetURL() (string, error) { +func (n *msTeamsTypeNotifier) GetURL(c *cobra.Command) (string, error) { webhookURL, err := url.Parse(n.webHookURL) if err != nil { return "", err @@ -54,7 +54,7 @@ func (n *msTeamsTypeNotifier) GetURL() (string, error) { } config.Color = ColorHex - config.Title = GetTitle() + config.Title = GetTitle(c) return config.GetURL().String(), nil } diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index c4e962f..358c5f3 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -98,7 +98,7 @@ func (n *Notifier) getNotificationTypes(cmd *cobra.Command, levels []log.Level, continue } - shoutrrrURL, err := legacyNotifier.GetURL() + shoutrrrURL, err := legacyNotifier.GetURL(cmd) if err != nil { log.Fatal("failed to create notification config:", err) } @@ -139,10 +139,16 @@ func (n *Notifier) Close() { } // GetTitle returns a common notification title with hostname appended -func GetTitle() (title string) { +func GetTitle(c *cobra.Command) (title string) { title = "Watchtower updates" - if hostname, err := os.Hostname(); err == nil { + f := c.PersistentFlags() + + hostname, _ := f.GetString("notifications-hostname") + + if hostname != "" { + title += " on " + hostname + } else if hostname, err := os.Hostname(); err == nil { title += " on " + hostname } diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index ba6657a..f95ecbc 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -43,10 +43,13 @@ var _ = Describe("notifications", func() { builderFn := notifications.NewSlackNotifier When("passing a discord url to the slack notifier", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + channel := "123456789" token := "abvsihdbau" color := notifications.ColorInt - title := url.QueryEscape(notifications.GetTitle()) + title := url.QueryEscape(notifications.GetTitle(command)) expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&splitlines=Yes&title=%s&username=watchtower", token, channel, color, title) buildArgs := func(url string) []string { return []string{ @@ -69,13 +72,15 @@ var _ = Describe("notifications", func() { When("converting a slack service config into a shoutrrr url", func() { It("should return the expected URL", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) username := "containrrrbot" tokenA := "aaa" tokenB := "bbb" tokenC := "ccc" color := url.QueryEscape(notifications.ColorHex) - title := url.QueryEscape(notifications.GetTitle()) + title := url.QueryEscape(notifications.GetTitle(command)) hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) expectedOutput := fmt.Sprintf("slack://%s@%s/%s/%s?color=%s&title=%s", username, tokenA, tokenB, tokenC, color, title) @@ -97,9 +102,12 @@ var _ = Describe("notifications", func() { builderFn := notifications.NewGotifyNotifier It("should return the expected URL", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + token := "aaa" host := "shoutrrr.local" - title := url.QueryEscape(notifications.GetTitle()) + title := url.QueryEscape(notifications.GetTitle(command)) expectedOutput := fmt.Sprintf("gotify://%s/%s?title=%s", host, token, title) @@ -120,12 +128,14 @@ var _ = Describe("notifications", func() { builderFn := notifications.NewMsTeamsNotifier It("should return the expected URL", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) tokenA := "11111111-4444-4444-8444-cccccccccccc@22222222-4444-4444-8444-cccccccccccc" tokenB := "33333333012222222222333333333344" tokenC := "44444444-4444-4444-8444-cccccccccccc" color := url.QueryEscape(notifications.ColorHex) - title := url.QueryEscape(notifications.GetTitle()) + title := url.QueryEscape(notifications.GetTitle(command)) hookURL := fmt.Sprintf("https://outlook.office.com/webhook/%s/IncomingWebhook/%s/%s", tokenA, tokenB, tokenC) expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s&title=%s", tokenA, tokenB, tokenC, color, title) @@ -215,7 +225,7 @@ func testURL(builder builderFn, args []string, expectedURL string) { Expect(err).NotTo(HaveOccurred()) notifier := builder(command, []log.Level{}) - actualURL, err := notifier.GetURL() + actualURL, err := notifier.GetURL(command) Expect(err).NotTo(HaveOccurred()) diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index b3df119..63cb44c 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -46,7 +46,7 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert return n } -func (s *slackTypeNotifier) GetURL() (string, error) { +func (s *slackTypeNotifier) GetURL(c *cobra.Command) (string, error) { trimmedURL := strings.TrimRight(s.HookURL, "/") trimmedURL = strings.TrimLeft(trimmedURL, "https://") parts := strings.Split(trimmedURL, "/") @@ -57,7 +57,7 @@ func (s *slackTypeNotifier) GetURL() (string, error) { Channel: parts[len(parts)-3], Token: parts[len(parts)-2], Color: ColorInt, - Title: GetTitle(), + Title: GetTitle(c), SplitLines: true, Username: s.Username, } @@ -71,7 +71,7 @@ func (s *slackTypeNotifier) GetURL() (string, error) { BotName: s.Username, Token: tokens, Color: ColorHex, - Title: GetTitle(), + Title: GetTitle(c), } return conf.GetURL().String(), nil diff --git a/pkg/types/convertible_notifier.go b/pkg/types/convertible_notifier.go index 2614d12..87f8659 100644 --- a/pkg/types/convertible_notifier.go +++ b/pkg/types/convertible_notifier.go @@ -1,6 +1,8 @@ package types +import "github.com/spf13/cobra" + // ConvertibleNotifier is a notifier capable of creating a shoutrrr URL type ConvertibleNotifier interface { - GetURL() (string, error) + GetURL(c *cobra.Command) (string, error) } From 145fe6dbcb7f7e04f8f1472f90fece654708a06b Mon Sep 17 00:00:00 2001 From: yrien30 Date: Thu, 24 Jun 2021 00:36:33 +0200 Subject: [PATCH 114/389] Pre-update lifecycle hook (#793) * Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649 * Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649 * Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649 * Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649 * Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649 * Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649 * Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649 * Prevent starting new container if old one is not stopped because of lifecycle hook. * Add null check for c.containerInfo.State in IsRunning * Fixed that the container would not start * Added test for preupdate * EX_TEMPFAIL -> ExTempFail * Added missing fuction ouput names * Skip preupdate when container is restarting. --- docs/lifecycle-hooks.md | 5 +- internal/actions/mocks/client.go | 16 ++- internal/actions/mocks/container.go | 15 ++- internal/actions/update.go | 43 ++++--- internal/actions/update_test.go | 186 ++++++++++++++++++++++++++++ pkg/container/client.go | 29 +++-- pkg/container/container.go | 7 ++ pkg/lifecycle/lifecycle.go | 19 ++- 8 files changed, 281 insertions(+), 39 deletions(-) diff --git a/docs/lifecycle-hooks.md b/docs/lifecycle-hooks.md index 5c53d15..cab0485 100644 --- a/docs/lifecycle-hooks.md +++ b/docs/lifecycle-hooks.md @@ -4,6 +4,9 @@ These are shell commands executed with `sh`, and therefore require the container to provide the `sh` executable. +> **DO NOTE**: If the container is not running then lifecycle hooks can not run and therefore +> the update is executed without running any lifecycle hooks. + It is possible to execute _pre/post\-check_ and _pre/post\-update_ commands **inside** every container updated by watchtower. @@ -63,5 +66,5 @@ If the label value is explicitly set to `0`, the timeout will be disabled. ### Execution failure The failure of a command to execute, identified by an exit code different than -0, will not prevent watchtower from updating the container. Only an error +0 or 75 (EX_TEMPFAIL), will not prevent watchtower from updating the container. Only an error log statement containing the exit code will be reported. diff --git a/internal/actions/mocks/client.go b/internal/actions/mocks/client.go index b17c987..372abce 100644 --- a/internal/actions/mocks/client.go +++ b/internal/actions/mocks/client.go @@ -2,6 +2,7 @@ package mocks import ( "errors" + "fmt" "github.com/containrrr/watchtower/pkg/container" "time" @@ -70,12 +71,21 @@ func (client MockClient) RemoveImageByID(id string) error { // GetContainer is a mock method func (client MockClient) GetContainer(containerID string) (container.Container, error) { - return container.Container{}, nil + return client.TestData.Containers[0], nil } // ExecuteCommand is a mock method -func (client MockClient) ExecuteCommand(containerID string, command string, timeout int) error { - return nil +func (client MockClient) ExecuteCommand(containerID string, command string, timeout int) (SkipUpdate bool, err error) { + switch command { + case "/PreUpdateReturn0.sh": + return false, nil + case "/PreUpdateReturn1.sh": + return false, fmt.Errorf("command exited with code 1") + case "/PreUpdateReturn75.sh": + return true, nil + default: + return false, nil + } } // IsContainerStale is always true for the mock client diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index 0c0ee94..07b19c3 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -65,13 +65,20 @@ func CreateMockContainerWithDigest(id string, name string, image string, created } // CreateMockContainerWithConfig creates a container substitute valid for testing -func CreateMockContainerWithConfig(id string, name string, image string, created time.Time, config *container2.Config) container.Container { +func CreateMockContainerWithConfig(id string, name string, image string, running bool, restarting bool, created time.Time, config *container2.Config) container.Container { content := types.ContainerJSON{ ContainerJSONBase: &types.ContainerJSONBase{ - ID: id, - Image: image, - Name: name, + ID: id, + Image: image, + Name: name, + State: &types.ContainerState{ + Running: running, + Restarting: restarting, + }, Created: created.String(), + HostConfig: &container2.HostConfig{ + PortBindings: map[nat.Port][]nat.PortBinding{}, + }, }, Config: config, } diff --git a/internal/actions/update.go b/internal/actions/update.go index 66a28f1..189501a 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -1,6 +1,7 @@ package actions import ( + "errors" "github.com/containrrr/watchtower/internal/util" "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/lifecycle" @@ -81,8 +82,9 @@ func Update(client container.Client, params types.UpdateParams) (*metrics2.Metri if params.RollingRestart { metric.Failed += performRollingRestart(containersToUpdate, client, params) } else { - metric.Failed += stopContainersInReversedOrder(containersToUpdate, client, params) - metric.Failed += restartContainersInSortedOrder(containersToUpdate, client, params) + imageIDsOfStoppedContainers := make(map[string]bool) + metric.Failed, imageIDsOfStoppedContainers = stopContainersInReversedOrder(containersToUpdate, client, params) + metric.Failed += restartContainersInSortedOrder(containersToUpdate, client, params, imageIDsOfStoppedContainers) } metric.Updated = staleCount - (metric.Failed - staleCheckFailed) @@ -99,13 +101,15 @@ func performRollingRestart(containers []container.Container, client container.Cl for i := len(containers) - 1; i >= 0; i-- { if containers[i].ToRestart() { - if err := stopStaleContainer(containers[i], client, params); err != nil { + err := stopStaleContainer(containers[i], client, params) + if err != nil { failed++ + } else { + if err := restartStaleContainer(containers[i], client, params); err != nil { + failed++ + } + cleanupImageIDs[containers[i].ImageID()] = true } - if err := restartStaleContainer(containers[i], client, params); err != nil { - failed++ - } - cleanupImageIDs[containers[i].ImageID()] = true } } @@ -115,14 +119,18 @@ func performRollingRestart(containers []container.Container, client container.Cl return failed } -func stopContainersInReversedOrder(containers []container.Container, client container.Client, params types.UpdateParams) int { +func stopContainersInReversedOrder(containers []container.Container, client container.Client, params types.UpdateParams) (int, map[string]bool) { + imageIDsOfStoppedContainers := make(map[string]bool) failed := 0 for i := len(containers) - 1; i >= 0; i-- { if err := stopStaleContainer(containers[i], client, params); err != nil { failed++ + } else { + imageIDsOfStoppedContainers[containers[i].ImageID()] = true } + } - return failed + return failed, imageIDsOfStoppedContainers } func stopStaleContainer(container container.Container, client container.Client, params types.UpdateParams) error { @@ -135,11 +143,16 @@ func stopStaleContainer(container container.Container, client container.Client, return nil } if params.LifecycleHooks { - if err := lifecycle.ExecutePreUpdateCommand(client, container); err != nil { + SkipUpdate, err := lifecycle.ExecutePreUpdateCommand(client, container) + if err != nil { log.Error(err) log.Info("Skipping container as the pre-update command failed") return err } + if SkipUpdate { + log.Debug("Skipping container as the pre-update command returned exit code 75 (EX_TEMPFAIL)") + return errors.New("Skipping container as the pre-update command returned exit code 75 (EX_TEMPFAIL)") + } } if err := client.StopContainer(container, params.Timeout); err != nil { @@ -149,7 +162,7 @@ func stopStaleContainer(container container.Container, client container.Client, return nil } -func restartContainersInSortedOrder(containers []container.Container, client container.Client, params types.UpdateParams) int { +func restartContainersInSortedOrder(containers []container.Container, client container.Client, params types.UpdateParams, imageIDsOfStoppedContainers map[string]bool) int { imageIDs := make(map[string]bool) failed := 0 @@ -158,10 +171,12 @@ func restartContainersInSortedOrder(containers []container.Container, client con if !c.ToRestart() { continue } - if err := restartStaleContainer(c, client, params); err != nil { - failed++ + if imageIDsOfStoppedContainers[c.ImageID()] { + if err := restartStaleContainer(c, client, params); err != nil { + failed++ + } + imageIDs[c.ImageID()] = true } - imageIDs[c.ImageID()] = true } if params.Cleanup { diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index f1b8e85..4b03001 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -7,6 +7,7 @@ import ( "github.com/containrrr/watchtower/pkg/types" container2 "github.com/docker/docker/api/types/container" cli "github.com/docker/docker/client" + "github.com/docker/go-connections/nat" "time" . "github.com/containrrr/watchtower/internal/actions/mocks" @@ -106,6 +107,8 @@ var _ = Describe("the update action", func() { "test-container-02", "test-container-02", "fake-image2:latest", + false, + false, time.Now(), &container2.Config{ Labels: map[string]string{ @@ -158,4 +161,187 @@ var _ = Describe("the update action", func() { }) }) + + When("watchtower has been instructed to run lifecycle hooks", func() { + + When("prupddate script returns 1", func() { + BeforeEach(func() { + client = CreateMockClient( + &TestData{ + //NameOfContainerToKeep: "test-container-02", + Containers: []container.Container{ + CreateMockContainerWithConfig( + "test-container-02", + "test-container-02", + "fake-image2:latest", + true, + false, + time.Now(), + &container2.Config{ + Labels: map[string]string{ + "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", + "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn1.sh", + }, + ExposedPorts: map[nat.Port]struct{}{}, + }), + }, + }, + dockerClient, + false, + false, + ) + }) + + It("should not update those containers", func() { + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) + }) + + }) + + When("prupddate script returns 75", func() { + BeforeEach(func() { + client = CreateMockClient( + &TestData{ + //NameOfContainerToKeep: "test-container-02", + Containers: []container.Container{ + CreateMockContainerWithConfig( + "test-container-02", + "test-container-02", + "fake-image2:latest", + true, + false, + time.Now(), + &container2.Config{ + Labels: map[string]string{ + "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", + "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn75.sh", + }, + ExposedPorts: map[nat.Port]struct{}{}, + }), + }, + }, + dockerClient, + false, + false, + ) + }) + + It("should not update those containers", func() { + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) + }) + + }) + + When("prupddate script returns 0", func() { + BeforeEach(func() { + client = CreateMockClient( + &TestData{ + //NameOfContainerToKeep: "test-container-02", + Containers: []container.Container{ + CreateMockContainerWithConfig( + "test-container-02", + "test-container-02", + "fake-image2:latest", + true, + false, + time.Now(), + &container2.Config{ + Labels: map[string]string{ + "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", + "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn0.sh", + }, + ExposedPorts: map[nat.Port]struct{}{}, + }), + }, + }, + dockerClient, + false, + false, + ) + }) + + It("should update those containers", func() { + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) + }) + }) + + When("container is not running", func() { + BeforeEach(func() { + client = CreateMockClient( + &TestData{ + //NameOfContainerToKeep: "test-container-02", + Containers: []container.Container{ + CreateMockContainerWithConfig( + "test-container-02", + "test-container-02", + "fake-image2:latest", + false, + false, + time.Now(), + &container2.Config{ + Labels: map[string]string{ + "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", + "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn1.sh", + }, + ExposedPorts: map[nat.Port]struct{}{}, + }), + }, + }, + dockerClient, + false, + false, + ) + }) + + It("skip running preupdate", func() { + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) + }) + + }) + + When("container is restarting", func() { + BeforeEach(func() { + client = CreateMockClient( + &TestData{ + //NameOfContainerToKeep: "test-container-02", + Containers: []container.Container{ + CreateMockContainerWithConfig( + "test-container-02", + "test-container-02", + "fake-image2:latest", + false, + true, + time.Now(), + &container2.Config{ + Labels: map[string]string{ + "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", + "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn1.sh", + }, + ExposedPorts: map[nat.Port]struct{}{}, + }), + }, + }, + dockerClient, + false, + false, + ) + }) + + It("skip running preupdate", func() { + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) + }) + + }) + + }) }) diff --git a/pkg/container/client.go b/pkg/container/client.go index 93eacb7..7138587 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -31,7 +31,7 @@ type Client interface { StartContainer(Container) (string, error) RenameContainer(Container, string) error IsContainerStale(Container) (bool, error) - ExecuteCommand(containerID string, command string, timeout int) error + ExecuteCommand(containerID string, command string, timeout int) (SkipUpdate bool, err error) RemoveImageByID(string) error WarnOnHeadPullFailed(container Container) bool } @@ -356,7 +356,7 @@ func (client dockerClient) RemoveImageByID(id string) error { return err } -func (client dockerClient) ExecuteCommand(containerID string, command string, timeout int) error { +func (client dockerClient) ExecuteCommand(containerID string, command string, timeout int) (SkipUpdate bool, err error) { bg := context.Background() // Create the exec @@ -368,7 +368,7 @@ func (client dockerClient) ExecuteCommand(containerID string, command string, ti exec, err := client.api.ContainerExecCreate(bg, containerID, execConfig) if err != nil { - return err + return false, err } response, attachErr := client.api.ContainerExecAttach(bg, exec.ID, types.ExecStartCheck{ @@ -383,7 +383,7 @@ func (client dockerClient) ExecuteCommand(containerID string, command string, ti execStartCheck := types.ExecStartCheck{Detach: false, Tty: true} err = client.api.ContainerExecStart(bg, exec.ID, execStartCheck) if err != nil { - return err + return false, err } var output string @@ -400,15 +400,16 @@ func (client dockerClient) ExecuteCommand(containerID string, command string, ti // Inspect the exec to get the exit code and print a message if the // exit code is not success. - err = client.waitForExecOrTimeout(bg, exec.ID, output, timeout) + skipUpdate, err := client.waitForExecOrTimeout(bg, exec.ID, output, timeout) if err != nil { - return err + return true, err } - return nil + return skipUpdate, nil } -func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, execOutput string, timeout int) error { +func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, execOutput string, timeout int) (SkipUpdate bool, err error) { + const ExTempFail = 75 var ctx context.Context var cancel context.CancelFunc @@ -430,7 +431,7 @@ func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, e }).Debug("Awaiting timeout or completion") if err != nil { - return err + return false, err } if execInspect.Running == true { time.Sleep(1 * time.Second) @@ -439,13 +440,17 @@ func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, e if len(execOutput) > 0 { log.Infof("Command output:\n%v", execOutput) } + + if execInspect.ExitCode == ExTempFail { + return true, nil + } + if execInspect.ExitCode > 0 { - log.Errorf("Command exited with code %v.", execInspect.ExitCode) - log.Error(execOutput) + return false, fmt.Errorf("Command exited with code %v %s", execInspect.ExitCode, execOutput) } break } - return nil + return false, nil } func (client dockerClient) waitForStopOrTimeout(c Container, waitTime time.Duration) error { diff --git a/pkg/container/container.go b/pkg/container/container.go index 92abec2..42fa917 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -46,6 +46,13 @@ func (c Container) IsRunning() bool { return c.containerInfo.State.Running } +// IsRestarting returns a boolean flag indicating whether or not the current +// container is restarting. The status is determined by the value of the +// container's "State.Restarting" property. +func (c Container) IsRestarting() bool { + return c.containerInfo.State.Restarting +} + // Name returns the Docker container name. func (c Container) Name() string { return c.containerInfo.Name diff --git a/pkg/lifecycle/lifecycle.go b/pkg/lifecycle/lifecycle.go index df639d7..9f9488c 100644 --- a/pkg/lifecycle/lifecycle.go +++ b/pkg/lifecycle/lifecycle.go @@ -37,7 +37,8 @@ func ExecutePreCheckCommand(client container.Client, container container.Contain } log.Debug("Executing pre-check command.") - if err := client.ExecuteCommand(container.ID(), command, 1); err != nil { + _,err := client.ExecuteCommand(container.ID(), command, 1); + if err != nil { log.Error(err) } } @@ -51,18 +52,24 @@ func ExecutePostCheckCommand(client container.Client, container container.Contai } log.Debug("Executing post-check command.") - if err := client.ExecuteCommand(container.ID(), command, 1); err != nil { + _,err := client.ExecuteCommand(container.ID(), command, 1); + if err != nil { log.Error(err) } } // ExecutePreUpdateCommand tries to run the pre-update lifecycle hook for a single container. -func ExecutePreUpdateCommand(client container.Client, container container.Container) error { +func ExecutePreUpdateCommand(client container.Client, container container.Container) (SkipUpdate bool,err error) { timeout := container.PreUpdateTimeout() command := container.GetLifecyclePreUpdateCommand() if len(command) == 0 { log.Debug("No pre-update command supplied. Skipping") - return nil + return false,nil + } + + if !container.IsRunning() || container.IsRestarting() { + log.Debug("Container is not running. Skipping pre-update command.") + return false,nil } log.Debug("Executing pre-update command.") @@ -84,7 +91,9 @@ func ExecutePostUpdateCommand(client container.Client, newContainerID string) { } log.Debug("Executing post-update command.") - if err := client.ExecuteCommand(newContainerID, command, 1); err != nil { + _,err = client.ExecuteCommand(newContainerID, command, 1); + + if err != nil { log.Error(err) } } From d0ecc23d722ee1454fe056cf4e3a48080cf56953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 26 Jun 2021 20:40:03 +0200 Subject: [PATCH 115/389] docs: fix markdown lint issues (#995) * fix list indents in notifications * fix missing lang tag * fix list indent and extra newlines * further indentation experimentation * fix remark lint-recommend warnings --- docs/arguments.md | 4 +-- docs/container-selection.md | 10 +++---- docs/http-api-mode.md | 2 +- docs/lifecycle-hooks.md | 8 +++--- docs/metrics.md | 2 +- docs/notifications.md | 42 +++++++++++++++--------------- docs/private-registries.md | 11 ++++---- docs/remote-hosts.md | 2 +- docs/running-multiple-instances.md | 6 ++--- 9 files changed, 43 insertions(+), 44 deletions(-) diff --git a/docs/arguments.md b/docs/arguments.md index 218680e..4425190 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -258,7 +258,7 @@ Environment Variable: WATCHTOWER_HTTP_API_TOKEN ## HTTP API periodic polls Keep running periodic updates if the HTTP API mode is enabled, otherwise the HTTP API would prevent periodic polls. -``` +```text Argument: --http-api-periodic-polls Environment Variable: WATCHTOWER_HTTP_API_PERIODIC_POLLS Type: Boolean @@ -340,4 +340,4 @@ requests and may rate limit pull requests (mainly docker.io). Environment Variable: WATCHTOWER_WARN_ON_HEAD_FAILURE Possible values: always, auto, never Default: auto -``` \ No newline at end of file +``` diff --git a/docs/container-selection.md b/docs/container-selection.md index 799091f..b5ccafb 100644 --- a/docs/container-selection.md +++ b/docs/container-selection.md @@ -2,8 +2,8 @@ By default, watchtower will watch all containers. However, sometimes only some c There are two options: -- **Fully exclude**: You can choose to exclude containers entirely from being watched by watchtower. -- **Monitor only**: In this mode, watchtower checks for container updates, sends notifications and invokes the [pre-check/post-check hooks](https://containrrr.dev/watchtower/lifecycle-hooks/) on the containers but does **not** perform the update. +- **Fully exclude**: You can choose to exclude containers entirely from being watched by watchtower. +- **Monitor only**: In this mode, watchtower checks for container updates, sends notifications and invokes the [pre-check/post-check hooks](https://containrrr.dev/watchtower/lifecycle-hooks/) on the containers but does **not** perform the update. ## Full Exclude @@ -34,8 +34,8 @@ docker run -d --label=com.centurylinklabs.watchtower.enable=true someimage If you wish to create a monitoring scope, you will need to [run multiple instances and set a scope for each of them](https://containrrr.github.io/watchtower/running-multiple-instances). Watchtower filters running containers by testing them against each configured criteria. A container is monitored if all criteria are met. For example: -- If a container's name is on the monitoring name list (not empty `--name` argument) but it is not enabled (_centurylinklabs.watchtower.enable=false_), it won't be monitored; -- If a container's name is not on the monitoring name list (not empty `--name` argument), even if it is enabled (_centurylinklabs.watchtower.enable=true_ and `--label-enable` flag is set), it won't be monitored; +- If a container's name is on the monitoring name list (not empty `--name` argument) but it is not enabled (_centurylinklabs.watchtower.enable=false_), it won't be monitored; +- If a container's name is not on the monitoring name list (not empty `--name` argument), even if it is enabled (_centurylinklabs.watchtower.enable=true_ and `--label-enable` flag is set), it won't be monitored; ## Monitor Only @@ -54,5 +54,3 @@ docker run -d --label=com.centurylinklabs.watchtower.monitor-only=true someimage ``` When the label is specified on a container, watchtower treats that container exactly as if [`WATCHTOWER_MONITOR_ONLY`](https://containrrr.dev/watchtower/arguments/#without_updating_containers) was set, but the effect is limited to the individual container. - - diff --git a/docs/http-api-mode.md b/docs/http-api-mode.md index 7af1421..2cf082a 100644 --- a/docs/http-api-mode.md +++ b/docs/http-api-mode.md @@ -1,6 +1,6 @@ Watchtower provides an HTTP API mode that enables an HTTP endpoint that can be requested to trigger container updating. The current available endpoint list is: -- `/v1/update` - triggers an update for all of the containers monitored by this Watchtower instance. +- `/v1/update` - triggers an update for all of the containers monitored by this Watchtower instance. --- diff --git a/docs/lifecycle-hooks.md b/docs/lifecycle-hooks.md index cab0485..68dbdae 100644 --- a/docs/lifecycle-hooks.md +++ b/docs/lifecycle-hooks.md @@ -10,10 +10,10 @@ It is possible to execute _pre/post\-check_ and _pre/post\-update_ commands **inside** every container updated by watchtower. -- The _pre-check_ command is executed for each container prior to every update cycle. -- The _pre-update_ command is executed before stopping the container when an update is about to start. -- The _post-update_ command is executed after restarting the updated container -- The _post-check_ command is executed for each container post every update cycle. +- The _pre-check_ command is executed for each container prior to every update cycle. +- The _pre-update_ command is executed before stopping the container when an update is about to start. +- The _post-update_ command is executed after restarting the updated container +- The _post-check_ command is executed for each container post every update cycle. This feature is disabled by default. To enable it, you need to set the option `--enable-lifecycle-hooks` on the command line, or set the environment variable diff --git a/docs/metrics.md b/docs/metrics.md index 9741955..2829eac 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -22,4 +22,4 @@ as well as creating a port mapping for your container for port `8080`. The repository contains a demo with prometheus and grafana, available through `docker-compose.yml`. This demo is preconfigured with a dashboard, which will look something like this: -![grafana metrics](assets/grafana-dashboard.png) \ No newline at end of file +![grafana metrics](assets/grafana-dashboard.png) diff --git a/docs/notifications.md b/docs/notifications.md index f783866..c951d29 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -5,11 +5,11 @@ system, [logrus](http://github.com/sirupsen/logrus). The types of notifications comma-separated list of values to the `--notifications` option (or corresponding environment variable `WATCHTOWER_NOTIFICATIONS`), which has the following valid values: -- `email` to send notifications via e-mail -- `slack` to send notifications through a Slack webhook -- `msteams` to send notifications via MSTeams webhook -- `gotify` to send notifications via Gotify -- `shoutrrr` to send notifications via [containrrr/shoutrrr](https://github.com/containrrr/shoutrrr) +- `email` to send notifications via e-mail +- `slack` to send notifications through a Slack webhook +- `msteams` to send notifications via MSTeams webhook +- `gotify` to send notifications via Gotify +- `shoutrrr` to send notifications via [containrrr/shoutrrr](https://github.com/containrrr/shoutrrr) !!! note "Using multiple notifications with environment variables" There is currently a bug in Viper (https://github.com/spf13/viper/issues/380), which prevents comma-separated slices to @@ -24,9 +24,9 @@ comma-separated list of values to the `--notifications` option ## Settings -- `--notifications-level` (env. `WATCHTOWER_NOTIFICATIONS_LEVEL`): Controls the log level which is used for the notifications. If omitted, the default log level is `info`. Possible values are: `panic`, `fatal`, `error`, `warn`, `info`, `debug` or `trace`. -- `--notifications-hostname` (env. `WATCHTOWER_NOTIFICATIONS_HOSTNAME`): Custom hostname specified in subject/title. Useful to override the operating system hostname. -- Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. +- `--notifications-level` (env. `WATCHTOWER_NOTIFICATIONS_LEVEL`): Controls the log level which is used for the notifications. If omitted, the default log level is `info`. Possible values are: `panic`, `fatal`, `error`, `warn`, `info`, `debug` or `trace`. +- `--notifications-hostname` (env. `WATCHTOWER_NOTIFICATIONS_HOSTNAME`): Custom hostname specified in subject/title. Useful to override the operating system hostname. +- Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. ## Available services @@ -34,15 +34,15 @@ comma-separated list of values to the `--notifications` option To receive notifications by email, the following command-line options, or their corresponding environment variables, can be set: -- `--notification-email-from` (env. `WATCHTOWER_NOTIFICATION_EMAIL_FROM`): The e-mail address from which notifications will be sent. -- `--notification-email-to` (env. `WATCHTOWER_NOTIFICATION_EMAIL_TO`): The e-mail address to which notifications will be sent. -- `--notification-email-server` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER`): The SMTP server to send e-mails through. -- `--notification-email-server-tls-skip-verify` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_TLS_SKIP_VERIFY`): Do not verify the TLS certificate of the mail server. This should be used only for testing. -- `--notification-email-server-port` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT`): The port used to connect to the SMTP server to send e-mails through. Defaults to `25`. -- `--notification-email-server-user` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER`): The username to authenticate with the SMTP server with. -- `--notification-email-server-password` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD`): The password to authenticate with the SMTP server with. Can also reference a file, in which case the contents of the file are used. -- `--notification-email-delay` (env. `WATCHTOWER_NOTIFICATION_EMAIL_DELAY`): Delay before sending notifications expressed in seconds. -- `--notification-email-subjecttag` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG`): Prefix to include in the subject tag. Useful when running multiple watchtowers. +- `--notification-email-from` (env. `WATCHTOWER_NOTIFICATION_EMAIL_FROM`): The e-mail address from which notifications will be sent. +- `--notification-email-to` (env. `WATCHTOWER_NOTIFICATION_EMAIL_TO`): The e-mail address to which notifications will be sent. +- `--notification-email-server` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER`): The SMTP server to send e-mails through. +- `--notification-email-server-tls-skip-verify` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_TLS_SKIP_VERIFY`): Do not verify the TLS certificate of the mail server. This should be used only for testing. +- `--notification-email-server-port` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT`): The port used to connect to the SMTP server to send e-mails through. Defaults to `25`. +- `--notification-email-server-user` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER`): The username to authenticate with the SMTP server with. +- `--notification-email-server-password` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD`): The password to authenticate with the SMTP server with. Can also reference a file, in which case the contents of the file are used. +- `--notification-email-delay` (env. `WATCHTOWER_NOTIFICATION_EMAIL_DELAY`): Delay before sending notifications expressed in seconds. +- `--notification-email-subjecttag` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG`): Prefix to include in the subject tag. Useful when running multiple watchtowers. Example: @@ -121,7 +121,7 @@ By default, watchtower will send messages under the name `watchtower`, you can c Other, optional, variables include: -- `--notification-slack-channel` (env. `WATCHTOWER_NOTIFICATION_SLACK_CHANNEL`): A string which overrides the webhook's default channel. Example: #my-custom-channel. +- `--notification-slack-channel` (env. `WATCHTOWER_NOTIFICATION_SLACK_CHANNEL`): A string which overrides the webhook's default channel. Example: #my-custom-channel. Example: @@ -178,7 +178,7 @@ If you want to disable TLS verification for the Gotify instance, you can use eit To send notifications via shoutrrr, the following command-line options, or their corresponding environment variables, can be set: -- `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. +- `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. Go to [containrrr.github.io/shoutrrr/services/overview](https://containrrr.github.io/shoutrrr/services/overview) to learn more about the different service URLs you can use. You can define multiple services by space separating the @@ -186,7 +186,7 @@ URLs. (See example below) You can customize the message posted by setting a template. -- `--notification-template` (env. `WATCHTOWER_NOTIFICATION_TEMPLATE`): The template used for the message. +- `--notification-template` (env. `WATCHTOWER_NOTIFICATION_TEMPLATE`): The template used for the message. The template is a Go [template](https://golang.org/pkg/text/template/) and that format a list of [log entries](https://pkg.go.dev/github.com/sirupsen/logrus?tab=doc#Entry). @@ -198,7 +198,7 @@ outputs timestamp and log level. If you want to adjust the date/time format it must show how the [reference time](https://golang.org/pkg/time/#pkg-constants) (_Mon Jan 2 15:04:05 MST 2006_) would be displayed in your custom format. - i.e. The day of the year has to be 1, the month has to be 2 (february), the hour 3 (or 15 for 24h time) etc. + i.e., The day of the year has to be 1, the month has to be 2 (february), the hour 3 (or 15 for 24h time) etc. Example: diff --git a/docs/private-registries.md b/docs/private-registries.md index 354f369..e6edc39 100644 --- a/docs/private-registries.md +++ b/docs/private-registries.md @@ -5,8 +5,8 @@ environment, watchtower needs to know the credentials to access the registry. The credentials can be provided to watchtower in a configuration file called `config.json`. There are two ways to generate this configuration file: -* The configuration file can be created manually. -* Call `docker login ` and share the resulting configuration file. +* The configuration file can be created manually. +* Call `docker login ` and share the resulting configuration file. ### Create the configuration file manually Create a new configuration file with the following syntax and a base64 encoded username and @@ -87,7 +87,6 @@ services: - /var/run/docker.sock:/var/run/docker.sock ``` - ## Credential helpers Some private Docker registries (the most prominent probably being AWS ECR) use non-standard ways of authentication. To be able to use this together with watchtower, we need to use a credential helper. @@ -98,7 +97,6 @@ helper in a separate container and mount it using volumes. ### Example Example implementation for use with [amazon-ecr-credential-helper](https://github.com/awslabs/amazon-ecr-credential-helper): - Use the dockerfile below to build the [amazon-ecr-credential-helper](https://github.com/awslabs/amazon-ecr-credential-helper), in a volume that may be mounted onto your watchtower container. @@ -175,9 +173,12 @@ A few additional notes: 1. With docker-compose the volume (helper, in this case) MUST be set to `external: true`, otherwise docker-compose will preface it with the directory name. + 2. Note that "credsStore" : "ecr-login" is needed - and in theory if you have that you can remove the - credHelpers section + credHelpers section + 3. I have this running on an EC2 instance that has credentials assigned to it - so no keys are needed; however, you may need to include the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables as well. + 4. An alternative to adding the various variables is to create a ~/.aws/config and ~/.aws/credentials files and place the settings there, then mount the ~/.aws directory to / in the container. diff --git a/docs/remote-hosts.md b/docs/remote-hosts.md index e08fbd3..22c3f94 100644 --- a/docs/remote-hosts.md +++ b/docs/remote-hosts.md @@ -15,4 +15,4 @@ docker run -d \ containrrr/watchtower ``` -Note in both of the examples above that it is unnecessary to mount the _/var/run/docker.sock_ into the watchtower container. \ No newline at end of file +Note in both of the examples above that it is unnecessary to mount the _/var/run/docker.sock_ into the watchtower container. diff --git a/docs/running-multiple-instances.md b/docs/running-multiple-instances.md index 641f4e4..3899095 100644 --- a/docs/running-multiple-instances.md +++ b/docs/running-multiple-instances.md @@ -1,8 +1,8 @@ By default, Watchtower will clean up other instances and won't allow multiple instances running on the same Docker host or swarm. It is possible to override this behavior by defining a [scope](https://containrrr.github.io/watchtower/arguments/#filter_by_scope) to each running instance. Notice that: -- Multiple instances can't run with the same scope; -- An instance without a scope will clean up other running instances, even if they have a defined scope; +- Multiple instances can't run with the same scope; +- An instance without a scope will clean up other running instances, even if they have a defined scope; To define an instance monitoring scope, use the `--scope` argument or the `WATCHTOWER_SCOPE` environment variable on startup and set the _com.centurylinklabs.watchtower.scope_ label with the same value for the containers you want to include in this instance's scope (including the instance itself). @@ -24,4 +24,4 @@ services: command: --interval 30 --scope myscope labels: - "com.centurylinklabs.watchtower.scope=myscope" -``` \ No newline at end of file +``` From e3dd8d688a3576d06fc1fb73fdc2269d59e2ab67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 27 Jun 2021 09:05:01 +0200 Subject: [PATCH 116/389] Session report collection and report templates (#981) * wip: notification stats * make report notifications optional * linting/documentation fixes * linting/documentation fixes * merge types.Container and container.Interface * smaller naming/format fixes * use typed image/container IDs * simplify notifier and update tests * add missed doc comments * lint fixes * remove unused constructors * rename old/new current/latest --- cmd/root.go | 13 +- internal/actions/mocks/client.go | 20 +- internal/actions/mocks/container.go | 34 +- internal/actions/mocks/progress.go | 46 +++ internal/actions/update.go | 73 ++--- internal/actions/update_test.go | 14 +- internal/flags/flags.go | 13 +- pkg/container/client.go | 67 ++-- pkg/container/container.go | 20 +- pkg/container/container_test.go | 4 +- pkg/container/mocks/ApiServer.go | 9 +- pkg/container/util.go | 23 -- pkg/container/util_test.go | 22 +- pkg/lifecycle/lifecycle.go | 26 +- pkg/metrics/metrics.go | 11 + pkg/notifications/email.go | 5 - pkg/notifications/gotify.go | 5 - pkg/notifications/msteams.go | 5 - pkg/notifications/notifications_suite_test.go | 13 + pkg/notifications/notifier.go | 103 ++---- pkg/notifications/notifier_test.go | 54 ++- pkg/notifications/shoutrrr.go | 161 +++++---- pkg/notifications/shoutrrr_test.go | 307 +++++++++++------- pkg/notifications/slack.go | 5 - pkg/notifications/smtp.go | 77 ----- pkg/notifications/util.go | 24 -- pkg/session/container_status.go | 82 +++++ pkg/session/progress.go | 56 ++++ pkg/session/report.go | 90 +++++ pkg/types/container.go | 45 ++- pkg/types/notifier.go | 2 +- pkg/types/report.go | 22 ++ 32 files changed, 853 insertions(+), 598 deletions(-) create mode 100644 internal/actions/mocks/progress.go delete mode 100644 pkg/container/util.go create mode 100644 pkg/notifications/notifications_suite_test.go delete mode 100644 pkg/notifications/smtp.go delete mode 100644 pkg/notifications/util.go create mode 100644 pkg/session/container_status.go create mode 100644 pkg/session/progress.go create mode 100644 pkg/session/report.go create mode 100644 pkg/types/report.go diff --git a/cmd/root.go b/cmd/root.go index cf752ae..fb7c29b 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -34,7 +34,7 @@ var ( noRestart bool monitorOnly bool enableLabel bool - notifier *notifications.Notifier + notifier t.Notifier timeout time.Duration lifecycleHooks bool rollingRestart bool @@ -268,9 +268,9 @@ func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { } notifs := "Using no notifications" - notifList := notifier.String() - if len(notifList) > 0 { - notifs = "Using notifications: " + notifList + notifierNames := notifier.GetNames() + if len(notifierNames) > 0 { + notifs = "Using notifications: " + strings.Join(notifierNames, ", ") } log.Info("Watchtower ", meta.Version, "\n", notifs, "\n", filtering, "\n", schedMessage) @@ -338,11 +338,12 @@ func runUpdatesWithNotifications(filter t.Filter) *metrics.Metric { LifecycleHooks: lifecycleHooks, RollingRestart: rollingRestart, } - metricResults, err := actions.Update(client, updateParams) + result, err := actions.Update(client, updateParams) if err != nil { log.Error(err) } - notifier.SendNotification() + notifier.SendNotification(result) + metricResults := metrics.NewMetric(result) log.Debugf("Session done: %v scanned, %v updated, %v failed", metricResults.Scanned, metricResults.Updated, metricResults.Failed) return metricResults diff --git a/internal/actions/mocks/client.go b/internal/actions/mocks/client.go index 372abce..6378f43 100644 --- a/internal/actions/mocks/client.go +++ b/internal/actions/mocks/client.go @@ -41,12 +41,12 @@ func CreateMockClient(data *TestData, api cli.CommonAPIClient, pullImages bool, } // ListContainers is a mock method returning the provided container testdata -func (client MockClient) ListContainers(f t.Filter) ([]container.Container, error) { +func (client MockClient) ListContainers(_ t.Filter) ([]container.Container, error) { return client.TestData.Containers, nil } // StopContainer is a mock method -func (client MockClient) StopContainer(c container.Container, d time.Duration) error { +func (client MockClient) StopContainer(c container.Container, _ time.Duration) error { if c.Name() == client.TestData.NameOfContainerToKeep { return errors.New("tried to stop the instance we want to keep") } @@ -54,28 +54,28 @@ func (client MockClient) StopContainer(c container.Container, d time.Duration) e } // StartContainer is a mock method -func (client MockClient) StartContainer(c container.Container) (string, error) { +func (client MockClient) StartContainer(_ container.Container) (t.ContainerID, error) { return "", nil } // RenameContainer is a mock method -func (client MockClient) RenameContainer(c container.Container, s string) error { +func (client MockClient) RenameContainer(_ container.Container, _ string) error { return nil } // RemoveImageByID increments the TriedToRemoveImageCount on being called -func (client MockClient) RemoveImageByID(id string) error { +func (client MockClient) RemoveImageByID(_ t.ImageID) error { client.TestData.TriedToRemoveImageCount++ return nil } // GetContainer is a mock method -func (client MockClient) GetContainer(containerID string) (container.Container, error) { +func (client MockClient) GetContainer(_ t.ContainerID) (container.Container, error) { return client.TestData.Containers[0], nil } // ExecuteCommand is a mock method -func (client MockClient) ExecuteCommand(containerID string, command string, timeout int) (SkipUpdate bool, err error) { +func (client MockClient) ExecuteCommand(_ t.ContainerID, command string, _ int) (SkipUpdate bool, err error) { switch command { case "/PreUpdateReturn0.sh": return false, nil @@ -89,11 +89,11 @@ func (client MockClient) ExecuteCommand(containerID string, command string, time } // IsContainerStale is always true for the mock client -func (client MockClient) IsContainerStale(c container.Container) (bool, error) { - return true, nil +func (client MockClient) IsContainerStale(_ container.Container) (bool, t.ImageID, error) { + return true, "", nil } // WarnOnHeadPullFailed is always true for the mock client -func (client MockClient) WarnOnHeadPullFailed(c container.Container) bool { +func (client MockClient) WarnOnHeadPullFailed(_ container.Container) bool { return true } diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index 07b19c3..f854114 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -1,10 +1,14 @@ package mocks import ( + "fmt" "github.com/containrrr/watchtower/pkg/container" + wt "github.com/containrrr/watchtower/pkg/types" "github.com/docker/docker/api/types" - container2 "github.com/docker/docker/api/types/container" + dockerContainer "github.com/docker/docker/api/types/container" "github.com/docker/go-connections/nat" + "strconv" + "strings" "time" ) @@ -16,11 +20,11 @@ func CreateMockContainer(id string, name string, image string, created time.Time Image: image, Name: name, Created: created.String(), - HostConfig: &container2.HostConfig{ + HostConfig: &dockerContainer.HostConfig{ PortBindings: map[nat.Port][]nat.PortBinding{}, }, }, - Config: &container2.Config{ + Config: &dockerContainer.Config{ Image: image, Labels: make(map[string]string), ExposedPorts: map[nat.Port]struct{}{}, @@ -46,7 +50,7 @@ func CreateMockContainerWithImageInfo(id string, name string, image string, crea Name: name, Created: created.String(), }, - Config: &container2.Config{ + Config: &dockerContainer.Config{ Image: image, Labels: make(map[string]string), }, @@ -65,18 +69,18 @@ func CreateMockContainerWithDigest(id string, name string, image string, created } // CreateMockContainerWithConfig creates a container substitute valid for testing -func CreateMockContainerWithConfig(id string, name string, image string, running bool, restarting bool, created time.Time, config *container2.Config) container.Container { +func CreateMockContainerWithConfig(id string, name string, image string, running bool, restarting bool, created time.Time, config *dockerContainer.Config) container.Container { content := types.ContainerJSON{ ContainerJSONBase: &types.ContainerJSONBase{ ID: id, Image: image, Name: name, State: &types.ContainerState{ - Running: running, + Running: running, Restarting: restarting, }, Created: created.String(), - HostConfig: &container2.HostConfig{ + HostConfig: &dockerContainer.HostConfig{ PortBindings: map[nat.Port][]nat.PortBinding{}, }, }, @@ -89,3 +93,19 @@ func CreateMockContainerWithConfig(id string, name string, image string, running }, ) } + +// CreateContainerForProgress creates a container substitute for tracking session/update progress +func CreateContainerForProgress(index int, idPrefix int, nameFormat string) (container.Container, wt.ImageID) { + indexStr := strconv.Itoa(idPrefix + index) + mockID := indexStr + strings.Repeat("0", 61-len(indexStr)) + contID := "c79" + mockID + contName := fmt.Sprintf(nameFormat, index+1) + oldImgID := "01d" + mockID + newImgID := "d0a" + mockID + imageName := fmt.Sprintf("mock/%s:latest", contName) + config := &dockerContainer.Config{ + Image: imageName, + } + c := CreateMockContainerWithConfig(contID, contName, oldImgID, true, false, time.Now(), config) + return c, wt.ImageID(newImgID) +} diff --git a/internal/actions/mocks/progress.go b/internal/actions/mocks/progress.go new file mode 100644 index 0000000..6883b48 --- /dev/null +++ b/internal/actions/mocks/progress.go @@ -0,0 +1,46 @@ +package mocks + +import ( + "errors" + "github.com/containrrr/watchtower/pkg/session" + wt "github.com/containrrr/watchtower/pkg/types" +) + +// CreateMockProgressReport creates a mock report from a given set of container states +// All containers will be given a unique ID and name based on its state and index +func CreateMockProgressReport(states ...session.State) wt.Report { + + stateNums := make(map[session.State]int) + progress := session.Progress{} + failed := make(map[wt.ContainerID]error) + + for _, state := range states { + index := stateNums[state] + + switch state { + case session.SkippedState: + c, _ := CreateContainerForProgress(index, 41, "skip%d") + progress.AddSkipped(c, errors.New("unpossible")) + break + case session.FreshState: + c, _ := CreateContainerForProgress(index, 31, "frsh%d") + progress.AddScanned(c, c.ImageID()) + break + case session.UpdatedState: + c, newImage := CreateContainerForProgress(index, 11, "updt%d") + progress.AddScanned(c, newImage) + progress.MarkForUpdate(c.ID()) + break + case session.FailedState: + c, newImage := CreateContainerForProgress(index, 21, "fail%d") + progress.AddScanned(c, newImage) + failed[c.ID()] = errors.New("accidentally the whole container") + } + + stateNums[state] = index + 1 + } + progress.UpdateFailed(failed) + + return progress.Report() + +} diff --git a/internal/actions/update.go b/internal/actions/update.go index 189501a..f7eee8e 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -5,7 +5,7 @@ import ( "github.com/containrrr/watchtower/internal/util" "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/lifecycle" - metrics2 "github.com/containrrr/watchtower/pkg/metrics" + "github.com/containrrr/watchtower/pkg/session" "github.com/containrrr/watchtower/pkg/sorter" "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" @@ -15,9 +15,9 @@ import ( // used to start those containers have been updated. If a change is detected in // any of the images, the associated containers are stopped and restarted with // the new image. -func Update(client container.Client, params types.UpdateParams) (*metrics2.Metric, error) { +func Update(client container.Client, params types.UpdateParams) (types.Report, error) { log.Debug("Checking containers for updated images") - metric := &metrics2.Metric{} + progress := &session.Progress{} staleCount := 0 if params.LifecycleHooks { @@ -32,7 +32,7 @@ func Update(client container.Client, params types.UpdateParams) (*metrics2.Metri staleCheckFailed := 0 for i, targetContainer := range containers { - stale, err := client.IsContainerStale(targetContainer) + stale, newestImage, err := client.IsContainerStale(targetContainer) shouldUpdate := stale && !params.NoRestart && !params.MonitorOnly && !targetContainer.IsMonitorOnly() if err == nil && shouldUpdate { // Check to make sure we have all the necessary information for recreating the container @@ -52,7 +52,9 @@ func Update(client container.Client, params types.UpdateParams) (*metrics2.Metri log.Infof("Unable to update container %q: %v. Proceeding to next.", targetContainer.Name(), err) stale = false staleCheckFailed++ - metric.Failed++ + progress.AddSkipped(targetContainer, err) + } else { + progress.AddScanned(targetContainer, newestImage) } containers[i].Stale = stale @@ -62,8 +64,6 @@ func Update(client container.Client, params types.UpdateParams) (*metrics2.Metri } containers, err = sorter.SortByDependencies(containers) - - metric.Scanned = len(containers) if err != nil { return nil, err } @@ -75,38 +75,38 @@ func Update(client container.Client, params types.UpdateParams) (*metrics2.Metri for _, c := range containers { if !c.IsMonitorOnly() { containersToUpdate = append(containersToUpdate, c) + progress.MarkForUpdate(c.ID()) } } } if params.RollingRestart { - metric.Failed += performRollingRestart(containersToUpdate, client, params) + progress.UpdateFailed(performRollingRestart(containersToUpdate, client, params)) } else { - imageIDsOfStoppedContainers := make(map[string]bool) - metric.Failed, imageIDsOfStoppedContainers = stopContainersInReversedOrder(containersToUpdate, client, params) - metric.Failed += restartContainersInSortedOrder(containersToUpdate, client, params, imageIDsOfStoppedContainers) + failedStop, stoppedImages := stopContainersInReversedOrder(containersToUpdate, client, params) + progress.UpdateFailed(failedStop) + failedStart := restartContainersInSortedOrder(containersToUpdate, client, params, stoppedImages) + progress.UpdateFailed(failedStart) } - metric.Updated = staleCount - (metric.Failed - staleCheckFailed) - if params.LifecycleHooks { lifecycle.ExecutePostChecks(client, params) } - return metric, nil + return progress.Report(), nil } -func performRollingRestart(containers []container.Container, client container.Client, params types.UpdateParams) int { - cleanupImageIDs := make(map[string]bool) - failed := 0 +func performRollingRestart(containers []container.Container, client container.Client, params types.UpdateParams) map[types.ContainerID]error { + cleanupImageIDs := make(map[types.ImageID]bool, len(containers)) + failed := make(map[types.ContainerID]error, len(containers)) for i := len(containers) - 1; i >= 0; i-- { if containers[i].ToRestart() { err := stopStaleContainer(containers[i], client, params) if err != nil { - failed++ + failed[containers[i].ID()] = err } else { if err := restartStaleContainer(containers[i], client, params); err != nil { - failed++ + failed[containers[i].ID()] = err } cleanupImageIDs[containers[i].ImageID()] = true } @@ -119,18 +119,18 @@ func performRollingRestart(containers []container.Container, client container.Cl return failed } -func stopContainersInReversedOrder(containers []container.Container, client container.Client, params types.UpdateParams) (int, map[string]bool) { - imageIDsOfStoppedContainers := make(map[string]bool) - failed := 0 +func stopContainersInReversedOrder(containers []container.Container, client container.Client, params types.UpdateParams) (failed map[types.ContainerID]error, stopped map[types.ImageID]bool) { + failed = make(map[types.ContainerID]error, len(containers)) + stopped = make(map[types.ImageID]bool, len(containers)) for i := len(containers) - 1; i >= 0; i-- { if err := stopStaleContainer(containers[i], client, params); err != nil { - failed++ + failed[containers[i].ID()] = err } else { - imageIDsOfStoppedContainers[containers[i].ImageID()] = true + stopped[containers[i].ImageID()] = true } } - return failed, imageIDsOfStoppedContainers + return } func stopStaleContainer(container container.Container, client container.Client, params types.UpdateParams) error { @@ -143,15 +143,15 @@ func stopStaleContainer(container container.Container, client container.Client, return nil } if params.LifecycleHooks { - SkipUpdate, err := lifecycle.ExecutePreUpdateCommand(client, container) + skipUpdate, err := lifecycle.ExecutePreUpdateCommand(client, container) if err != nil { log.Error(err) log.Info("Skipping container as the pre-update command failed") return err } - if SkipUpdate { + if skipUpdate { log.Debug("Skipping container as the pre-update command returned exit code 75 (EX_TEMPFAIL)") - return errors.New("Skipping container as the pre-update command returned exit code 75 (EX_TEMPFAIL)") + return errors.New("skipping container as the pre-update command returned exit code 75 (EX_TEMPFAIL)") } } @@ -162,31 +162,30 @@ func stopStaleContainer(container container.Container, client container.Client, return nil } -func restartContainersInSortedOrder(containers []container.Container, client container.Client, params types.UpdateParams, imageIDsOfStoppedContainers map[string]bool) int { - imageIDs := make(map[string]bool) - - failed := 0 +func restartContainersInSortedOrder(containers []container.Container, client container.Client, params types.UpdateParams, stoppedImages map[types.ImageID]bool) map[types.ContainerID]error { + cleanupImageIDs := make(map[types.ImageID]bool, len(containers)) + failed := make(map[types.ContainerID]error, len(containers)) for _, c := range containers { if !c.ToRestart() { continue } - if imageIDsOfStoppedContainers[c.ImageID()] { + if stoppedImages[c.ImageID()] { if err := restartStaleContainer(c, client, params); err != nil { - failed++ + failed[c.ID()] = err } - imageIDs[c.ImageID()] = true + cleanupImageIDs[c.ImageID()] = true } } if params.Cleanup { - cleanupImages(client, imageIDs) + cleanupImages(client, cleanupImageIDs) } return failed } -func cleanupImages(client container.Client, imageIDs map[string]bool) { +func cleanupImages(client container.Client, imageIDs map[types.ImageID]bool) { for imageID := range imageIDs { if err := client.RemoveImageByID(imageID); err != nil { log.Error(err) diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index 4b03001..8750253 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -5,7 +5,7 @@ import ( "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/container/mocks" "github.com/containrrr/watchtower/pkg/types" - container2 "github.com/docker/docker/api/types/container" + dockerContainer "github.com/docker/docker/api/types/container" cli "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "time" @@ -110,7 +110,7 @@ var _ = Describe("the update action", func() { false, false, time.Now(), - &container2.Config{ + &dockerContainer.Config{ Labels: map[string]string{ "com.centurylinklabs.watchtower.monitor-only": "true", }, @@ -177,7 +177,7 @@ var _ = Describe("the update action", func() { true, false, time.Now(), - &container2.Config{ + &dockerContainer.Config{ Labels: map[string]string{ "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn1.sh", @@ -213,7 +213,7 @@ var _ = Describe("the update action", func() { true, false, time.Now(), - &container2.Config{ + &dockerContainer.Config{ Labels: map[string]string{ "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn75.sh", @@ -249,7 +249,7 @@ var _ = Describe("the update action", func() { true, false, time.Now(), - &container2.Config{ + &dockerContainer.Config{ Labels: map[string]string{ "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn0.sh", @@ -284,7 +284,7 @@ var _ = Describe("the update action", func() { false, false, time.Now(), - &container2.Config{ + &dockerContainer.Config{ Labels: map[string]string{ "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn1.sh", @@ -320,7 +320,7 @@ var _ = Describe("the update action", func() { false, true, time.Now(), - &container2.Config{ + &dockerContainer.Config{ Labels: map[string]string{ "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "190", "com.centurylinklabs.watchtower.lifecycle.pre-update": "/PreUpdateReturn1.sh", diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 9df42c1..8dd128e 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -179,9 +179,8 @@ func RegisterNotificationFlags(rootCmd *cobra.Command) { viper.GetStringSlice("WATCHTOWER_NOTIFICATIONS"), " notification types to send (valid: email, slack, msteams, gotify, shoutrrr)") - flags.StringP( + flags.String( "notifications-level", - "", viper.GetString("WATCHTOWER_NOTIFICATIONS_LEVEL"), "The log level used for sending notifications. Possible values: panic, fatal, error, warn, info or debug") @@ -307,18 +306,20 @@ Should only be used for testing.`) `Controls whether watchtower verifies the Gotify server's certificate chain and host name. Should only be used for testing.`) - flags.StringP( + flags.String( "notification-template", - "", viper.GetString("WATCHTOWER_NOTIFICATION_TEMPLATE"), "The shoutrrr text/template for the messages") - flags.StringArrayP( + flags.StringArray( "notification-url", - "", viper.GetStringSlice("WATCHTOWER_NOTIFICATION_URL"), "The shoutrrr URL to send notifications to") + flags.Bool("notification-report", + viper.GetBool("WATCHTOWER_NOTIFICATION_REPORT"), + "Use the session report as the notification template data") + flags.String( "warn-on-head-failure", viper.GetString("WATCHTOWER_WARN_ON_HEAD_FAILURE"), diff --git a/pkg/container/client.go b/pkg/container/client.go index 7138587..2771733 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -26,13 +26,13 @@ const defaultStopSignal = "SIGTERM" // Docker API. type Client interface { ListContainers(t.Filter) ([]Container, error) - GetContainer(containerID string) (Container, error) + GetContainer(containerID t.ContainerID) (Container, error) StopContainer(Container, time.Duration) error - StartContainer(Container) (string, error) + StartContainer(Container) (t.ContainerID, error) RenameContainer(Container, string) error - IsContainerStale(Container) (bool, error) - ExecuteCommand(containerID string, command string, timeout int) (SkipUpdate bool, err error) - RemoveImageByID(string) error + IsContainerStale(Container) (stale bool, latestImage t.ImageID, err error) + ExecuteCommand(containerID t.ContainerID, command string, timeout int) (SkipUpdate bool, err error) + RemoveImageByID(t.ImageID) error WarnOnHeadPullFailed(container Container) bool } @@ -108,7 +108,7 @@ func (client dockerClient) ListContainers(fn t.Filter) ([]Container, error) { for _, runningContainer := range containers { - c, err := client.GetContainer(runningContainer.ID) + c, err := client.GetContainer(t.ContainerID(runningContainer.ID)) if err != nil { return nil, err } @@ -137,10 +137,10 @@ func (client dockerClient) createListFilter() filters.Args { return filterArgs } -func (client dockerClient) GetContainer(containerID string) (Container, error) { +func (client dockerClient) GetContainer(containerID t.ContainerID) (Container, error) { bg := context.Background() - containerInfo, err := client.api.ContainerInspect(bg, containerID) + containerInfo, err := client.api.ContainerInspect(bg, string(containerID)) if err != nil { return Container{}, err } @@ -161,11 +161,12 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err signal = defaultStopSignal } - shortID := ShortID(c.ID()) + idStr := string(c.ID()) + shortID := c.ID().ShortID() if c.IsRunning() { log.Infof("Stopping %s (%s) with %s", c.Name(), shortID, signal) - if err := client.api.ContainerKill(bg, c.ID(), signal); err != nil { + if err := client.api.ContainerKill(bg, idStr, signal); err != nil { return err } } @@ -178,7 +179,7 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err } else { log.Debugf("Removing container %s", shortID) - if err := client.api.ContainerRemove(bg, c.ID(), types.ContainerRemoveOptions{Force: true, RemoveVolumes: client.removeVolumes}); err != nil { + if err := client.api.ContainerRemove(bg, idStr, types.ContainerRemoveOptions{Force: true, RemoveVolumes: client.removeVolumes}); err != nil { return err } } @@ -191,7 +192,7 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err return nil } -func (client dockerClient) StartContainer(c Container) (string, error) { +func (client dockerClient) StartContainer(c Container) (t.ContainerID, error) { bg := context.Background() config := c.runtimeConfig() hostConfig := c.hostConfig() @@ -234,18 +235,19 @@ func (client dockerClient) StartContainer(c Container) (string, error) { } + createdContainerID := t.ContainerID(createdContainer.ID) if !c.IsRunning() && !client.reviveStopped { - return createdContainer.ID, nil + return createdContainerID, nil } - return createdContainer.ID, client.doStartContainer(bg, c, createdContainer) + return createdContainerID, client.doStartContainer(bg, c, createdContainer) } func (client dockerClient) doStartContainer(bg context.Context, c Container, creation container.ContainerCreateCreatedBody) error { name := c.Name() - log.Debugf("Starting container %s (%s)", name, ShortID(creation.ID)) + log.Debugf("Starting container %s (%s)", name, t.ContainerID(creation.ID).ShortID()) err := client.api.ContainerStart(bg, creation.ID, types.ContainerStartOptions{}) if err != nil { return err @@ -255,38 +257,39 @@ func (client dockerClient) doStartContainer(bg context.Context, c Container, cre func (client dockerClient) RenameContainer(c Container, newName string) error { bg := context.Background() - log.Debugf("Renaming container %s (%s) to %s", c.Name(), ShortID(c.ID()), newName) - return client.api.ContainerRename(bg, c.ID(), newName) + log.Debugf("Renaming container %s (%s) to %s", c.Name(), c.ID().ShortID(), newName) + return client.api.ContainerRename(bg, string(c.ID()), newName) } -func (client dockerClient) IsContainerStale(container Container) (bool, error) { +func (client dockerClient) IsContainerStale(container Container) (stale bool, latestImage t.ImageID, err error) { ctx := context.Background() if !client.pullImages { log.Debugf("Skipping image pull.") } else if err := client.PullImage(ctx, container); err != nil { - return false, err + return false, container.SafeImageID(), err } return client.HasNewImage(ctx, container) } -func (client dockerClient) HasNewImage(ctx context.Context, container Container) (bool, error) { - oldImageID := container.containerInfo.ContainerJSONBase.Image +func (client dockerClient) HasNewImage(ctx context.Context, container Container) (hasNew bool, latestImage t.ImageID, err error) { + currentImageID := t.ImageID(container.containerInfo.ContainerJSONBase.Image) imageName := container.ImageName() newImageInfo, _, err := client.api.ImageInspectWithRaw(ctx, imageName) if err != nil { - return false, err + return false, currentImageID, err } - if newImageInfo.ID == oldImageID { + newImageID := t.ImageID(newImageInfo.ID) + if newImageID == currentImageID { log.Debugf("No new images found for %s", container.Name()) - return false, nil + return false, currentImageID, nil } - log.Infof("Found new %s image (%s)", imageName, ShortID(newImageInfo.ID)) - return true, nil + log.Infof("Found new %s image (%s)", imageName, newImageID.ShortID()) + return true, newImageID, nil } // PullImage pulls the latest image for the supplied container, optionally skipping if it's digest can be confirmed @@ -343,12 +346,12 @@ func (client dockerClient) PullImage(ctx context.Context, container Container) e return nil } -func (client dockerClient) RemoveImageByID(id string) error { - log.Infof("Removing image %s", ShortID(id)) +func (client dockerClient) RemoveImageByID(id t.ImageID) error { + log.Infof("Removing image %s", id.ShortID()) _, err := client.api.ImageRemove( context.Background(), - id, + string(id), types.ImageRemoveOptions{ Force: true, }) @@ -356,7 +359,7 @@ func (client dockerClient) RemoveImageByID(id string) error { return err } -func (client dockerClient) ExecuteCommand(containerID string, command string, timeout int) (SkipUpdate bool, err error) { +func (client dockerClient) ExecuteCommand(containerID t.ContainerID, command string, timeout int) (SkipUpdate bool, err error) { bg := context.Background() // Create the exec @@ -366,7 +369,7 @@ func (client dockerClient) ExecuteCommand(containerID string, command string, ti Cmd: []string{"sh", "-c", command}, } - exec, err := client.api.ContainerExecCreate(bg, containerID, execConfig) + exec, err := client.api.ContainerExecCreate(bg, string(containerID), execConfig) if err != nil { return false, err } @@ -462,7 +465,7 @@ func (client dockerClient) waitForStopOrTimeout(c Container, waitTime time.Durat case <-timeout: return nil default: - if ci, err := client.api.ContainerInspect(bg, c.ID()); err != nil { + if ci, err := client.api.ContainerInspect(bg, string(c.ID())); err != nil { return err } else if !ci.State.Running { return nil diff --git a/pkg/container/container.go b/pkg/container/container.go index 42fa917..4ea3e9f 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -6,6 +6,7 @@ import ( "strings" "github.com/containrrr/watchtower/internal/util" + wt "github.com/containrrr/watchtower/pkg/types" "github.com/docker/docker/api/types" dockercontainer "github.com/docker/docker/api/types/container" @@ -35,8 +36,8 @@ func (c Container) ContainerInfo() *types.ContainerJSON { } // ID returns the Docker container ID. -func (c Container) ID() string { - return c.containerInfo.ID +func (c Container) ID() wt.ContainerID { + return wt.ContainerID(c.containerInfo.ID) } // IsRunning returns a boolean flag indicating whether or not the current @@ -59,9 +60,18 @@ func (c Container) Name() string { } // ImageID returns the ID of the Docker image that was used to start the -// container. -func (c Container) ImageID() string { - return c.imageInfo.ID +// container. May cause nil dereference if imageInfo is not set! +func (c Container) ImageID() wt.ImageID { + return wt.ImageID(c.imageInfo.ID) +} + +// SafeImageID returns the ID of the Docker image that was used to start the container if available, +// otherwise returns an empty string +func (c Container) SafeImageID() wt.ImageID { + if c.imageInfo == nil { + return "" + } + return wt.ImageID(c.imageInfo.ID) } // ImageName returns the name of the Docker image that was used to start the diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 8f22044..843169b 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -204,8 +204,8 @@ var _ = Describe("the container", func() { It("should return its ID on calls to .ID()", func() { id := c.ID() - Expect(id).To(Equal("container_id")) - Expect(id).NotTo(Equal("wrong-id")) + Expect(id).To(BeEquivalentTo("container_id")) + Expect(id).NotTo(BeEquivalentTo("wrong-id")) }) It("should return true, true if enabled on calls to .Enabled()", func() { enabled, exists := c.Enabled() diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index 35b52e2..e192496 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -25,13 +25,13 @@ func NewMockAPIServer() *httptest.Server { Filters := r.URL.Query().Get("filters") var result map[string]interface{} - json.Unmarshal([]byte(Filters), &result) + _ = json.Unmarshal([]byte(Filters), &result) status := result["status"].(map[string]interface{}) response = getMockJSONFromDisk("./mocks/data/containers.json") var x2 []types.Container var containers []types.Container - json.Unmarshal([]byte(response), &containers) + _ = json.Unmarshal([]byte(response), &containers) for _, v := range containers { for key := range status { if v.State == key { @@ -56,7 +56,7 @@ func NewMockAPIServer() *httptest.Server { } else if isRequestFor("sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", r) { response = getMockJSONFromDisk("./mocks/data/image02.json") } - fmt.Fprintln(w, response) + _, _ = fmt.Fprintln(w, response) }, )) } @@ -67,10 +67,9 @@ func isRequestFor(urlPart string, r *http.Request) bool { func getMockJSONFromDisk(relPath string) string { absPath, _ := filepath.Abs(relPath) - logrus.Error(absPath) buf, err := ioutil.ReadFile(absPath) if err != nil { - logrus.Error(err) + logrus.WithError(err).WithField("file", absPath).Error(err) return "" } return string(buf) diff --git a/pkg/container/util.go b/pkg/container/util.go deleted file mode 100644 index 261316f..0000000 --- a/pkg/container/util.go +++ /dev/null @@ -1,23 +0,0 @@ -package container - -import "strings" - -// ShortID returns the 12-character (hex) short version of an image ID hash, removing any "sha256:" prefix if present -func ShortID(imageID string) (short string) { - prefixSep := strings.IndexRune(imageID, ':') - offset := 0 - length := 12 - if prefixSep >= 0 { - if imageID[0:prefixSep] == "sha256" { - offset = prefixSep + 1 - } else { - length += prefixSep + 1 - } - } - - if len(imageID) >= offset+length { - return imageID[offset : offset+length] - } - - return imageID -} diff --git a/pkg/container/util_test.go b/pkg/container/util_test.go index 8cb0328..00912ba 100644 --- a/pkg/container/util_test.go +++ b/pkg/container/util_test.go @@ -1,10 +1,9 @@ package container_test import ( + wt "github.com/containrrr/watchtower/pkg/types" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - - . "github.com/containrrr/watchtower/pkg/container" ) var _ = Describe("container utils", func() { @@ -12,13 +11,13 @@ var _ = Describe("container utils", func() { When("given a normal image ID", func() { When("it contains a sha256 prefix", func() { It("should return that ID in short version", func() { - actual := ShortID("sha256:0123456789abcd00000000001111111111222222222233333333334444444444") + actual := shortID("sha256:0123456789abcd00000000001111111111222222222233333333334444444444") Expect(actual).To(Equal("0123456789ab")) }) }) When("it doesn't contain a prefix", func() { It("should return that ID in short version", func() { - actual := ShortID("0123456789abcd00000000001111111111222222222233333333334444444444") + actual := shortID("0123456789abcd00000000001111111111222222222233333333334444444444") Expect(actual).To(Equal("0123456789ab")) }) }) @@ -26,21 +25,26 @@ var _ = Describe("container utils", func() { When("given a short image ID", func() { When("it contains no prefix", func() { It("should return the same string", func() { - Expect(ShortID("0123456789ab")).To(Equal("0123456789ab")) + Expect(shortID("0123456789ab")).To(Equal("0123456789ab")) }) }) When("it contains a the sha256 prefix", func() { It("should return the ID without the prefix", func() { - Expect(ShortID("sha256:0123456789ab")).To(Equal("0123456789ab")) + Expect(shortID("sha256:0123456789ab")).To(Equal("0123456789ab")) }) }) }) When("given an ID with an unknown prefix", func() { It("should return a short version of that ID including the prefix", func() { - Expect(ShortID("md5:0123456789ab")).To(Equal("md5:0123456789ab")) - Expect(ShortID("md5:0123456789abcdefg")).To(Equal("md5:0123456789ab")) - Expect(ShortID("md5:01")).To(Equal("md5:01")) + Expect(shortID("md5:0123456789ab")).To(Equal("md5:0123456789ab")) + Expect(shortID("md5:0123456789abcdefg")).To(Equal("md5:0123456789ab")) + Expect(shortID("md5:01")).To(Equal("md5:01")) }) }) }) }) + +func shortID(id string) string { + // Proxy to the types implementation, relocated due to package dependency resolution + return wt.ImageID(id).ShortID() +} diff --git a/pkg/lifecycle/lifecycle.go b/pkg/lifecycle/lifecycle.go index 9f9488c..f99913b 100644 --- a/pkg/lifecycle/lifecycle.go +++ b/pkg/lifecycle/lifecycle.go @@ -12,8 +12,8 @@ func ExecutePreChecks(client container.Client, params types.UpdateParams) { if err != nil { return } - for _, container := range containers { - ExecutePreCheckCommand(client, container) + for _, currentContainer := range containers { + ExecutePreCheckCommand(client, currentContainer) } } @@ -23,8 +23,8 @@ func ExecutePostChecks(client container.Client, params types.UpdateParams) { if err != nil { return } - for _, container := range containers { - ExecutePostCheckCommand(client, container) + for _, currentContainer := range containers { + ExecutePostCheckCommand(client, currentContainer) } } @@ -37,8 +37,8 @@ func ExecutePreCheckCommand(client container.Client, container container.Contain } log.Debug("Executing pre-check command.") - _,err := client.ExecuteCommand(container.ID(), command, 1); - if err != nil { + _, err := client.ExecuteCommand(container.ID(), command, 1) + if err != nil { log.Error(err) } } @@ -52,24 +52,24 @@ func ExecutePostCheckCommand(client container.Client, container container.Contai } log.Debug("Executing post-check command.") - _,err := client.ExecuteCommand(container.ID(), command, 1); + _, err := client.ExecuteCommand(container.ID(), command, 1) if err != nil { log.Error(err) } } // ExecutePreUpdateCommand tries to run the pre-update lifecycle hook for a single container. -func ExecutePreUpdateCommand(client container.Client, container container.Container) (SkipUpdate bool,err error) { +func ExecutePreUpdateCommand(client container.Client, container container.Container) (SkipUpdate bool, err error) { timeout := container.PreUpdateTimeout() command := container.GetLifecyclePreUpdateCommand() if len(command) == 0 { log.Debug("No pre-update command supplied. Skipping") - return false,nil + return false, nil } if !container.IsRunning() || container.IsRestarting() { log.Debug("Container is not running. Skipping pre-update command.") - return false,nil + return false, nil } log.Debug("Executing pre-update command.") @@ -77,7 +77,7 @@ func ExecutePreUpdateCommand(client container.Client, container container.Contai } // ExecutePostUpdateCommand tries to run the post-update lifecycle hook for a single container. -func ExecutePostUpdateCommand(client container.Client, newContainerID string) { +func ExecutePostUpdateCommand(client container.Client, newContainerID types.ContainerID) { newContainer, err := client.GetContainer(newContainerID) if err != nil { log.Error(err) @@ -91,9 +91,9 @@ func ExecutePostUpdateCommand(client container.Client, newContainerID string) { } log.Debug("Executing post-update command.") - _,err = client.ExecuteCommand(newContainerID, command, 1); + _, err = client.ExecuteCommand(newContainerID, command, 1) - if err != nil { + if err != nil { log.Error(err) } } diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index d8761ba..b681733 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -1,6 +1,7 @@ package metrics import ( + "github.com/containrrr/watchtower/pkg/types" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" ) @@ -24,6 +25,16 @@ type Metrics struct { skipped prometheus.Counter } +// NewMetric returns a Metric with the counts taken from the appropriate types.Report fields +func NewMetric(report types.Report) *Metric { + return &Metric{ + Scanned: len(report.Scanned()), + // Note: This is for backwards compatibility. ideally, stale containers should be counted separately + Updated: len(report.Updated()) + len(report.Stale()), + Failed: len(report.Failed()), + } +} + // QueueIsEmpty checks whether any messages are enqueued in the channel func (metrics *Metrics) QueueIsEmpty() bool { return len(metrics.channel) == 0 diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index e26ca97..6a61dd1 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -25,11 +25,6 @@ type emailTypeNotifier struct { delay time.Duration } -// NewEmailNotifier is a factory method creating a new email notifier instance -func NewEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { - return newEmailNotifier(c, acceptedLogLevels) -} - func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { flags := c.PersistentFlags() diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index 85f59b1..6f01000 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -22,11 +22,6 @@ type gotifyTypeNotifier struct { logLevels []log.Level } -// NewGotifyNotifier is a factory method creating a new gotify notifier instance -func NewGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertibleNotifier { - return newGotifyNotifier(c, levels) -} - func newGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertibleNotifier { flags := c.PersistentFlags() diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index 282ce05..b95a99e 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -18,11 +18,6 @@ type msTeamsTypeNotifier struct { data bool } -// NewMsTeamsNotifier is a factory method creating a new teams notifier instance -func NewMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { - return newMsTeamsNotifier(cmd, acceptedLogLevels) -} - func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { flags := cmd.PersistentFlags() diff --git a/pkg/notifications/notifications_suite_test.go b/pkg/notifications/notifications_suite_test.go new file mode 100644 index 0000000..1b77c2a --- /dev/null +++ b/pkg/notifications/notifications_suite_test.go @@ -0,0 +1,13 @@ +package notifications_test + +import ( + "testing" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +func TestNotifications(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Notifications Suite") +} diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index 358c5f3..e1cb5e7 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -6,18 +6,10 @@ import ( log "github.com/sirupsen/logrus" "github.com/spf13/cobra" "os" - "strings" ) -// Notifier can send log output as notification to admins, with optional batching. -type Notifier struct { - types []ty.Notifier -} - // NewNotifier creates and returns a new Notifier, using global configuration. -func NewNotifier(c *cobra.Command) *Notifier { - n := &Notifier{} - +func NewNotifier(c *cobra.Command) ty.Notifier { f := c.PersistentFlags() level, _ := f.GetString("notifications-level") @@ -32,54 +24,26 @@ func NewNotifier(c *cobra.Command) *Notifier { log.Fatalf("Unsupported notification log level provided: %s", level) } + reportTemplate, _ := f.GetBool("notification-report") + tplString, _ := f.GetString("notification-template") + urls, _ := f.GetStringArray("notification-url") + + urls = AppendLegacyUrls(urls, c) + + return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, urls...) +} + +// AppendLegacyUrls creates shoutrrr equivalent URLs from legacy notification flags +func AppendLegacyUrls(urls []string, cmd *cobra.Command) []string { + // Parse types and create notifiers. - types, err := f.GetStringSlice("notifications") + types, err := cmd.Flags().GetStringSlice("notifications") if err != nil { - log.WithField("could not read notifications argument", log.Fields{"Error": err}).Fatal() + log.WithError(err).Fatal("could not read notifications argument") } - n.types = n.getNotificationTypes(c, acceptedLogLevels, types) - - return n -} - -func (n *Notifier) String() string { - if len(n.types) < 1 { - return "" - } - - sb := strings.Builder{} - for _, notif := range n.types { - for _, name := range notif.GetNames() { - sb.WriteString(name) - sb.WriteString(", ") - } - } - - if sb.Len() < 2 { - // No notification services are configured, return early as the separator strip is not applicable - return "none" - } - - names := sb.String() - - // remove the last separator - names = names[:len(names)-2] - - return names -} - -// getNotificationTypes produces an array of notifiers from a list of types -func (n *Notifier) getNotificationTypes(cmd *cobra.Command, levels []log.Level, types []string) []ty.Notifier { - output := make([]ty.Notifier, 0) - for _, t := range types { - if t == shoutrrrType { - output = append(output, newShoutrrrNotifier(cmd, levels)) - continue - } - var legacyNotifier ty.ConvertibleNotifier var err error @@ -89,9 +53,11 @@ func (n *Notifier) getNotificationTypes(cmd *cobra.Command, levels []log.Level, case slackType: legacyNotifier = newSlackNotifier(cmd, []log.Level{}) case msTeamsType: - legacyNotifier = newMsTeamsNotifier(cmd, levels) + legacyNotifier = newMsTeamsNotifier(cmd, []log.Level{}) case gotifyType: legacyNotifier = newGotifyNotifier(cmd, []log.Level{}) + case shoutrrrType: + continue default: log.Fatalf("Unknown notification type %q", t) // Not really needed, used for nil checking static analysis @@ -102,40 +68,11 @@ func (n *Notifier) getNotificationTypes(cmd *cobra.Command, levels []log.Level, if err != nil { log.Fatal("failed to create notification config:", err) } + urls = append(urls, shoutrrrURL) log.WithField("URL", shoutrrrURL).Trace("created Shoutrrr URL from legacy notifier") - - notifier := newShoutrrrNotifierFromURL( - cmd, - shoutrrrURL, - levels, - ) - - output = append(output, notifier) - } - - return output -} - -// StartNotification starts a log batch. Notifications will be accumulated after this point and only sent when SendNotification() is called. -func (n *Notifier) StartNotification() { - for _, t := range n.types { - t.StartNotification() - } -} - -// SendNotification sends any notifications accumulated since StartNotification() was called. -func (n *Notifier) SendNotification() { - for _, t := range n.types { - t.SendNotification() - } -} - -// Close closes all notifiers. -func (n *Notifier) Close() { - for _, t := range n.types { - t.Close() } + return urls } // GetTitle returns a common notification title with hostname appended diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index f95ecbc..58c1ebb 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -4,24 +4,14 @@ import ( "fmt" "net/url" "os" - "testing" "github.com/containrrr/watchtower/cmd" "github.com/containrrr/watchtower/internal/flags" "github.com/containrrr/watchtower/pkg/notifications" - "github.com/containrrr/watchtower/pkg/types" - . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - log "github.com/sirupsen/logrus" - "github.com/spf13/cobra" ) -func TestActions(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Notifier Suite") -} - var _ = Describe("notifications", func() { Describe("the notifier", func() { When("only empty notifier types are provided", func() { @@ -36,11 +26,11 @@ var _ = Describe("notifications", func() { Expect(err).NotTo(HaveOccurred()) notif := notifications.NewNotifier(command) - Expect(notif.String()).To(Equal("none")) + Expect(notif.GetNames()).To(BeEmpty()) }) }) Describe("the slack notifier", func() { - builderFn := notifications.NewSlackNotifier + // builderFn := notifications.NewSlackNotifier When("passing a discord url to the slack notifier", func() { command := cmd.NewRootCommand() @@ -62,11 +52,11 @@ var _ = Describe("notifications", func() { It("should return a discord url when using a hook url with the domain discord.com", func() { hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discord.com", channel, token) - testURL(builderFn, buildArgs(hookURL), expected) + testURL(buildArgs(hookURL), expected) }) It("should return a discord url when using a hook url with the domain discordapp.com", func() { hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discordapp.com", channel, token) - testURL(builderFn, buildArgs(hookURL), expected) + testURL(buildArgs(hookURL), expected) }) }) When("converting a slack service config into a shoutrrr url", func() { @@ -86,21 +76,21 @@ var _ = Describe("notifications", func() { expectedOutput := fmt.Sprintf("slack://%s@%s/%s/%s?color=%s&title=%s", username, tokenA, tokenB, tokenC, color, title) args := []string{ + "--notifications", + "slack", "--notification-slack-hook-url", hookURL, "--notification-slack-identifier", username, } - testURL(builderFn, args, expectedOutput) + testURL(args, expectedOutput) }) }) }) Describe("the gotify notifier", func() { When("converting a gotify service config into a shoutrrr url", func() { - builderFn := notifications.NewGotifyNotifier - It("should return the expected URL", func() { command := cmd.NewRootCommand() flags.RegisterNotificationFlags(command) @@ -112,21 +102,21 @@ var _ = Describe("notifications", func() { expectedOutput := fmt.Sprintf("gotify://%s/%s?title=%s", host, token, title) args := []string{ + "--notifications", + "gotify", "--notification-gotify-url", fmt.Sprintf("https://%s", host), "--notification-gotify-token", token, } - testURL(builderFn, args, expectedOutput) + testURL(args, expectedOutput) }) }) }) Describe("the teams notifier", func() { When("converting a teams service config into a shoutrrr url", func() { - builderFn := notifications.NewMsTeamsNotifier - It("should return the expected URL", func() { command := cmd.NewRootCommand() flags.RegisterNotificationFlags(command) @@ -141,24 +131,25 @@ var _ = Describe("notifications", func() { expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s&title=%s", tokenA, tokenB, tokenC, color, title) args := []string{ + "--notifications", + "msteams", "--notification-msteams-hook", hookURL, } - testURL(builderFn, args, expectedOutput) + testURL(args, expectedOutput) }) }) }) Describe("the email notifier", func() { - - builderFn := notifications.NewEmailNotifier - When("converting an email service config into a shoutrrr url", func() { It("should set the from address in the URL", func() { fromAddress := "lala@example.com" expectedOutput := buildExpectedURL("containrrrbot", "secret-password", "mail.containrrr.dev", 25, fromAddress, "mail@example.com", "Plain") args := []string{ + "--notifications", + "email", "--notification-email-from", fromAddress, "--notification-email-to", @@ -170,7 +161,7 @@ var _ = Describe("notifications", func() { "--notification-email-server", "mail.containrrr.dev", } - testURL(builderFn, args, expectedOutput) + testURL(args, expectedOutput) }) It("should return the expected URL", func() { @@ -180,6 +171,8 @@ var _ = Describe("notifications", func() { expectedOutput := buildExpectedURL("containrrrbot", "secret-password", "mail.containrrr.dev", 25, fromAddress, toAddress, "Plain") args := []string{ + "--notifications", + "email", "--notification-email-from", fromAddress, "--notification-email-to", @@ -192,7 +185,7 @@ var _ = Describe("notifications", func() { "mail.containrrr.dev", } - testURL(builderFn, args, expectedOutput) + testURL(args, expectedOutput) }) }) }) @@ -214,9 +207,7 @@ func buildExpectedURL(username string, password string, host string, port int, f url.QueryEscape(to)) } -type builderFn = func(c *cobra.Command, acceptedLogLevels []log.Level) types.ConvertibleNotifier - -func testURL(builder builderFn, args []string, expectedURL string) { +func testURL(args []string, expectedURL string) { command := cmd.NewRootCommand() flags.RegisterNotificationFlags(command) @@ -224,10 +215,9 @@ func testURL(builder builderFn, args []string, expectedURL string) { err := command.ParseFlags(args) Expect(err).NotTo(HaveOccurred()) - notifier := builder(command, []log.Level{}) - actualURL, err := notifier.GetURL(command) + urls := notifications.AppendLegacyUrls([]string{}, command) Expect(err).NotTo(HaveOccurred()) - Expect(actualURL).To(Equal(expectedURL)) + Expect(urls).To(ContainElement(expectedURL)) } diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index 087e4d6..41ef126 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -11,12 +11,26 @@ import ( "github.com/containrrr/shoutrrr/pkg/types" t "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" - "github.com/spf13/cobra" ) const ( - shoutrrrDefaultTemplate = "{{range .}}{{.Message}}{{println}}{{end}}" - shoutrrrType = "shoutrrr" + shoutrrrDefaultLegacyTemplate = "{{range .}}{{.Message}}{{println}}{{end}}" + shoutrrrDefaultTemplate = `{{- with .Report -}} +{{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed +{{range .Updated -}} +- {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}} +{{end -}} +{{range .Fresh -}} +- {{.Name}} ({{.ImageName}}): {{.State}} +{{end -}} +{{range .Skipped -}} +- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} +{{end -}} +{{range .Failed -}} +- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} +{{end -}} +{{end -}}` + shoutrrrType = "shoutrrr" ) type router interface { @@ -25,41 +39,49 @@ type router interface { // Implements Notifier, logrus.Hook type shoutrrrTypeNotifier struct { - Urls []string - Router router - entries []*log.Entry - logLevels []log.Level - template *template.Template - messages chan string - done chan bool + Urls []string + Router router + entries []*log.Entry + logLevels []log.Level + template *template.Template + messages chan string + done chan bool + legacyTemplate bool +} + +// GetScheme returns the scheme part of a Shoutrrr URL +func GetScheme(url string) string { + schemeEnd := strings.Index(url, ":") + if schemeEnd <= 0 { + return "invalid" + } + return url[:schemeEnd] } func (n *shoutrrrTypeNotifier) GetNames() []string { names := make([]string, len(n.Urls)) for i, u := range n.Urls { - schemeEnd := strings.Index(u, ":") - if schemeEnd <= 0 { - names[i] = "invalid" - continue - } - names[i] = u[:schemeEnd] + names[i] = GetScheme(u) } return names } -func newShoutrrrNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Notifier { - flags := c.PersistentFlags() - urls, _ := flags.GetStringArray("notification-url") - tpl := getShoutrrrTemplate(c) - return createSender(urls, acceptedLogLevels, tpl) +func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, urls ...string) t.Notifier { + + notifier := createNotifier(urls, acceptedLogLevels, tplString, legacy) + log.AddHook(notifier) + + // Do the sending in a separate goroutine so we don't block the main process. + go sendNotifications(notifier) + + return notifier } -func newShoutrrrNotifierFromURL(c *cobra.Command, url string, levels []log.Level) t.Notifier { - tpl := getShoutrrrTemplate(c) - return createSender([]string{url}, levels, tpl) -} - -func createSender(urls []string, levels []log.Level, template *template.Template) t.Notifier { +func createNotifier(urls []string, levels []log.Level, tplString string, legacy bool) *shoutrrrTypeNotifier { + tpl, err := getShoutrrrTemplate(tplString, legacy) + if err != nil { + log.Errorf("Could not use configured notification template: %s. Using default template", err) + } traceWriter := log.StandardLogger().WriterLevel(log.TraceLevel) r, err := shoutrrr.NewSender(stdlog.New(traceWriter, "Shoutrrr: ", 0), urls...) @@ -67,21 +89,15 @@ func createSender(urls []string, levels []log.Level, template *template.Template log.Fatalf("Failed to initialize Shoutrrr notifications: %s\n", err.Error()) } - n := &shoutrrrTypeNotifier{ - Urls: urls, - Router: r, - messages: make(chan string, 1), - done: make(chan bool), - logLevels: levels, - template: template, + return &shoutrrrTypeNotifier{ + Urls: urls, + Router: r, + messages: make(chan string, 1), + done: make(chan bool), + logLevels: levels, + template: tpl, + legacyTemplate: legacy, } - - log.AddHook(n) - - // Do the sending in a separate goroutine so we don't block the main process. - go sendNotifications(n) - - return n } func sendNotifications(n *shoutrrrTypeNotifier) { @@ -90,8 +106,9 @@ func sendNotifications(n *shoutrrrTypeNotifier) { for i, err := range errs { if err != nil { + scheme := GetScheme(n.Urls[i]) // Use fmt so it doesn't trigger another notification. - fmt.Println("Failed to send notification via shoutrrr (url="+n.Urls[i]+"): ", err) + fmt.Printf("Failed to send shoutrrr notification (#%d, %s): %v\n", i, scheme, err) } } } @@ -99,17 +116,21 @@ func sendNotifications(n *shoutrrrTypeNotifier) { n.done <- true } -func (n *shoutrrrTypeNotifier) buildMessage(entries []*log.Entry) string { +func (n *shoutrrrTypeNotifier) buildMessage(data Data) string { var body bytes.Buffer - if err := n.template.Execute(&body, entries); err != nil { + var templateData interface{} = data + if n.legacyTemplate { + templateData = data.Entries + } + if err := n.template.Execute(&body, templateData); err != nil { fmt.Printf("Failed to execute Shoutrrrr template: %s\n", err.Error()) } return body.String() } -func (n *shoutrrrTypeNotifier) sendEntries(entries []*log.Entry) { - msg := n.buildMessage(entries) +func (n *shoutrrrTypeNotifier) sendEntries(entries []*log.Entry, report t.Report) { + msg := n.buildMessage(Data{entries, report}) n.messages <- msg } @@ -119,12 +140,12 @@ func (n *shoutrrrTypeNotifier) StartNotification() { } } -func (n *shoutrrrTypeNotifier) SendNotification() { - if n.entries == nil || len(n.entries) <= 0 { - return - } +func (n *shoutrrrTypeNotifier) SendNotification(report t.Report) { + //if n.entries == nil || len(n.entries) <= 0 { + // return + //} - n.sendEntries(n.entries) + n.sendEntries(n.entries, report) n.entries = nil } @@ -146,36 +167,23 @@ func (n *shoutrrrTypeNotifier) Fire(entry *log.Entry) error { n.entries = append(n.entries, entry) } else { // Log output generated outside a cycle is sent immediately. - n.sendEntries([]*log.Entry{entry}) + n.sendEntries([]*log.Entry{entry}, nil) } return nil } -func getShoutrrrTemplate(c *cobra.Command) *template.Template { - var tpl *template.Template - - flags := c.PersistentFlags() - - tplString, err := flags.GetString("notification-template") - +func getShoutrrrTemplate(tplString string, legacy bool) (tpl *template.Template, err error) { funcs := template.FuncMap{ "ToUpper": strings.ToUpper, "ToLower": strings.ToLower, "Title": strings.Title, } + tplBase := template.New("").Funcs(funcs) // If we succeed in getting a non-empty template configuration // try to parse the template string. - if tplString != "" && err == nil { - tpl, err = template.New("").Funcs(funcs).Parse(tplString) - } - - // In case of errors (either from parsing the template string - // or from getting the template configuration) log an error - // message about this and the fact that we'll use the default - // template instead. - if err != nil { - log.Errorf("Could not use configured notification template: %s. Using default template", err) + if tplString != "" { + tpl, err = tplBase.Parse(tplString) } // If we had an error (either from parsing the template string @@ -183,8 +191,19 @@ func getShoutrrrTemplate(c *cobra.Command) *template.Template { // template wasn't configured (the empty template string) // fallback to using the default template. if err != nil || tplString == "" { - tpl = template.Must(template.New("").Funcs(funcs).Parse(shoutrrrDefaultTemplate)) + defaultTemplate := shoutrrrDefaultTemplate + if legacy { + defaultTemplate = shoutrrrDefaultLegacyTemplate + } + + tpl = template.Must(tplBase.Parse(defaultTemplate)) } - return tpl + return +} + +// Data is the notification template data model +type Data struct { + Entries []*log.Entry + Report t.Report } diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index 47334af..e92655c 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -2,169 +2,226 @@ package notifications import ( "github.com/containrrr/shoutrrr/pkg/types" - "testing" - "text/template" - + "github.com/containrrr/watchtower/internal/actions/mocks" "github.com/containrrr/watchtower/internal/flags" - log "github.com/sirupsen/logrus" + s "github.com/containrrr/watchtower/pkg/session" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "github.com/onsi/gomega/gbytes" + + "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "github.com/stretchr/testify/require" ) -func TestShoutrrrDefaultTemplate(t *testing.T) { - cmd := new(cobra.Command) - - shoutrrr := &shoutrrrTypeNotifier{ - template: getShoutrrrTemplate(cmd), - } - - entries := []*log.Entry{ +var legacyMockData = Data{ + Entries: []*logrus.Entry{ { - Message: "foo bar", - }, - } - - s := shoutrrr.buildMessage(entries) - - require.Equal(t, "foo bar\n", s) -} - -func TestShoutrrrTemplate(t *testing.T) { - cmd := new(cobra.Command) - flags.RegisterNotificationFlags(cmd) - err := cmd.ParseFlags([]string{"--notification-template={{range .}}{{.Level}}: {{.Message}}{{println}}{{end}}"}) - - require.NoError(t, err) - - shoutrrr := &shoutrrrTypeNotifier{ - template: getShoutrrrTemplate(cmd), - } - - entries := []*log.Entry{ - { - Level: log.InfoLevel, - Message: "foo bar", - }, - } - - s := shoutrrr.buildMessage(entries) - - require.Equal(t, "info: foo bar\n", s) -} - -func TestShoutrrrStringFunctions(t *testing.T) { - cmd := new(cobra.Command) - flags.RegisterNotificationFlags(cmd) - err := cmd.ParseFlags([]string{"--notification-template={{range .}}{{.Level | printf \"%v\" | ToUpper }}: {{.Message | ToLower }} {{.Message | Title }}{{println}}{{end}}"}) - - require.NoError(t, err) - - shoutrrr := &shoutrrrTypeNotifier{ - template: getShoutrrrTemplate(cmd), - } - - entries := []*log.Entry{ - { - Level: log.InfoLevel, + Level: logrus.InfoLevel, Message: "foo Bar", }, - } - - s := shoutrrr.buildMessage(entries) - - require.Equal(t, "INFO: foo bar Foo Bar\n", s) + }, } -func TestShoutrrrInvalidTemplateUsesTemplate(t *testing.T) { - cmd := new(cobra.Command) - - flags.RegisterNotificationFlags(cmd) - err := cmd.ParseFlags([]string{"--notification-template={{"}) - - require.NoError(t, err) - - shoutrrr := &shoutrrrTypeNotifier{ - template: getShoutrrrTemplate(cmd), +func mockDataFromStates(states ...s.State) Data { + return Data{ + Entries: legacyMockData.Entries, + Report: mocks.CreateMockProgressReport(states...), } - - shoutrrrDefault := &shoutrrrTypeNotifier{ - template: template.Must(template.New("").Parse(shoutrrrDefaultTemplate)), - } - - entries := []*log.Entry{ - { - Message: "foo bar", - }, - } - - s := shoutrrr.buildMessage(entries) - sd := shoutrrrDefault.buildMessage(entries) - - require.Equal(t, sd, s) } +var _ = Describe("Shoutrrr", func() { + var logBuffer *gbytes.Buffer + + BeforeEach(func() { + logBuffer = gbytes.NewBuffer() + logrus.SetOutput(logBuffer) + logrus.SetFormatter(&logrus.TextFormatter{ + DisableColors: true, + DisableTimestamp: true, + }) + }) + + When("using legacy templates", func() { + + When("no custom template is provided", func() { + It("should format the messages using the default template", func() { + cmd := new(cobra.Command) + flags.RegisterNotificationFlags(cmd) + + shoutrrr := createNotifier([]string{}, logrus.AllLevels, "", true) + + entries := []*logrus.Entry{ + { + Message: "foo bar", + }, + } + + s := shoutrrr.buildMessage(Data{Entries: entries}) + + Expect(s).To(Equal("foo bar\n")) + }) + }) + When("given a valid custom template", func() { + It("should format the messages using the custom template", func() { + + tplString := `{{range .}}{{.Level}}: {{.Message}}{{println}}{{end}}` + tpl, err := getShoutrrrTemplate(tplString, true) + Expect(err).ToNot(HaveOccurred()) + + shoutrrr := &shoutrrrTypeNotifier{ + template: tpl, + legacyTemplate: true, + } + + entries := []*logrus.Entry{ + { + Level: logrus.InfoLevel, + Message: "foo bar", + }, + } + + s := shoutrrr.buildMessage(Data{Entries: entries}) + + Expect(s).To(Equal("info: foo bar\n")) + }) + }) + + When("given an invalid custom template", func() { + It("should format the messages using the default template", func() { + invNotif, err := createNotifierWithTemplate(`{{ intentionalSyntaxError`, true) + Expect(err).To(HaveOccurred()) + + defNotif, err := createNotifierWithTemplate(``, true) + Expect(err).ToNot(HaveOccurred()) + + Expect(invNotif.buildMessage(legacyMockData)).To(Equal(defNotif.buildMessage(legacyMockData))) + }) + }) + + When("given a template that is using ToUpper function", func() { + It("should return the text in UPPER CASE", func() { + tplString := `{{range .}}{{ .Message | ToUpper }}{{end}}` + Expect(getTemplatedResult(tplString, true, legacyMockData)).To(Equal("FOO BAR")) + }) + }) + + When("given a template that is using ToLower function", func() { + It("should return the text in lower case", func() { + tplString := `{{range .}}{{ .Message | ToLower }}{{end}}` + Expect(getTemplatedResult(tplString, true, legacyMockData)).To(Equal("foo bar")) + }) + }) + + When("given a template that is using Title function", func() { + It("should return the text in Title Case", func() { + tplString := `{{range .}}{{ .Message | Title }}{{end}}` + Expect(getTemplatedResult(tplString, true, legacyMockData)).To(Equal("Foo Bar")) + }) + }) + + }) + + When("using report templates", func() { + + When("no custom template is provided", func() { + It("should format the messages using the default template", func() { + expected := `4 Scanned, 2 Updated, 1 Failed +- updt1 (mock/updt1:latest): 01d110000000 updated to d0a110000000 +- updt2 (mock/updt2:latest): 01d120000000 updated to d0a120000000 +- frsh1 (mock/frsh1:latest): Fresh +- skip1 (mock/skip1:latest): Skipped: unpossible +- fail1 (mock/fail1:latest): Failed: accidentally the whole container +` + data := mockDataFromStates(s.UpdatedState, s.FreshState, s.FailedState, s.SkippedState, s.UpdatedState) + Expect(getTemplatedResult(``, false, data)).To(Equal(expected)) + }) + + It("should format the messages using the default template", func() { + expected := `1 Scanned, 0 Updated, 0 Failed +- frsh1 (mock/frsh1:latest): Fresh +` + data := mockDataFromStates(s.FreshState) + Expect(getTemplatedResult(``, false, data)).To(Equal(expected)) + }) + }) + }) + + When("sending notifications", func() { + + It("SlowNotificationNotSent", func() { + _, blockingRouter := sendNotificationsWithBlockingRouter(true) + + Eventually(blockingRouter.sent).Should(Not(Receive())) + + }) + + It("SlowNotificationSent", func() { + shoutrrr, blockingRouter := sendNotificationsWithBlockingRouter(true) + + blockingRouter.unlock <- true + shoutrrr.Close() + + Eventually(blockingRouter.sent).Should(Receive(BeTrue())) + }) + }) +}) + type blockingRouter struct { unlock chan bool sent chan bool } -func (b blockingRouter) Send(message string, params *types.Params) []error { +func (b blockingRouter) Send(_ string, _ *types.Params) []error { _ = <-b.unlock b.sent <- true return nil } -func TestSlowNotificationNotSent(t *testing.T) { - _, blockingRouter := sendNotificationsWithBlockingRouter() - - notifSent := false - select { - case notifSent = <-blockingRouter.sent: - default: - } - - require.Equal(t, false, notifSent) -} - -func TestSlowNotificationSent(t *testing.T) { - shoutrrr, blockingRouter := sendNotificationsWithBlockingRouter() - - blockingRouter.unlock <- true - shoutrrr.Close() - - notifSent := false - select { - case notifSent = <-blockingRouter.sent: - default: - } - require.Equal(t, true, notifSent) -} - -func sendNotificationsWithBlockingRouter() (*shoutrrrTypeNotifier, *blockingRouter) { - cmd := new(cobra.Command) +func sendNotificationsWithBlockingRouter(legacy bool) (*shoutrrrTypeNotifier, *blockingRouter) { router := &blockingRouter{ unlock: make(chan bool, 1), sent: make(chan bool, 1), } + tpl, err := getShoutrrrTemplate("", legacy) + Expect(err).NotTo(HaveOccurred()) + shoutrrr := &shoutrrrTypeNotifier{ - template: getShoutrrrTemplate(cmd), - messages: make(chan string, 1), - done: make(chan bool), - Router: router, + template: tpl, + messages: make(chan string, 1), + done: make(chan bool), + Router: router, + legacyTemplate: legacy, } - entry := &log.Entry{ + entry := &logrus.Entry{ Message: "foo bar", } go sendNotifications(shoutrrr) shoutrrr.StartNotification() - shoutrrr.Fire(entry) + _ = shoutrrr.Fire(entry) - shoutrrr.SendNotification() + shoutrrr.SendNotification(nil) return shoutrrr, router } + +func createNotifierWithTemplate(tplString string, legacy bool) (*shoutrrrTypeNotifier, error) { + tpl, err := getShoutrrrTemplate(tplString, legacy) + + return &shoutrrrTypeNotifier{ + template: tpl, + legacyTemplate: legacy, + }, err +} + +func getTemplatedResult(tplString string, legacy bool, data Data) (string, error) { + notifier, err := createNotifierWithTemplate(tplString, legacy) + if err != nil { + return "", err + } + return notifier.buildMessage(data), err +} diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index 63cb44c..7f6e0d4 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -19,11 +19,6 @@ type slackTypeNotifier struct { slackrus.SlackrusHook } -// NewSlackNotifier is a factory function used to generate new instance of the slack notifier type -func NewSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { - return newSlackNotifier(c, acceptedLogLevels) -} - func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { flags := c.PersistentFlags() diff --git a/pkg/notifications/smtp.go b/pkg/notifications/smtp.go deleted file mode 100644 index 82954bc..0000000 --- a/pkg/notifications/smtp.go +++ /dev/null @@ -1,77 +0,0 @@ -// Package notifications ... -// Copyright 2010 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license. -package notifications - -import ( - "crypto/tls" - "net" - "net/smtp" -) - -// SendMail connects to the server at addr, switches to TLS if -// possible, authenticates with the optional mechanism a if possible, -// and then sends an email from address from, to addresses to, with -// message msg. -// The addr must include a port, as in "mail.example.com:smtp". -// -// The addresses in the to parameter are the SMTP RCPT addresses. -// -// The msg parameter should be an RFC 822-style email with headers -// first, a blank line, and then the message body. The lines of msg -// should be CRLF terminated. The msg headers should usually include -// fields such as "From", "To", "Subject", and "Cc". Sending "Bcc" -// messages is accomplished by including an email address in the to -// parameter but not including it in the msg headers. -// -// The SendMail function and the net/smtp package are low-level -// mechanisms and provide no support for DKIM signing, MIME -// attachments (see the mime/multipart package), or other mail -// functionality. Higher-level packages exist outside of the standard -// library. -func SendMail(addr string, insecureSkipVerify bool, a smtp.Auth, from string, to []string, msg []byte) error { - c, err := smtp.Dial(addr) - if err != nil { - return err - } - defer c.Close() - if err = c.Hello("localHost"); err != nil { - return err - } - if ok, _ := c.Extension("STARTTLS"); ok { - serverName, _, _ := net.SplitHostPort(addr) - config := &tls.Config{ServerName: serverName, InsecureSkipVerify: insecureSkipVerify} - if err = c.StartTLS(config); err != nil { - return err - } - } - if a != nil { - if ok, _ := c.Extension("AUTH"); ok { - if err = c.Auth(a); err != nil { - return err - } - } - } - if err = c.Mail(from); err != nil { - return err - } - for _, addr := range to { - if err = c.Rcpt(addr); err != nil { - return err - } - } - w, err := c.Data() - if err != nil { - return err - } - _, err = w.Write(msg) - if err != nil { - return err - } - err = w.Close() - if err != nil { - return err - } - return c.Quit() -} diff --git a/pkg/notifications/util.go b/pkg/notifications/util.go deleted file mode 100644 index 5764341..0000000 --- a/pkg/notifications/util.go +++ /dev/null @@ -1,24 +0,0 @@ -package notifications - -import "bytes" - -// SplitSubN splits a string into a list of string with each having -// a maximum number of characters n -func SplitSubN(s string, n int) []string { - sub := "" - subs := []string{} - - runes := bytes.Runes([]byte(s)) - l := len(runes) - for i, r := range runes { - sub = sub + string(r) - if (i+1)%n == 0 { - subs = append(subs, sub) - sub = "" - } else if (i + 1) == l { - subs = append(subs, sub) - } - } - - return subs -} diff --git a/pkg/session/container_status.go b/pkg/session/container_status.go new file mode 100644 index 0000000..8313da1 --- /dev/null +++ b/pkg/session/container_status.go @@ -0,0 +1,82 @@ +package session + +import wt "github.com/containrrr/watchtower/pkg/types" + +// State indicates what the current state is of the container +type State int + +// State enum values +const ( + // UnknownState is only used to represent an uninitialized State value + UnknownState State = iota + SkippedState + ScannedState + UpdatedState + FailedState + FreshState + StaleState +) + +// ContainerStatus contains the container state during a session +type ContainerStatus struct { + containerID wt.ContainerID + oldImage wt.ImageID + newImage wt.ImageID + containerName string + imageName string + error + state State +} + +// ID returns the container ID +func (u *ContainerStatus) ID() wt.ContainerID { + return u.containerID +} + +// Name returns the container name +func (u *ContainerStatus) Name() string { + return u.containerName +} + +// CurrentImageID returns the image ID that the container used when the session started +func (u *ContainerStatus) CurrentImageID() wt.ImageID { + return u.oldImage +} + +// LatestImageID returns the newest image ID found during the session +func (u *ContainerStatus) LatestImageID() wt.ImageID { + return u.newImage +} + +// ImageName returns the name:tag that the container uses +func (u *ContainerStatus) ImageName() string { + return u.imageName +} + +// Error returns the error (if any) that was encountered for the container during a session +func (u *ContainerStatus) Error() string { + if u.error == nil { + return "" + } + return u.error.Error() +} + +// State returns the current State that the container is in +func (u *ContainerStatus) State() string { + switch u.state { + case SkippedState: + return "Skipped" + case ScannedState: + return "Scanned" + case UpdatedState: + return "Updated" + case FailedState: + return "Failed" + case FreshState: + return "Fresh" + case StaleState: + return "Stale" + default: + return "Unknown" + } +} diff --git a/pkg/session/progress.go b/pkg/session/progress.go new file mode 100644 index 0000000..57069be --- /dev/null +++ b/pkg/session/progress.go @@ -0,0 +1,56 @@ +package session + +import ( + "github.com/containrrr/watchtower/pkg/types" +) + +// Progress contains the current session container status +type Progress map[types.ContainerID]*ContainerStatus + +// UpdateFromContainer sets various status fields from their corresponding container equivalents +func UpdateFromContainer(cont types.Container, newImage types.ImageID, state State) *ContainerStatus { + return &ContainerStatus{ + containerID: cont.ID(), + containerName: cont.Name(), + imageName: cont.ImageName(), + oldImage: cont.SafeImageID(), + newImage: newImage, + state: state, + } +} + +// AddSkipped adds a container to the Progress with the state set as skipped +func (m Progress) AddSkipped(cont types.Container, err error) { + update := UpdateFromContainer(cont, cont.SafeImageID(), SkippedState) + update.error = err + m.Add(update) +} + +// AddScanned adds a container to the Progress with the state set as scanned +func (m Progress) AddScanned(cont types.Container, newImage types.ImageID) { + m.Add(UpdateFromContainer(cont, newImage, ScannedState)) +} + +// UpdateFailed updates the containers passed, setting their state as failed with the supplied error +func (m Progress) UpdateFailed(failures map[types.ContainerID]error) { + for id, err := range failures { + update := m[id] + update.error = err + update.state = FailedState + } +} + +// Add a container to the map using container ID as the key +func (m Progress) Add(update *ContainerStatus) { + m[update.containerID] = update +} + +// MarkForUpdate marks the container identified by containerID for update +func (m Progress) MarkForUpdate(containerID types.ContainerID) { + m[containerID].state = UpdatedState +} + +// Report creates a new Report from a Progress instance +func (m Progress) Report() types.Report { + return NewReport(m) +} diff --git a/pkg/session/report.go b/pkg/session/report.go new file mode 100644 index 0000000..646a0c0 --- /dev/null +++ b/pkg/session/report.go @@ -0,0 +1,90 @@ +package session + +import ( + "github.com/containrrr/watchtower/pkg/types" + "sort" +) + +type report struct { + scanned []types.ContainerReport + updated []types.ContainerReport + failed []types.ContainerReport + skipped []types.ContainerReport + stale []types.ContainerReport + fresh []types.ContainerReport +} + +func (r *report) Scanned() []types.ContainerReport { + return r.scanned +} +func (r *report) Updated() []types.ContainerReport { + return r.updated +} +func (r *report) Failed() []types.ContainerReport { + return r.failed +} +func (r *report) Skipped() []types.ContainerReport { + return r.skipped +} +func (r *report) Stale() []types.ContainerReport { + return r.stale +} +func (r *report) Fresh() []types.ContainerReport { + return r.fresh +} + +// NewReport creates a types.Report from the supplied Progress +func NewReport(progress Progress) types.Report { + report := &report{ + scanned: []types.ContainerReport{}, + updated: []types.ContainerReport{}, + failed: []types.ContainerReport{}, + skipped: []types.ContainerReport{}, + stale: []types.ContainerReport{}, + fresh: []types.ContainerReport{}, + } + + for _, update := range progress { + if update.state == SkippedState { + report.skipped = append(report.skipped, update) + continue + } + + report.scanned = append(report.scanned, update) + if update.newImage == update.oldImage { + update.state = FreshState + report.fresh = append(report.fresh, update) + continue + } + + switch update.state { + case UpdatedState: + report.updated = append(report.updated, update) + case FailedState: + report.failed = append(report.failed, update) + default: + update.state = StaleState + report.stale = append(report.stale, update) + } + } + + sort.Sort(sortableContainers(report.scanned)) + sort.Sort(sortableContainers(report.updated)) + sort.Sort(sortableContainers(report.failed)) + sort.Sort(sortableContainers(report.skipped)) + sort.Sort(sortableContainers(report.stale)) + sort.Sort(sortableContainers(report.fresh)) + + return report +} + +type sortableContainers []types.ContainerReport + +// Len implements sort.Interface.Len +func (s sortableContainers) Len() int { return len(s) } + +// Less implements sort.Interface.Less +func (s sortableContainers) Less(i, j int) bool { return s[i].ID() < s[j].ID() } + +// Swap implements sort.Interface.Swap +func (s sortableContainers) Swap(i, j int) { s[i], s[j] = s[j], s[i] } diff --git a/pkg/types/container.go b/pkg/types/container.go index 50baac6..22742e9 100644 --- a/pkg/types/container.go +++ b/pkg/types/container.go @@ -1,14 +1,53 @@ package types -import "github.com/docker/docker/api/types" +import ( + "github.com/docker/docker/api/types" + "strings" +) + +// ImageID is a hash string representing a container image +type ImageID string + +// ContainerID is a hash string representing a container instance +type ContainerID string + +// ShortID returns the 12-character (hex) short version of an image ID hash, removing any "sha256:" prefix if present +func (id ImageID) ShortID() (short string) { + return shortID(string(id)) +} + +// ShortID returns the 12-character (hex) short version of a container ID hash, removing any "sha256:" prefix if present +func (id ContainerID) ShortID() (short string) { + return shortID(string(id)) +} + +func shortID(longID string) string { + prefixSep := strings.IndexRune(longID, ':') + offset := 0 + length := 12 + if prefixSep >= 0 { + if longID[0:prefixSep] == "sha256" { + offset = prefixSep + 1 + } else { + length += prefixSep + 1 + } + } + + if len(longID) >= offset+length { + return longID[offset : offset+length] + } + + return longID +} // Container is a docker container running an image type Container interface { ContainerInfo() *types.ContainerJSON - ID() string + ID() ContainerID IsRunning() bool Name() string - ImageID() string + ImageID() ImageID + SafeImageID() ImageID ImageName() string Enabled() (bool, bool) IsMonitorOnly() bool diff --git a/pkg/types/notifier.go b/pkg/types/notifier.go index f72f980..ccb2cb6 100644 --- a/pkg/types/notifier.go +++ b/pkg/types/notifier.go @@ -3,7 +3,7 @@ package types // Notifier is the interface that all notification services have in common type Notifier interface { StartNotification() - SendNotification() + SendNotification(Report) GetNames() []string Close() } diff --git a/pkg/types/report.go b/pkg/types/report.go new file mode 100644 index 0000000..8013b58 --- /dev/null +++ b/pkg/types/report.go @@ -0,0 +1,22 @@ +package types + +// Report contains reports for all the containers processed during a session +type Report interface { + Scanned() []ContainerReport + Updated() []ContainerReport + Failed() []ContainerReport + Skipped() []ContainerReport + Stale() []ContainerReport + Fresh() []ContainerReport +} + +// ContainerReport represents a container that was included in watchtower session +type ContainerReport interface { + ID() ContainerID + Name() string + CurrentImageID() ImageID + LatestImageID() ImageID + ImageName() string + Error() string + State() string +} From e396711ae1c28c9f2005f72357496622be56a8f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Armando=20L=C3=BCscher?= Date: Tue, 29 Jun 2021 09:48:16 +0000 Subject: [PATCH 117/389] docs: fix note paragraph on Arguments page (#1001) --- docs/arguments.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/arguments.md b/docs/arguments.md index 4425190..f08be7a 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -178,9 +178,10 @@ Will only monitor for new images, send notifications and invoke the [pre-check/post-check hooks](https://containrrr.dev/watchtower/lifecycle-hooks/), but will __not__ update the containers. -!!! note Due to Docker API limitations the latest image will still be pulled from the registry. -The HEAD digest checks allows watchtower to skip pulling when there are no changes, but to know _what_ has changed it -will still do a pull whenever the repository digest doesn't match the local image digest. +!!! note + Due to Docker API limitations the latest image will still be pulled from the registry. + The HEAD digest checks allows watchtower to skip pulling when there are no changes, but to know _what_ has changed it + will still do a pull whenever the repository digest doesn't match the local image digest. ```text Argument: --monitor-only From 2f33620d2d56605129c9c54ca7f4a5194429c551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 29 Jun 2021 12:51:56 +0200 Subject: [PATCH 118/389] ci: build latest-dev with script (#1005) currently `latest-dev` package is not built with version set and displays `v0.0.0-unknown` --- .github/workflows/release-dev.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 5c71258..4b8f238 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -16,7 +16,7 @@ jobs: with: go-version: 1.15 - name: Build - run: go build -v ./... + run: ./build.sh test: runs-on: ubuntu-latest steps: From 45dbfcade8c07cc394d33930a7841f02dbcbce5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 29 Jun 2021 12:59:56 +0200 Subject: [PATCH 119/389] ci: add executable bit to build (#1006) --- build.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 build.sh diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 From 8b7b7d3b9b1b97650a7631fbe2982d2e84d25fff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 29 Jun 2021 13:05:39 +0200 Subject: [PATCH 120/389] ci: fix version in dev dockerfile --- dockerfiles/Dockerfile.dev-self-contained | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile.dev-self-contained b/dockerfiles/Dockerfile.dev-self-contained index b22ef13..79dbe39 100644 --- a/dockerfiles/Dockerfile.dev-self-contained +++ b/dockerfiles/Dockerfile.dev-self-contained @@ -18,7 +18,7 @@ COPY . /watchtower RUN \ cd /watchtower && \ \ - GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-extldflags '-static' -X github.com/containrrr/watchtower/cmd.version=$(git describe --tags)" . && \ + GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-extldflags '-static' -X github.com/containrrr/watchtower/internal/meta.Version=$(git describe --tags)" . && \ GO111MODULE=on go test ./... -v From ea300b7a7f506c7682fb0092db438b59d2b4efc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 29 Jun 2021 13:10:27 +0200 Subject: [PATCH 121/389] ci: fix version in non-dev dockerfile --- dockerfiles/Dockerfile.self-contained | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile.self-contained b/dockerfiles/Dockerfile.self-contained index f24701f..303fc53 100644 --- a/dockerfiles/Dockerfile.self-contained +++ b/dockerfiles/Dockerfile.self-contained @@ -18,7 +18,7 @@ RUN git clone --branch "${WATCHTOWER_VERSION}" https://github.com/containrrr/wat RUN \ cd watchtower && \ \ - GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-extldflags '-static' -X github.com/containrrr/watchtower/cmd.version=$(git describe --tags)" . && \ + GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-extldflags '-static' -X github.com/containrrr/watchtower/internal/meta.Version=$(git describe --tags)" . && \ GO111MODULE=on go test ./... -v From 722170463808180e8a8dc2b47286b02dc0352c95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Thu, 1 Jul 2021 21:09:16 +0200 Subject: [PATCH 122/389] docs: link to versioned shoutrrr docs --- docs/notifications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notifications.md b/docs/notifications.md index c951d29..3663aff 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -180,7 +180,7 @@ To send notifications via shoutrrr, the following command-line options, or their - `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. -Go to [containrrr.github.io/shoutrrr/services/overview](https://containrrr.github.io/shoutrrr/services/overview) to +Go to [containrrr.dev/shoutrrr/v0.4/services/overview](https://containrrr.dev/shoutrrr/v0.4/services/overview) to learn more about the different service URLs you can use. You can define multiple services by space separating the URLs. (See example below) From 9bb8991a768b5d0071bd69f878b47ef3be513311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 25 Jul 2021 12:44:29 +0200 Subject: [PATCH 123/389] fix(digest): check container image info for nil (#1027) --- internal/actions/mocks/container.go | 7 ++++++- pkg/registry/digest/digest.go | 4 ++++ pkg/registry/digest/digest_test.go | 7 +++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index f854114..167d571 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -43,6 +43,11 @@ func CreateMockContainer(id string, name string, image string, created time.Time // CreateMockContainerWithImageInfo should only be used for testing func CreateMockContainerWithImageInfo(id string, name string, image string, created time.Time, imageInfo types.ImageInspect) container.Container { + return CreateMockContainerWithImageInfoP(id, name, image, created, &imageInfo) +} + +// CreateMockContainerWithImageInfoP should only be used for testing +func CreateMockContainerWithImageInfoP(id string, name string, image string, created time.Time, imageInfo *types.ImageInspect) container.Container { content := types.ContainerJSON{ ContainerJSONBase: &types.ContainerJSONBase{ ID: id, @@ -57,7 +62,7 @@ func CreateMockContainerWithImageInfo(id string, name string, image string, crea } return *container.NewContainer( &content, - &imageInfo, + imageInfo, ) } diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go index 858bf33..26fbd8e 100644 --- a/pkg/registry/digest/digest.go +++ b/pkg/registry/digest/digest.go @@ -22,6 +22,10 @@ const ContentDigestHeader = "Docker-Content-Digest" // CompareDigest ... func CompareDigest(container types.Container, registryAuth string) (bool, error) { + if !container.HasImageInfo() { + return false, errors.New("container image info missing") + } + var digest string registryAuth = TransformAuth(registryAuth) diff --git a/pkg/registry/digest/digest_test.go b/pkg/registry/digest/digest_test.go index 0321c1f..70193b8 100644 --- a/pkg/registry/digest/digest_test.go +++ b/pkg/registry/digest/digest_test.go @@ -59,6 +59,8 @@ var _ = Describe("Digests", func() { mockCreated, mockDigest) + mockContainerNoImage := mocks.CreateMockContainerWithImageInfoP(mockId, mockName, mockImage, mockCreated, nil) + When("a digest comparison is done", func() { It("should return true if digests match", SkipIfCredentialsEmpty(GHCRCredentials, func() { @@ -75,6 +77,11 @@ var _ = Describe("Digests", func() { It("should return an error if the registry isn't available", func() { }) + It("should return an error when container contains no image info", func() { + matches, err := digest.CompareDigest(mockContainerNoImage, `user:pass`) + Expect(err).To(HaveOccurred()) + Expect(matches).To(Equal(false)) + }) }) When("using different registries", func() { It("should work with DockerHub", From c33bb05396622bc40a289f243e749c984526631b Mon Sep 17 00:00:00 2001 From: Dan Quan Date: Thu, 29 Jul 2021 01:24:23 -0700 Subject: [PATCH 124/389] docs: remove broken badge and fix docker-compose snippet (#1025) * Remove microbadger badge as it is shutdown source: https://twitter.com/microscaling/status/1361054926399557644 source: https://web.archive.org/web/20210409135814/https://microbadger.com/shutdown * Remove trailing space that breaks yaml formatting * Adjust indentation for docker-compose snippet --- README.md | 1 - docs/index.md | 11 ++++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 8a18a58..cc18b3b 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ [![Circle CI](https://circleci.com/gh/containrrr/watchtower.svg?style=shield)](https://circleci.com/gh/containrrr/watchtower) [![codecov](https://codecov.io/gh/containrrr/watchtower/branch/main/graph/badge.svg)](https://codecov.io/gh/containrrr/watchtower) [![GoDoc](https://godoc.org/github.com/containrrr/watchtower?status.svg)](https://godoc.org/github.com/containrrr/watchtower) - [![Microbadger](https://images.microbadger.com/badges/image/containrrr/watchtower.svg)](https://microbadger.com/images/containrrr/watchtower) [![Go Report Card](https://goreportcard.com/badge/github.com/containrrr/watchtower)](https://goreportcard.com/report/github.com/containrrr/watchtower) [![latest version](https://img.shields.io/github/tag/containrrr/watchtower.svg)](https://github.com/containrrr/watchtower/releases) [![Apache-2.0 License](https://img.shields.io/github/license/containrrr/watchtower.svg)](https://www.apache.org/licenses/LICENSE-2.0) diff --git a/docs/index.md b/docs/index.md index d59b3b1..ef234ec 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,9 +17,6 @@ GoDoc - - Microbadger - Go Report Card @@ -58,8 +55,8 @@ the following command: ```yaml version: "3" services: - watchtower: - image: containrrr/watchtower - volumes: - - /var/run/docker.sock:/var/run/docker.sock + watchtower: + image: containrrr/watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock ``` From 52fe3656a6ba83ccc4ce0ad59f74d39cd5b62576 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 29 Jul 2021 10:29:06 +0200 Subject: [PATCH 125/389] docs: add djquan as a contributor for doc (#1038) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 58246fd..afe73da 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -767,6 +767,15 @@ "contributions": [ "doc" ] + }, + { + "login": "djquan", + "name": "Dan Quan", + "avatar_url": "https://avatars.githubusercontent.com/u/3526705?v=4", + "profile": "https://quan.io", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index cc18b3b..a51b266 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Reinout van Rees

📖
DasSkelett

💻
zenjabba

📖 +
Dan Quan

📖 From bd74c0561466bc904d8c0a0a43a19603e60d275d Mon Sep 17 00:00:00 2001 From: Jeremiah Boby Date: Fri, 13 Aug 2021 15:21:43 +0100 Subject: [PATCH 126/389] Use golang:1.15 in ECR credential helper example (#965) * Use golang:1.15 in ECR credential helper example * Update docs/private-registries.md Co-authored-by: Simon Aronsson Co-authored-by: Simon Aronsson --- docs/private-registries.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/private-registries.md b/docs/private-registries.md index e6edc39..8b3f28d 100644 --- a/docs/private-registries.md +++ b/docs/private-registries.md @@ -102,8 +102,9 @@ in a volume that may be mounted onto your watchtower container. 1. Create the Dockerfile (contents below): ```Dockerfile - FROM golang:latest + FROM golang:1.16 + ENV GO111MODULE off ENV CGO_ENABLED 0 ENV REPO github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login From fc31c6eb2691403cc6229e6b0997f40be01890a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 19 Sep 2021 18:05:10 +0200 Subject: [PATCH 127/389] feat(shoutrrr): update to v0.5 (#1055) * feat(shoutrrr): update to v0.5 * fix slack URL and tests * add tests for slack icon override * bump shoutrrr to v0.5.1 --- docs/notifications.md | 2 +- go.mod | 2 +- go.sum | 4 ++ pkg/notifications/notifier.go | 2 +- pkg/notifications/notifier_test.go | 68 +++++++++++++++++++++--------- pkg/notifications/slack.go | 17 ++++++-- 6 files changed, 67 insertions(+), 28 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index 3663aff..faa4e4a 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -180,7 +180,7 @@ To send notifications via shoutrrr, the following command-line options, or their - `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. -Go to [containrrr.dev/shoutrrr/v0.4/services/overview](https://containrrr.dev/shoutrrr/v0.4/services/overview) to +Go to [containrrr.dev/shoutrrr/v0.5/services/overview](https://containrrr.dev/shoutrrr/v0.5/services/overview) to learn more about the different service URLs you can use. You can define multiple services by space separating the URLs. (See example below) diff --git a/go.mod b/go.mod index 225915b..2515454 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6 // indirect github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 // indirect - github.com/containrrr/shoutrrr v0.4.4 + github.com/containrrr/shoutrrr v0.5.1 github.com/docker/cli v0.0.0-20190327152802-57b27434ea29 github.com/docker/distribution v2.7.1+incompatible github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4 diff --git a/go.sum b/go.sum index e1d7071..6eb935f 100644 --- a/go.sum +++ b/go.sum @@ -52,6 +52,10 @@ github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882b github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containrrr/shoutrrr v0.4.4 h1:vHZ4E/76pKVY+Jyn/qhBz3X540Bn8NI5ppPHK4PyILY= github.com/containrrr/shoutrrr v0.4.4/go.mod h1:zqL2BvfC1W4FujrT4b3/ZCLxvD+uoeEpBL7rg9Dqpbg= +github.com/containrrr/shoutrrr v0.5.0 h1:befKPRMqSvEsHYgxYJq4nuGmSWYvjbhVvb0nNk5OR5Q= +github.com/containrrr/shoutrrr v0.5.0/go.mod h1:XSU8tOIZ1JG8m6OuPozfGLpj6Ed+S8ZrRJaEodQhbzw= +github.com/containrrr/shoutrrr v0.5.1 h1:who87ACg0spQdbImaFMsOSh3g2FWyeN5nmO8tCg3llQ= +github.com/containrrr/shoutrrr v0.5.1/go.mod h1:XSU8tOIZ1JG8m6OuPozfGLpj6Ed+S8ZrRJaEodQhbzw= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index e1cb5e7..b54630c 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -66,7 +66,7 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command) []string { shoutrrrURL, err := legacyNotifier.GetURL(cmd) if err != nil { - log.Fatal("failed to create notification config:", err) + log.Fatal("failed to create notification config: ", err) } urls = append(urls, shoutrrrURL) diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 58c1ebb..71bfea3 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -40,7 +40,7 @@ var _ = Describe("notifications", func() { token := "abvsihdbau" color := notifications.ColorInt title := url.QueryEscape(notifications.GetTitle(command)) - expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&splitlines=Yes&title=%s&username=watchtower", token, channel, color, title) + expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&title=%s&username=watchtower", token, channel, color, title) buildArgs := func(url string) []string { return []string{ "--notifications", @@ -60,31 +60,56 @@ var _ = Describe("notifications", func() { }) }) When("converting a slack service config into a shoutrrr url", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + username := "containrrrbot" + tokenA := "AAAAAAAAA" + tokenB := "BBBBBBBBB" + tokenC := "123456789123456789123456" + color := url.QueryEscape(notifications.ColorHex) + title := url.QueryEscape(notifications.GetTitle(command)) + iconURL := "https://containrrr.dev/watchtower-sq180.png" + iconEmoji := "whale" - It("should return the expected URL", func() { - command := cmd.NewRootCommand() - flags.RegisterNotificationFlags(command) + When("icon URL is specified", func() { + It("should return the expected URL", func() { - username := "containrrrbot" - tokenA := "aaa" - tokenB := "bbb" - tokenC := "ccc" - color := url.QueryEscape(notifications.ColorHex) - title := url.QueryEscape(notifications.GetTitle(command)) + hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) + expectedOutput := fmt.Sprintf("slack://hook:%s-%s-%s@webhook?botname=%s&color=%s&icon=%s&title=%s", tokenA, tokenB, tokenC, username, color, url.QueryEscape(iconURL), title) - hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) - expectedOutput := fmt.Sprintf("slack://%s@%s/%s/%s?color=%s&title=%s", username, tokenA, tokenB, tokenC, color, title) + args := []string{ + "--notifications", + "slack", + "--notification-slack-hook-url", + hookURL, + "--notification-slack-identifier", + username, + "--notification-slack-icon-url", + iconURL, + } - args := []string{ - "--notifications", - "slack", - "--notification-slack-hook-url", - hookURL, - "--notification-slack-identifier", - username, - } + testURL(args, expectedOutput) + }) + }) - testURL(args, expectedOutput) + When("icon emoji is specified", func() { + It("should return the expected URL", func() { + hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) + expectedOutput := fmt.Sprintf("slack://hook:%s-%s-%s@webhook?botname=%s&color=%s&icon=%s&title=%s", tokenA, tokenB, tokenC, username, color, iconEmoji, title) + + args := []string{ + "--notifications", + "slack", + "--notification-slack-hook-url", + hookURL, + "--notification-slack-identifier", + username, + "--notification-slack-icon-emoji", + iconEmoji, + } + + testURL(args, expectedOutput) + }) }) }) }) @@ -208,6 +233,7 @@ func buildExpectedURL(username string, password string, host string, port int, f } func testURL(args []string, expectedURL string) { + defer GinkgoRecover() command := cmd.NewRootCommand() flags.RegisterNotificationFlags(command) diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index 7f6e0d4..c5c73b2 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -49,7 +49,7 @@ func (s *slackTypeNotifier) GetURL(c *cobra.Command) (string, error) { if parts[0] == "discord.com" || parts[0] == "discordapp.com" { log.Debug("Detected a discord slack wrapper URL, using shoutrrr discord service") conf := &shoutrrrDisco.Config{ - Channel: parts[len(parts)-3], + WebhookID: parts[len(parts)-3], Token: parts[len(parts)-2], Color: ColorInt, Title: GetTitle(c), @@ -59,15 +59,24 @@ func (s *slackTypeNotifier) GetURL(c *cobra.Command) (string, error) { return conf.GetURL().String(), nil } - rawTokens := strings.Replace(s.HookURL, "https://hooks.slack.com/services/", "", 1) - tokens := strings.Split(rawTokens, "/") + webhookToken := strings.Replace(s.HookURL, "https://hooks.slack.com/services/", "", 1) conf := &shoutrrrSlack.Config{ BotName: s.Username, - Token: tokens, Color: ColorHex, + Channel: "webhook", Title: GetTitle(c), } + if s.IconURL != "" { + conf.Icon = s.IconURL + } else if s.IconEmoji != "" { + conf.Icon = s.IconEmoji + } + + if err := conf.Token.SetFromProp(webhookToken); err != nil { + return "", err + } + return conf.GetURL().String(), nil } From cd0ec887643073796d3bb217029d2a0559ab791b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 19 Sep 2021 18:06:14 +0200 Subject: [PATCH 128/389] fix(notifications): default templates and logic (#1010) * fix(notifications): default templates and logic * fix multi-entry report notifs and add test * add tests for log queueing --- cmd/root.go | 54 +++++--- pkg/notifications/notifications_suite_test.go | 2 + pkg/notifications/notifier.go | 3 +- pkg/notifications/shoutrrr.go | 78 ++++++++---- pkg/notifications/shoutrrr_test.go | 115 +++++++++++++++--- 5 files changed, 195 insertions(+), 57 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index fb7c29b..47f7133 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -3,6 +3,7 @@ package cmd import ( "github.com/containrrr/watchtower/internal/meta" "math" + "net/http" "os" "os/signal" "strconv" @@ -197,7 +198,7 @@ func Run(c *cobra.Command, names []string) { httpAPI.RegisterHandler(metricsHandler.Path, metricsHandler.Handle) } - if err := httpAPI.Start(enableUpdateAPI && !unblockHTTPAPI); err != nil { + if err := httpAPI.Start(enableUpdateAPI && !unblockHTTPAPI); err != nil && err != http.ErrServerClosed { log.Error("failed to start API", err) } @@ -259,24 +260,43 @@ func formatDuration(d time.Duration) string { } func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { - if noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message"); !noStartupMessage { - schedMessage := "Running a one time update." - if !sched.IsZero() { - until := formatDuration(time.Until(sched)) - schedMessage = "Scheduling first run: " + sched.Format("2006-01-02 15:04:05 -0700 MST") + - "\nNote that the first check will be performed in " + until - } + noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message") - notifs := "Using no notifications" - notifierNames := notifier.GetNames() - if len(notifierNames) > 0 { - notifs = "Using notifications: " + strings.Join(notifierNames, ", ") - } + var startupLog *log.Entry + if noStartupMessage { + startupLog = notifications.LocalLog + } else { + startupLog = log.NewEntry(log.StandardLogger()) + // Batch up startup messages to send them as a single notification + notifier.StartNotification() + } - log.Info("Watchtower ", meta.Version, "\n", notifs, "\n", filtering, "\n", schedMessage) - if log.IsLevelEnabled(log.TraceLevel) { - log.Warn("trace level enabled: log will include sensitive information as credentials and tokens") - } + startupLog.Info("Watchtower ", meta.Version) + + notifierNames := notifier.GetNames() + if len(notifierNames) > 0 { + startupLog.Info("Using notifications: " + strings.Join(notifierNames, ", ")) + } else { + startupLog.Info("Using no notifications") + } + + startupLog.Info(filtering) + + if !sched.IsZero() { + until := formatDuration(time.Until(sched)) + startupLog.Info("Scheduling first run: " + sched.Format("2006-01-02 15:04:05 -0700 MST")) + startupLog.Info("Note that the first check will be performed in " + until) + } else { + startupLog.Info("Running a one time update.") + } + + if !noStartupMessage { + // Send the queued up startup messages, not including the trace warning below (to make sure it's noticed) + notifier.SendNotification(nil) + } + + if log.IsLevelEnabled(log.TraceLevel) { + startupLog.Warn("Trace level enabled: log will include sensitive information as credentials and tokens") } } diff --git a/pkg/notifications/notifications_suite_test.go b/pkg/notifications/notifications_suite_test.go index 1b77c2a..19d286e 100644 --- a/pkg/notifications/notifications_suite_test.go +++ b/pkg/notifications/notifications_suite_test.go @@ -1,6 +1,7 @@ package notifications_test import ( + "github.com/onsi/gomega/format" "testing" . "github.com/onsi/ginkgo" @@ -9,5 +10,6 @@ import ( func TestNotifications(t *testing.T) { RegisterFailHandler(Fail) + format.CharactersAroundMismatchToInclude = 20 RunSpecs(t, "Notifications Suite") } diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index b54630c..7c999d0 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -30,7 +30,8 @@ func NewNotifier(c *cobra.Command) ty.Notifier { urls = AppendLegacyUrls(urls, c) - return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, urls...) + title := GetTitle(c) + return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, title, urls...) } // AppendLegacyUrls creates shoutrrr equivalent URLs from legacy notification flags diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index 41ef126..ac293fb 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -2,7 +2,6 @@ package notifications import ( "bytes" - "fmt" stdlog "log" "strings" "text/template" @@ -13,23 +12,33 @@ import ( log "github.com/sirupsen/logrus" ) +// LocalLog is a logrus logger that does not send entries as notifications +var LocalLog = log.WithField("notify", "no") + const ( shoutrrrDefaultLegacyTemplate = "{{range .}}{{.Message}}{{println}}{{end}}" - shoutrrrDefaultTemplate = `{{- with .Report -}} + shoutrrrDefaultTemplate = ` +{{- if .Report -}} + {{- with .Report -}} + {{- if ( or .Updated .Failed ) -}} {{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed -{{range .Updated -}} + {{- range .Updated}} - {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}} -{{end -}} -{{range .Fresh -}} + {{- end -}} + {{- range .Fresh}} - {{.Name}} ({{.ImageName}}): {{.State}} -{{end -}} -{{range .Skipped -}} + {{- end -}} + {{- range .Skipped}} - {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} -{{end -}} -{{range .Failed -}} + {{- end -}} + {{- range .Failed}} - {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} -{{end -}} -{{end -}}` + {{- end -}} + {{- end -}} + {{- end -}} +{{- else -}} + {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}} +{{- end -}}` shoutrrrType = "shoutrrr" ) @@ -47,6 +56,7 @@ type shoutrrrTypeNotifier struct { messages chan string done chan bool legacyTemplate bool + params *types.Params } // GetScheme returns the scheme part of a Shoutrrr URL @@ -58,6 +68,7 @@ func GetScheme(url string) string { return url[:schemeEnd] } +// GetNames returns a list of notification services that has been added func (n *shoutrrrTypeNotifier) GetNames() []string { names := make([]string, len(n.Urls)) for i, u := range n.Urls { @@ -66,9 +77,10 @@ func (n *shoutrrrTypeNotifier) GetNames() []string { return names } -func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, urls ...string) t.Notifier { +func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, title string, urls ...string) t.Notifier { notifier := createNotifier(urls, acceptedLogLevels, tplString, legacy) + notifier.params = &types.Params{"title": title} log.AddHook(notifier) // Do the sending in a separate goroutine so we don't block the main process. @@ -102,13 +114,16 @@ func createNotifier(urls []string, levels []log.Level, tplString string, legacy func sendNotifications(n *shoutrrrTypeNotifier) { for msg := range n.messages { - errs := n.Router.Send(msg, nil) + errs := n.Router.Send(msg, n.params) for i, err := range errs { if err != nil { scheme := GetScheme(n.Urls[i]) // Use fmt so it doesn't trigger another notification. - fmt.Printf("Failed to send shoutrrr notification (#%d, %s): %v\n", i, scheme, err) + LocalLog.WithFields(log.Fields{ + "service": scheme, + "index": i, + }).WithError(err).Error("Failed to send shoutrrr notification") } } } @@ -116,53 +131,70 @@ func sendNotifications(n *shoutrrrTypeNotifier) { n.done <- true } -func (n *shoutrrrTypeNotifier) buildMessage(data Data) string { +func (n *shoutrrrTypeNotifier) buildMessage(data Data) (string, error) { var body bytes.Buffer var templateData interface{} = data if n.legacyTemplate { templateData = data.Entries } if err := n.template.Execute(&body, templateData); err != nil { - fmt.Printf("Failed to execute Shoutrrrr template: %s\n", err.Error()) + return "", err } - return body.String() + return body.String(), nil } func (n *shoutrrrTypeNotifier) sendEntries(entries []*log.Entry, report t.Report) { - msg := n.buildMessage(Data{entries, report}) + msg, err := n.buildMessage(Data{entries, report}) + + if msg == "" { + // Log in go func in case we entered from Fire to avoid stalling + go func() { + if err != nil { + LocalLog.WithError(err).Fatal("Notification template error") + } else { + LocalLog.Info("Skipping notification due to empty message") + } + }() + return + } n.messages <- msg } +// StartNotification begins queueing up messages to send them as a batch func (n *shoutrrrTypeNotifier) StartNotification() { if n.entries == nil { n.entries = make([]*log.Entry, 0, 10) } } +// SendNotification sends the queued up messages as a notification func (n *shoutrrrTypeNotifier) SendNotification(report t.Report) { - //if n.entries == nil || len(n.entries) <= 0 { - // return - //} - n.sendEntries(n.entries, report) n.entries = nil } +// Close prevents further messages from being queued and waits until all the currently queued up messages have been sent func (n *shoutrrrTypeNotifier) Close() { close(n.messages) // Use fmt so it doesn't trigger another notification. - fmt.Println("Waiting for the notification goroutine to finish") + LocalLog.Info("Waiting for the notification goroutine to finish") _ = <-n.done } +// Levels return what log levels trigger notifications func (n *shoutrrrTypeNotifier) Levels() []log.Level { return n.logLevels } +// Fire is the hook that logrus calls on a new log message func (n *shoutrrrTypeNotifier) Fire(entry *log.Entry) error { + if entry.Data["notify"] == "no" { + // Skip logging if explicitly tagged as non-notify + return nil + } if n.entries != nil { n.entries = append(n.entries, entry) } else { diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index e92655c..1b4ebab 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -8,11 +8,12 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "github.com/onsi/gomega/gbytes" - "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) +var allButTrace = logrus.AllLevels[0:logrus.TraceLevel] + var legacyMockData = Data{ Entries: []*logrus.Entry{ { @@ -22,6 +23,28 @@ var legacyMockData = Data{ }, } +var mockDataMultipleEntries = Data{ + Entries: []*logrus.Entry{ + { + Level: logrus.InfoLevel, + Message: "The situation is under control", + }, + { + Level: logrus.WarnLevel, + Message: "All the smoke might be covering up some problems", + }, + { + Level: logrus.ErrorLevel, + Message: "Turns out everything is on fire", + }, + }, +} + +var mockDataAllFresh = Data{ + Entries: []*logrus.Entry{}, + Report: mocks.CreateMockProgressReport(s.FreshState), +} + func mockDataFromStates(states ...s.State) Data { return Data{ Entries: legacyMockData.Entries, @@ -35,6 +58,7 @@ var _ = Describe("Shoutrrr", func() { BeforeEach(func() { logBuffer = gbytes.NewBuffer() logrus.SetOutput(logBuffer) + logrus.SetLevel(logrus.TraceLevel) logrus.SetFormatter(&logrus.TextFormatter{ DisableColors: true, DisableTimestamp: true, @@ -56,7 +80,8 @@ var _ = Describe("Shoutrrr", func() { }, } - s := shoutrrr.buildMessage(Data{Entries: entries}) + s, err := shoutrrr.buildMessage(Data{Entries: entries}) + Expect(err).NotTo(HaveOccurred()) Expect(s).To(Equal("foo bar\n")) }) @@ -80,21 +105,34 @@ var _ = Describe("Shoutrrr", func() { }, } - s := shoutrrr.buildMessage(Data{Entries: entries}) + s, err := shoutrrr.buildMessage(Data{Entries: entries}) + Expect(err).NotTo(HaveOccurred()) Expect(s).To(Equal("info: foo bar\n")) }) }) + Describe("the default template", func() { + When("all containers are fresh", func() { + It("should return an empty string", func() { + Expect(getTemplatedResult(``, true, mockDataAllFresh)).To(Equal("")) + }) + }) + }) + When("given an invalid custom template", func() { It("should format the messages using the default template", func() { invNotif, err := createNotifierWithTemplate(`{{ intentionalSyntaxError`, true) Expect(err).To(HaveOccurred()) + invMsg, err := invNotif.buildMessage(legacyMockData) + Expect(err).NotTo(HaveOccurred()) defNotif, err := createNotifierWithTemplate(``, true) Expect(err).ToNot(HaveOccurred()) + defMsg, err := defNotif.buildMessage(legacyMockData) + Expect(err).ToNot(HaveOccurred()) - Expect(invNotif.buildMessage(legacyMockData)).To(Equal(defNotif.buildMessage(legacyMockData))) + Expect(invMsg).To(Equal(defMsg)) }) }) @@ -130,18 +168,63 @@ var _ = Describe("Shoutrrr", func() { - updt2 (mock/updt2:latest): 01d120000000 updated to d0a120000000 - frsh1 (mock/frsh1:latest): Fresh - skip1 (mock/skip1:latest): Skipped: unpossible -- fail1 (mock/fail1:latest): Failed: accidentally the whole container -` +- fail1 (mock/fail1:latest): Failed: accidentally the whole container` data := mockDataFromStates(s.UpdatedState, s.FreshState, s.FailedState, s.SkippedState, s.UpdatedState) Expect(getTemplatedResult(``, false, data)).To(Equal(expected)) }) - It("should format the messages using the default template", func() { - expected := `1 Scanned, 0 Updated, 0 Failed -- frsh1 (mock/frsh1:latest): Fresh + }) + + Describe("the default template", func() { + When("all containers are fresh", func() { + It("should return an empty string", func() { + Expect(getTemplatedResult(``, false, mockDataAllFresh)).To(Equal("")) + }) + }) + When("at least one container was updated", func() { + It("should send a report", func() { + expected := `1 Scanned, 1 Updated, 0 Failed +- updt1 (mock/updt1:latest): 01d110000000 updated to d0a110000000` + data := mockDataFromStates(s.UpdatedState) + Expect(getTemplatedResult(``, false, data)).To(Equal(expected)) + }) + }) + When("at least one container failed to update", func() { + It("should send a report", func() { + expected := `1 Scanned, 0 Updated, 1 Failed +- fail1 (mock/fail1:latest): Failed: accidentally the whole container` + data := mockDataFromStates(s.FailedState) + Expect(getTemplatedResult(``, false, data)).To(Equal(expected)) + }) + }) + When("the report is nil", func() { + It("should return the logged entries", func() { + expected := `The situation is under control +All the smoke might be covering up some problems +Turns out everything is on fire ` - data := mockDataFromStates(s.FreshState) - Expect(getTemplatedResult(``, false, data)).To(Equal(expected)) + Expect(getTemplatedResult(``, false, mockDataMultipleEntries)).To(Equal(expected)) + }) + }) + }) + }) + + When("batching notifications", func() { + When("no messages are queued", func() { + It("should not send any notification", func() { + shoutrrr := newShoutrrrNotifier("", allButTrace, true, "", "logger://") + shoutrrr.StartNotification() + shoutrrr.SendNotification(nil) + Consistently(logBuffer).ShouldNot(gbytes.Say(`Shoutrrr:`)) + }) + }) + When("at least one message is queued", func() { + It("should send a notification", func() { + shoutrrr := newShoutrrrNotifier("", allButTrace, true, "", "logger://") + shoutrrr.StartNotification() + logrus.Info("This log message is sponsored by ContainrrrVPN") + shoutrrr.SendNotification(nil) + Eventually(logBuffer).Should(gbytes.Say(`Shoutrrr: This log message is sponsored by ContainrrrVPN`)) }) }) }) @@ -218,10 +301,10 @@ func createNotifierWithTemplate(tplString string, legacy bool) (*shoutrrrTypeNot }, err } -func getTemplatedResult(tplString string, legacy bool, data Data) (string, error) { +func getTemplatedResult(tplString string, legacy bool, data Data) (msg string) { notifier, err := createNotifierWithTemplate(tplString, legacy) - if err != nil { - return "", err - } - return notifier.buildMessage(data), err + ExpectWithOffset(1, err).NotTo(HaveOccurred()) + msg, err = notifier.buildMessage(data) + ExpectWithOffset(1, err).NotTo(HaveOccurred()) + return msg } From 697397f28982ac7d12e36a9859abc7147e79f28f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 19 Sep 2021 18:07:32 +0200 Subject: [PATCH 129/389] feat(log): add context fields to lifecycle events (#1007) --- pkg/container/client.go | 12 +-- pkg/container/client_test.go | 148 +++++++++++++++++++++++++++++++ pkg/container/container_test.go | 122 ------------------------- pkg/container/mocks/ApiServer.go | 17 ++++ pkg/lifecycle/lifecycle.go | 32 ++++--- 5 files changed, 191 insertions(+), 140 deletions(-) create mode 100644 pkg/container/client_test.go diff --git a/pkg/container/client.go b/pkg/container/client.go index 2771733..4e42cba 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -361,6 +361,7 @@ func (client dockerClient) RemoveImageByID(id t.ImageID) error { func (client dockerClient) ExecuteCommand(containerID t.ContainerID, command string, timeout int) (SkipUpdate bool, err error) { bg := context.Background() + clog := log.WithField("containerID", containerID) // Create the exec execConfig := types.ExecConfig{ @@ -379,7 +380,7 @@ func (client dockerClient) ExecuteCommand(containerID t.ContainerID, command str Detach: false, }) if attachErr != nil { - log.Errorf("Failed to extract command exec logs: %v", attachErr) + clog.Errorf("Failed to extract command exec logs: %v", attachErr) } // Run the exec @@ -395,7 +396,7 @@ func (client dockerClient) ExecuteCommand(containerID t.ContainerID, command str var writer bytes.Buffer written, err := writer.ReadFrom(response.Reader) if err != nil { - log.Error(err) + clog.Error(err) } else if written > 0 { output = strings.TrimSpace(writer.String()) } @@ -428,9 +429,10 @@ func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, e //goland:noinspection GoNilness log.WithFields(log.Fields{ - "exit-code": execInspect.ExitCode, - "exec-id": execInspect.ExecID, - "running": execInspect.Running, + "exit-code": execInspect.ExitCode, + "exec-id": execInspect.ExecID, + "running": execInspect.Running, + "container-id": execInspect.ContainerID, }).Debug("Awaiting timeout or completion") if err != nil { diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go new file mode 100644 index 0000000..01e4c47 --- /dev/null +++ b/pkg/container/client_test.go @@ -0,0 +1,148 @@ +package container + +import ( + "github.com/containrrr/watchtower/pkg/container/mocks" + "github.com/containrrr/watchtower/pkg/filters" + cli "github.com/docker/docker/client" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "github.com/onsi/gomega/gbytes" + "github.com/sirupsen/logrus" +) + +var _ = Describe("the client", func() { + var docker *cli.Client + var client Client + BeforeSuite(func() { + server := mocks.NewMockAPIServer() + docker, _ = cli.NewClientWithOpts( + cli.WithHost(server.URL), + cli.WithHTTPClient(server.Client())) + client = dockerClient{ + api: docker, + pullImages: false, + } + }) + It("should return a client for the api", func() { + Expect(client).NotTo(BeNil()) + }) + Describe("WarnOnHeadPullFailed", func() { + containerUnknown := *mockContainerWithImageName("unknown.repo/prefix/imagename:latest") + containerKnown := *mockContainerWithImageName("docker.io/prefix/imagename:latest") + + When("warn on head failure is set to \"always\"", func() { + c := newClientNoAPI(false, false, false, false, false, "always") + It("should always return true", func() { + Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeTrue()) + Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) + }) + }) + When("warn on head failure is set to \"auto\"", func() { + c := newClientNoAPI(false, false, false, false, false, "auto") + It("should always return true", func() { + Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) + }) + It("should", func() { + Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) + }) + }) + When("warn on head failure is set to \"never\"", func() { + c := newClientNoAPI(false, false, false, false, false, "never") + It("should never return true", func() { + Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) + Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeFalse()) + }) + }) + }) + + When("listing containers without any filter", func() { + It("should return all available containers", func() { + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + Expect(len(containers) == 2).To(BeTrue()) + }) + }) + When("listing containers with a filter matching nothing", func() { + It("should return an empty array", func() { + filter := filters.FilterByNames([]string{"lollercoaster"}, filters.NoFilter) + containers, err := client.ListContainers(filter) + Expect(err).NotTo(HaveOccurred()) + Expect(len(containers) == 0).To(BeTrue()) + }) + }) + When("listing containers with a watchtower filter", func() { + It("should return only the watchtower container", func() { + containers, err := client.ListContainers(filters.WatchtowerContainersFilter) + Expect(err).NotTo(HaveOccurred()) + Expect(len(containers) == 1).To(BeTrue()) + Expect(containers[0].ImageName()).To(Equal("containrrr/watchtower:latest")) + }) + }) + When(`listing containers with the "include stopped" option`, func() { + It("should return both stopped and running containers", func() { + client = dockerClient{ + api: docker, + pullImages: false, + includeStopped: true, + } + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + Expect(len(containers) > 0).To(BeTrue()) + }) + }) + When(`listing containers with the "include restart" option`, func() { + It("should return both stopped, restarting and running containers", func() { + client = dockerClient{ + api: docker, + pullImages: false, + includeRestarting: true, + } + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + RestartingContainerFound := false + for _, ContainerRunning := range containers { + if ContainerRunning.containerInfo.State.Restarting { + RestartingContainerFound = true + } + } + Expect(RestartingContainerFound).To(BeTrue()) + Expect(RestartingContainerFound).NotTo(BeFalse()) + }) + }) + When(`listing containers without restarting ones`, func() { + It("should not return restarting containers", func() { + client = dockerClient{ + api: docker, + pullImages: false, + includeRestarting: false, + } + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + RestartingContainerFound := false + for _, ContainerRunning := range containers { + if ContainerRunning.containerInfo.State.Restarting { + RestartingContainerFound = true + } + } + Expect(RestartingContainerFound).To(BeFalse()) + Expect(RestartingContainerFound).NotTo(BeTrue()) + }) + }) + Describe(`ExecuteCommand`, func() { + When(`logging`, func() { + It("should include container id field", func() { + // Capture logrus output in buffer + logbuf := gbytes.NewBuffer() + origOut := logrus.StandardLogger().Out + defer logrus.SetOutput(origOut) + logrus.SetOutput(logbuf) + + _, err := client.ExecuteCommand("ex-cont-id", "exec-cmd", 1) + Expect(err).NotTo(HaveOccurred()) + // Note: Since Execute requires opening up a raw TCP stream to the daemon for the output, this will fail + // when using the mock API server. Regardless of the outcome, the log should include the container ID + Eventually(logbuf).Should(gbytes.Say(`containerID="?ex-cont-id"?`)) + }) + }) + }) +}) diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 843169b..5204f7d 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -1,136 +1,14 @@ package container import ( - "github.com/containrrr/watchtower/pkg/container/mocks" - "github.com/containrrr/watchtower/pkg/filters" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" - cli "github.com/docker/docker/client" "github.com/docker/go-connections/nat" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("the container", func() { - Describe("the client", func() { - var docker *cli.Client - var client Client - BeforeSuite(func() { - server := mocks.NewMockAPIServer() - docker, _ = cli.NewClientWithOpts( - cli.WithHost(server.URL), - cli.WithHTTPClient(server.Client())) - client = dockerClient{ - api: docker, - pullImages: false, - } - }) - It("should return a client for the api", func() { - Expect(client).NotTo(BeNil()) - }) - Describe("WarnOnHeadPullFailed", func() { - containerUnknown := *mockContainerWithImageName("unknown.repo/prefix/imagename:latest") - containerKnown := *mockContainerWithImageName("docker.io/prefix/imagename:latest") - - When("warn on head failure is set to \"always\"", func() { - c := newClientNoAPI(false, false, false, false, false, "always") - It("should always return true", func() { - Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeTrue()) - Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) - }) - }) - When("warn on head failure is set to \"auto\"", func() { - c := newClientNoAPI(false, false, false, false, false, "auto") - It("should always return true", func() { - Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) - }) - It("should", func() { - Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) - }) - }) - When("warn on head failure is set to \"never\"", func() { - c := newClientNoAPI(false, false, false, false, false, "never") - It("should never return true", func() { - Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) - Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeFalse()) - }) - }) - }) - - When("listing containers without any filter", func() { - It("should return all available containers", func() { - containers, err := client.ListContainers(filters.NoFilter) - Expect(err).NotTo(HaveOccurred()) - Expect(len(containers) == 2).To(BeTrue()) - }) - }) - When("listing containers with a filter matching nothing", func() { - It("should return an empty array", func() { - filter := filters.FilterByNames([]string{"lollercoaster"}, filters.NoFilter) - containers, err := client.ListContainers(filter) - Expect(err).NotTo(HaveOccurred()) - Expect(len(containers) == 0).To(BeTrue()) - }) - }) - When("listing containers with a watchtower filter", func() { - It("should return only the watchtower container", func() { - containers, err := client.ListContainers(filters.WatchtowerContainersFilter) - Expect(err).NotTo(HaveOccurred()) - Expect(len(containers) == 1).To(BeTrue()) - Expect(containers[0].ImageName()).To(Equal("containrrr/watchtower:latest")) - }) - }) - When(`listing containers with the "include stopped" option`, func() { - It("should return both stopped and running containers", func() { - client = dockerClient{ - api: docker, - pullImages: false, - includeStopped: true, - } - containers, err := client.ListContainers(filters.NoFilter) - Expect(err).NotTo(HaveOccurred()) - Expect(len(containers) > 0).To(BeTrue()) - }) - }) - When(`listing containers with the "include restart" option`, func() { - It("should return both stopped, restarting and running containers", func() { - client = dockerClient{ - api: docker, - pullImages: false, - includeRestarting: true, - } - containers, err := client.ListContainers(filters.NoFilter) - Expect(err).NotTo(HaveOccurred()) - RestartingContainerFound := false - for _, ContainerRunning := range containers { - if ContainerRunning.containerInfo.State.Restarting { - RestartingContainerFound = true - } - } - Expect(RestartingContainerFound).To(BeTrue()) - Expect(RestartingContainerFound).NotTo(BeFalse()) - }) - }) - When(`listing containers without restarting ones`, func() { - It("should not return restarting containers", func() { - client = dockerClient{ - api: docker, - pullImages: false, - includeRestarting: false, - } - containers, err := client.ListContainers(filters.NoFilter) - Expect(err).NotTo(HaveOccurred()) - RestartingContainerFound := false - for _, ContainerRunning := range containers { - if ContainerRunning.containerInfo.State.Restarting { - RestartingContainerFound = true - } - } - Expect(RestartingContainerFound).To(BeFalse()) - Expect(RestartingContainerFound).NotTo(BeTrue()) - }) - }) - }) Describe("VerifyConfiguration", func() { When("verifying a container with no image info", func() { It("should return an error", func() { diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index e192496..96c3921 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -3,6 +3,7 @@ package mocks import ( "encoding/json" "fmt" + "github.com/onsi/ginkgo" "io/ioutil" "net/http" "net/http/httptest" @@ -55,6 +56,22 @@ func NewMockAPIServer() *httptest.Server { response = getMockJSONFromDisk("./mocks/data/image01.json") } else if isRequestFor("sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", r) { response = getMockJSONFromDisk("./mocks/data/image02.json") + } else if isRequestFor("containers/ex-cont-id/exec", r) { + response = `{"Id": "ex-exec-id"}` + } else if isRequestFor("exec/ex-exec-id/start", r) { + response = `{"Id": "ex-exec-id"}` + } else if isRequestFor("exec/ex-exec-id/json", r) { + response = `{ + "ExecID": "ex-exec-id", + "ContainerID": "ex-cont-id", + "Running": false, + "ExitCode": 0, + "Pid": 0 + }` + } else { + // Allow ginkgo to correctly capture the failed assertion, even though this is called from a go func + defer ginkgo.GinkgoRecover() + ginkgo.Fail(fmt.Sprintf("mock API server endpoint not supported: %q", r.URL.String())) } _, _ = fmt.Fprintln(w, response) }, diff --git a/pkg/lifecycle/lifecycle.go b/pkg/lifecycle/lifecycle.go index f99913b..d88bb6a 100644 --- a/pkg/lifecycle/lifecycle.go +++ b/pkg/lifecycle/lifecycle.go @@ -30,31 +30,33 @@ func ExecutePostChecks(client container.Client, params types.UpdateParams) { // ExecutePreCheckCommand tries to run the pre-check lifecycle hook for a single container. func ExecutePreCheckCommand(client container.Client, container container.Container) { + clog := log.WithField("container", container.Name()) command := container.GetLifecyclePreCheckCommand() if len(command) == 0 { - log.Debug("No pre-check command supplied. Skipping") + clog.Debug("No pre-check command supplied. Skipping") return } - log.Debug("Executing pre-check command.") + clog.Debug("Executing pre-check command.") _, err := client.ExecuteCommand(container.ID(), command, 1) if err != nil { - log.Error(err) + clog.Error(err) } } // ExecutePostCheckCommand tries to run the post-check lifecycle hook for a single container. func ExecutePostCheckCommand(client container.Client, container container.Container) { + clog := log.WithField("container", container.Name()) command := container.GetLifecyclePostCheckCommand() if len(command) == 0 { - log.Debug("No post-check command supplied. Skipping") + clog.Debug("No post-check command supplied. Skipping") return } - log.Debug("Executing post-check command.") + clog.Debug("Executing post-check command.") _, err := client.ExecuteCommand(container.ID(), command, 1) if err != nil { - log.Error(err) + clog.Error(err) } } @@ -62,38 +64,42 @@ func ExecutePostCheckCommand(client container.Client, container container.Contai func ExecutePreUpdateCommand(client container.Client, container container.Container) (SkipUpdate bool, err error) { timeout := container.PreUpdateTimeout() command := container.GetLifecyclePreUpdateCommand() + clog := log.WithField("container", container.Name()) + if len(command) == 0 { - log.Debug("No pre-update command supplied. Skipping") + clog.Debug("No pre-update command supplied. Skipping") return false, nil } if !container.IsRunning() || container.IsRestarting() { - log.Debug("Container is not running. Skipping pre-update command.") + clog.Debug("Container is not running. Skipping pre-update command.") return false, nil } - log.Debug("Executing pre-update command.") + clog.Debug("Executing pre-update command.") return client.ExecuteCommand(container.ID(), command, timeout) } // ExecutePostUpdateCommand tries to run the post-update lifecycle hook for a single container. func ExecutePostUpdateCommand(client container.Client, newContainerID types.ContainerID) { newContainer, err := client.GetContainer(newContainerID) + if err != nil { - log.Error(err) + log.WithField("containerID", newContainerID.ShortID()).Error(err) return } + clog := log.WithField("container", newContainer.Name()) command := newContainer.GetLifecyclePostUpdateCommand() if len(command) == 0 { - log.Debug("No post-update command supplied. Skipping") + clog.Debug("No post-update command supplied. Skipping") return } - log.Debug("Executing post-update command.") + clog.Debug("Executing post-update command.") _, err = client.ExecuteCommand(newContainerID, command, 1) if err != nil { - log.Error(err) + clog.Error(err) } } From 47a640b764db50e9ef41972a65556091831b2148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Wed, 29 Sep 2021 11:34:05 +0200 Subject: [PATCH 130/389] update dependencies (sane go.mod) (#1061) --- go.mod | 58 +-- go.sum | 935 +++++++++++++++++++++++++++++++--------- pkg/container/client.go | 2 +- pkg/registry/trust.go | 13 +- 4 files changed, 759 insertions(+), 249 deletions(-) diff --git a/go.mod b/go.mod index 2515454..eccc44d 100644 --- a/go.mod +++ b/go.mod @@ -2,63 +2,27 @@ module github.com/containrrr/watchtower go 1.12 -replace golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a - require ( - github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect - github.com/Microsoft/go-winio v0.4.12 // indirect - github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d // indirect - github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 // indirect - github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 // indirect - github.com/bitly/go-simplejson v0.5.0 // indirect - github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect - github.com/bugsnag/bugsnag-go v1.5.3 // indirect - github.com/bugsnag/panicwrap v1.2.0 // indirect - github.com/cenkalti/backoff v2.2.1+incompatible // indirect - github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6 // indirect - github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 // indirect + github.com/containerd/containerd v1.5.5 // indirect github.com/containrrr/shoutrrr v0.5.1 - github.com/docker/cli v0.0.0-20190327152802-57b27434ea29 + github.com/docker/cli v20.10.8+incompatible github.com/docker/distribution v2.7.1+incompatible - github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4 + github.com/docker/docker v20.10.8+incompatible github.com/docker/docker-credential-helpers v0.6.1 // indirect - github.com/docker/go v1.5.1-1 // indirect github.com/docker/go-connections v0.4.0 - github.com/docker/go-metrics v0.0.0-20181218153428-b84716841b82 // indirect - github.com/docker/go-units v0.3.3 // indirect - github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect - github.com/gofrs/uuid v3.2.0+incompatible // indirect - github.com/google/certificate-transparency-go v1.0.21 // indirect - github.com/gorilla/mux v1.7.0 // indirect - github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect - github.com/hashicorp/go-version v1.1.0 // indirect - github.com/jinzhu/gorm v1.9.11 // indirect github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 - github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect - github.com/lib/pq v1.2.0 // indirect - github.com/miekg/pkcs11 v0.0.0-20190401114359-553cfdd26aaa // indirect + github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect github.com/onsi/ginkgo v1.14.2 - github.com/onsi/gomega v1.10.1 - github.com/opencontainers/go-digest v1.0.0-rc1 // indirect - github.com/opencontainers/image-spec v1.0.1 // indirect - github.com/opencontainers/runc v0.1.1 // indirect - github.com/prometheus/client_golang v0.9.3 + github.com/onsi/gomega v1.10.3 + github.com/prometheus/client_golang v1.7.1 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 - github.com/sirupsen/logrus v1.4.2 - github.com/spf13/cobra v0.0.7 + github.com/sirupsen/logrus v1.8.1 + github.com/spf13/cobra v1.0.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.6.3 - github.com/stretchr/testify v1.4.0 - github.com/theupdateframework/notary v0.6.1 // indirect - github.com/zmap/zlint v1.0.2 // indirect - golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 // indirect - golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 - golang.org/x/text v0.3.4 // indirect - gopkg.in/dancannon/gorethink.v3 v3.0.5 // indirect - gopkg.in/fatih/pool.v2 v2.0.0 // indirect - gopkg.in/gorethink/gorethink.v3 v3.0.5 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gotest.tools v2.2.0+incompatible // indirect + github.com/stretchr/testify v1.6.1 + golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 + golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect ) diff --git a/go.sum b/go.sum index 6eb935f..12a5550 100644 --- a/go.sum +++ b/go.sum @@ -1,245 +1,452 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.37.4 h1:glPeL3BQJsbF6aIIYfZizMwc5LTYz250bDMjttbBGAU= -cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Microsoft/go-winio v0.4.12 h1:xAfWHN1IrQ0NJ9TBC0KBZoqLjzDTr1ML+4MywiUOryc= -github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= +github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.18/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI= -github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= github.com/agnivade/wasmbrowsertest v0.3.1/go.mod h1:zQt6ZTdl338xxRaMW395qccVE2eQm0SjC/SDz0mPWQI= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= -github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= -github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= +github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/bugsnag/bugsnag-go v1.5.3 h1:yeRUT3mUE13jL1tGwvoQsKdVbAsQx9AJ+fqahKveP04= -github.com/bugsnag/bugsnag-go v1.5.3/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= -github.com/bugsnag/panicwrap v1.2.0 h1:OzrKrRvXis8qEvOkfcxNcYbOd2O7xXS2nnKMEMABFQA= -github.com/bugsnag/panicwrap v1.2.0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= +github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= +github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/chromedp/cdproto v0.0.0-20190614062957-d6d2f92b486d/go.mod h1:S8mB5wY3vV+vRIzf39xDXsw3XKYewW9X6rW2aEmkrSw= github.com/chromedp/cdproto v0.0.0-20190621002710-8cbd498dd7a0/go.mod h1:S8mB5wY3vV+vRIzf39xDXsw3XKYewW9X6rW2aEmkrSw= github.com/chromedp/cdproto v0.0.0-20190812224334-39ef923dcb8d/go.mod h1:0YChpVzuLJC5CPr+x3xkHN6Z8KOSXjNbL7qV8Wc4GW0= github.com/chromedp/cdproto v0.0.0-20190926234355-1b4886c6fad6/go.mod h1:0YChpVzuLJC5CPr+x3xkHN6Z8KOSXjNbL7qV8Wc4GW0= github.com/chromedp/chromedp v0.3.1-0.20190619195644-fd957a4d2901/go.mod h1:mJdvfrVn594N9tfiPecUidF6W5jPRKHymqHfzbobPsM= github.com/chromedp/chromedp v0.4.0/go.mod h1:DC3QUn4mJ24dwjcaGQLoZrhm4X/uPHZ6spDbS2uFhm4= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6 h1:A7RURps5t4yDU0zktlgrE3Bdmjfv35nVs+xJdoWgIgY= -github.com/cloudflare/cfssl v0.0.0-20190911221928-1a911ca1b1d6/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA= -github.com/containerd/continuity v0.0.0-20181203112020-004b46473808 h1:4BX8f882bXEDKfWIf0wa8HRvpnBoPszJJXL+TVbBw4M= -github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containrrr/shoutrrr v0.4.4 h1:vHZ4E/76pKVY+Jyn/qhBz3X540Bn8NI5ppPHK4PyILY= -github.com/containrrr/shoutrrr v0.4.4/go.mod h1:zqL2BvfC1W4FujrT4b3/ZCLxvD+uoeEpBL7rg9Dqpbg= -github.com/containrrr/shoutrrr v0.5.0 h1:befKPRMqSvEsHYgxYJq4nuGmSWYvjbhVvb0nNk5OR5Q= -github.com/containrrr/shoutrrr v0.5.0/go.mod h1:XSU8tOIZ1JG8m6OuPozfGLpj6Ed+S8ZrRJaEodQhbzw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= +github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= +github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= +github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= +github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.5 h1:q1gxsZsGZ8ddVe98yO6pR21b5xQSMiR61lD0W96pgQo= +github.com/containerd/containerd v1.5.5/go.mod h1:oSTh0QpT1w6jYcGmbiSbxv9OSQYaa88mPyWIuU79zyo= +github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= github.com/containrrr/shoutrrr v0.5.1 h1:who87ACg0spQdbImaFMsOSh3g2FWyeN5nmO8tCg3llQ= github.com/containrrr/shoutrrr v0.5.1/go.mod h1:XSU8tOIZ1JG8m6OuPozfGLpj6Ed+S8ZrRJaEodQhbzw= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3 h1:tkum0XDgfR0jcVVXuTsYv/erY2NnEDqwRojbxR1rBYA= -github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/cli v0.0.0-20190327152802-57b27434ea29 h1:ciaXDHaWQda0nvevWqcjtXX/buQY3e0lga1vq8Batq0= -github.com/docker/cli v0.0.0-20190327152802-57b27434ea29/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/docker/cli v20.10.8+incompatible h1:/zO/6y9IOpcehE49yMRTV9ea0nBpb8OeqSskXLNfH1E= +github.com/docker/cli v20.10.8+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4 h1:34LfsqlE2kEvmGP9qbRoPvOWkmluYGzmlvWVTzwvT0A= -github.com/docker/docker v0.0.0-20190404075923-dbe4a30928d4/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.8+incompatible h1:RVqD337BgQicVCzYrrlhLDWhq6OAD2PJDUg2LsEUvKM= +github.com/docker/docker v20.10.8+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= -github.com/docker/go v1.5.1-1 h1:hr4w35acWBPhGBXlzPoHpmZ/ygPjnmFVxGxxGnMyP7k= -github.com/docker/go v1.5.1-1/go.mod h1:CADgU4DSXK5QUlFslkQu2yW2TKzFZcXq/leZfM0UH5Q= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-metrics v0.0.0-20181218153428-b84716841b82 h1:X0fj836zx99zFu83v/M79DuBn84IL/Syx1SY6Y5ZEMA= -github.com/docker/go-metrics v0.0.0-20181218153428-b84716841b82/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= -github.com/docker/go-units v0.3.3 h1:Xk8S3Xj5sLGlG5g67hJmYMmUgXv5N4PhkjJHHqrwnTk= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4= -github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-interpreter/wagon v0.5.1-0.20190713202023-55a163980b6c/go.mod h1:5+b/MBYkclRZngKF5s6qrgWxSLgE9F5dFdO1hAueZLc= github.com/go-interpreter/wagon v0.6.0/go.mod h1:5+b/MBYkclRZngKF5s6qrgWxSLgE9F5dFdO1hAueZLc= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= -github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1 h1:G5FRp8JnTd7RQH5kemVNlMeyXQAztQ3mOWV95KxsXH8= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/certificate-transparency-go v1.0.21 h1:Yf1aXowfZ2nuboBsg7iYGLmwsOARdV86pfH3g95wXmE= -github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= -github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190908185732-236ed259b199/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.5 h1:kxhtnfFVi+rYdOALN0B3k9UT86zVJKfBimRaciULW4I= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.0 h1:tOSd0UKHQd6urX6ApfOn4XdBMY6Sh1MfxV3kmaazO+U= -github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= +github.com/gorilla/mux v1.7.2 h1:zoNxOV7WjqXptQOVngLmcSQgXmgk4NMz1HibBchjl/I= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= -github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= -github.com/hashicorp/go-version v1.1.0 h1:bPIoEKD27tNdebFGGxxYwcL4nepeY4j1QP23PFRGzg0= -github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= github.com/jarcoal/httpmock v1.0.4 h1:jp+dy/+nonJE4g4xbVtl9QdrUNbn6/3hDT5R4nDIZnA= github.com/jarcoal/httpmock v1.0.4/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= -github.com/jinzhu/gorm v1.9.11 h1:gaHGvE+UnWGlbWG4Y3FUwY1EcZ5n6S9WtqBA/uySMLE= -github.com/jinzhu/gorm v1.9.11/go.mod h1:bu/pK8szGZ2puuErfU0RwyeNdsf3e6nCX/noXaVxkfw= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.0.1 h1:HjfetcXq097iXP0uoPCdnM4Efp5/9MsM0/M+XOTeR3M= -github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 h1:jKUP9TQ0c7X3w6+IPyMit07RE42MtTWNd77sN2cHngQ= github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22/go.mod h1:u0Jo4f2dNlTJeeOywkM6bLwxq6gC3pZ9rEFHn3AhTdk= github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 h1:+kBG/8rjCa6vxJZbUjAiE4MQmBEBYc8nLEb51frnvBY= github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07/go.mod h1:j1kV/8f3jowErEq4XyeypkCdvg5EeHkf0YCKCcq5Ybo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uiaSepXwyf3o52HaUYcV+Tu66S3F5GA= -github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.7 h1:0hzRabrMN4tSTvMfnL3SCv1ZGeAP23ynzodBgaHeMeg= +github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/knq/sysutil v0.0.0-20181215143952-f05b59f0f307/go.mod h1:BjPj+aVjl9FW/cCGiF3nGh5v+9Gd3VCgBQbod/GlMaQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -248,290 +455,624 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q= -github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/miekg/pkcs11 v0.0.0-20190401114359-553cfdd26aaa h1:gOXc1BXmFuxWYmTfoK51YJR7srco3CwbsVHgr+8Y4r0= -github.com/miekg/pkcs11 v0.0.0-20190401114359-553cfdd26aaa/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mreiferson/go-httpclient v0.0.0-20160630210159-31f0106b4474/go.mod h1:OQA4XLvDbMgS8P0CevmM4m9Q3Jq4phKUzcocxuGJ5m8= +github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.6 h1:11TGpSHY7Esh/i/qnq02Jo5oVrI1Gue8Slbq0ujPZFQ= github.com/nxadm/tail v1.4.6/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M= github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ= +github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y= +github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.1/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIMIGuI= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v0.9.3 h1:9iH4JKXLzFbOAdtqv/a+j8aewx2Y8lAjAydhbaScPF8= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.7.1 h1:NTGy1Ja9pByO+xAeH/qiWnLrKtr3hJPNjaVUwnjpdpA= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.2.0 h1:kUZDBDTdBVBYBj5Tmh2NZLlF60mfjA27rM34b+cVwNU= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.0 h1:7etb9YClo3a6HjLzfl6rIQaU+FDfi0VSX39io3aQ+DM= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.10.0 h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lNawc= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084 h1:sofwID9zm4tzrgykg80hfFph1mryUeLRsUfoocVVmRY= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.7 h1:FfTH+vuMXOas8jmfb5/M7dzEYx7LpcLb7a0LPe34uOU= +github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= +github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/theupdateframework/notary v0.6.1 h1:7wshjstgS9x9F5LuB1L5mBI2xNMObWqjz+cjWoom6l0= -github.com/theupdateframework/notary v0.6.1/go.mod h1:MOfgIfmox8s7/7fduvB2xyPPMJCrjRLRizA8OFwpnKY= +github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/twitchyliquid64/golang-asm v0.0.0-20190126203739-365674df15fc/go.mod h1:NoCfSFWosfqMqmmD7hApkirIK9ozpHjxRnRxs1l413A= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/weppos/publicsuffix-go v0.4.0 h1:YSnfg3V65LcCFKtIGKGoBhkyKolEd0hlipcXaOjdnQw= -github.com/weppos/publicsuffix-go v0.4.0/go.mod h1:z3LCPQ38eedDQSwmsSRW4Y7t2L8Ln16JPQ02lHAdn5k= +github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= +github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/zmap/rc2 v0.0.0-20131011165748-24b9757f5521/go.mod h1:3YZ9o3WnatTIZhuOtot4IcUfzoKVjUHqu6WALIyI0nE= -github.com/zmap/zcertificate v0.0.0-20180516150559-0e3d58b1bac4/go.mod h1:5iU54tB79AMBcySS0R2XIyZBAVmeHranShAFELYx7is= -github.com/zmap/zcrypto v0.0.0-20190729165852-9051775e6a2e h1:mvOa4+/DXStR4ZXOks/UsjeFdn5O5JpLUtzqk9U8xXw= -github.com/zmap/zcrypto v0.0.0-20190729165852-9051775e6a2e/go.mod h1:w7kd3qXHh8FNaczNjslXqvFQiv5mMWRXlL9klTUAHc8= -github.com/zmap/zlint v1.0.2 h1:07+WuC/prlXVlWa1CJx2lCpuCd8biIeBAVnwTN2CPaA= -github.com/zmap/zlint v1.0.2/go.mod h1:29UiAJNsiVdvTBFCJW8e3q6dcDbOoPkhMgttOSCIMMY= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= go.coder.com/go-tools v0.0.0-20190317003359-0c6a35b74a16/go.mod h1:iKV5yK9t+J5nG9O3uF6KYdPEz3dyfMyB15MN1rbQ8Qw= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180426230345-b49d69b5da94/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 h1:AeiKBIuRw3UomYXSbLy0Mc2dDLfdtbT/IVn4keq83P0= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 h1:bjcUS9ztw9kFmmIxJInhon/0Is3p+EHBKNgquIzo1OI= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a h1:aYOabOQFp6Vj6W1F80affTUvO9UxmJRx8K0gsfABByQ= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190306220234-b354f8bf4d9e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190618155005-516e3c20635f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190927073244-c990c680b611/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e h1:XMgFehsDnnLGtjvjOfqWSUzt0alpTR1RSEuznObga2c= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0 h1:/5xXl8Y5W96D+TtHSlonuFqGHIWVuyCkGJLwGh9JJFs= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e h1:EHBhcS0mlXEAVwNyO2dLfjToGsyY4j24pTs2ScHnX7s= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107 h1:xtNn7qFlagY2mQNFHMSRPjT2RkOV4OXM7P5TVy9xATo= -google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a h1:pOwg4OoaRYScjmR4LlLgdtnyoHYTSAVhhqe5uPdpII8= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.21.0 h1:G+97AoqBnmZIT91cLG/EkCoK9NSelj64P8bOHHNmGn0= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= +gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/dancannon/gorethink.v3 v3.0.5 h1:/g7PWP7zUS6vSNmHSDbjCHQh1Rqn8Jy6zSMQxAsBSMQ= -gopkg.in/dancannon/gorethink.v3 v3.0.5/go.mod h1:GXsi1e3N2OcKhcP6nsYABTiUejbWMFO4GY5a4pEaeEc= -gopkg.in/fatih/pool.v2 v2.0.0 h1:xIFeWtxifuQJGk/IEPKsTduEKcKvPmhoiVDGpC40nKg= -gopkg.in/fatih/pool.v2 v2.0.0/go.mod h1:8xVGeu1/2jr2wm5V9SPuMht2H5AEmf5aFMGSQixtjTY= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/gorethink/gorethink.v3 v3.0.5 h1:e2Uc/Xe+hpcVQFsj6MuHlYog3r0JYpnTzwDj/y2O4MU= -gopkg.in/gorethink/gorethink.v3 v3.0.5/go.mod h1:+3yIIHJUGMBK+wyPH+iN5TP+88ikFDfZdqTlK3Y9q8I= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.55.0 h1:E8yzL5unfpW3M6fz/eB7Cb5MQAYSZ7GKo4Qth+N2sgQ= gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gosrc.io/xmpp v0.5.1 h1:Rgrm5s2rt+npGggJH3HakQxQXR8ZZz3+QRzakRQqaq4= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gosrc.io/xmpp v0.5.1/go.mod h1:L3NFMqYOxyLz3JGmgFyWf7r9htE91zVGiK40oW4RwdY= gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/gotestsum v0.3.5/go.mod h1:Mnf3e5FUzXbkCfynWBGOwLssY7gTQgCHObK9tMpAriY= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= mvdan.cc/sh v2.6.4+incompatible/go.mod h1:IeeQbZq+x2SUGBensq/jge5lLQbS3XT2ktyp3wrt4x8= nhooyr.io/websocket v1.6.5/go.mod h1:F259lAzPRAH0htX2y3ehpJe09ih1aSHN7udWki1defY= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/pkg/container/client.go b/pkg/container/client.go index 4e42cba..371206b 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -212,7 +212,7 @@ func (client dockerClient) StartContainer(c Container) (t.ContainerID, error) { name := c.Name() log.Infof("Creating %s", name) - createdContainer, err := client.api.ContainerCreate(bg, config, hostConfig, simpleNetworkConfig, name) + createdContainer, err := client.api.ContainerCreate(bg, config, hostConfig, simpleNetworkConfig, nil, name) if err != nil { return "", err } diff --git a/pkg/registry/trust.go b/pkg/registry/trust.go index c2bf7da..ab9e353 100644 --- a/pkg/registry/trust.go +++ b/pkg/registry/trust.go @@ -1,16 +1,17 @@ package registry import ( + "encoding/base64" + "encoding/json" "errors" "os" "strings" - "github.com/docker/cli/cli/command" cliconfig "github.com/docker/cli/cli/config" "github.com/docker/cli/cli/config/configfile" "github.com/docker/cli/cli/config/credentials" + "github.com/docker/cli/cli/config/types" "github.com/docker/distribution/reference" - "github.com/docker/docker/api/types" log "github.com/sirupsen/logrus" ) @@ -96,6 +97,10 @@ func CredentialsStore(configFile configfile.ConfigFile) credentials.Store { } // EncodeAuth Base64 encode an AuthConfig struct for transmission over HTTP -func EncodeAuth(auth types.AuthConfig) (string, error) { - return command.EncodeAuthToBase64(auth) +func EncodeAuth(authConfig types.AuthConfig) (string, error) { + buf, err := json.Marshal(authConfig) + if err != nil { + return "", err + } + return base64.URLEncoding.EncodeToString(buf), nil } From 1ec523489876deb9634d7104c3a65cc102690f66 Mon Sep 17 00:00:00 2001 From: modem7 Date: Tue, 5 Oct 2021 13:27:15 +0100 Subject: [PATCH 131/389] Update README.md (#1077) Added new line to Quick Start to make it easier to read at glance. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a51b266..0cae1bd 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,9 @@ ## Quick Start -With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially. Run the watchtower container with the following command: +With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. + +Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially. Run the watchtower container with the following command: ``` $ docker run -d \ From db13bdec3c354d0210d44d1c4ad8ea7e64a795b8 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 5 Oct 2021 17:31:09 +0200 Subject: [PATCH 132/389] docs: add modem7 as a contributor for doc (#1083) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index afe73da..b3fdd3a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -776,6 +776,15 @@ "contributions": [ "doc" ] + }, + { + "login": "modem7", + "name": "modem7", + "avatar_url": "https://avatars.githubusercontent.com/u/4349962?v=4", + "profile": "https://github.com/modem7", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 0cae1bd..ec8524c 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
DasSkelett

💻
zenjabba

📖
Dan Quan

📖 +
modem7

📖 From 4a66a693c61ef9a67594f63041eb1ff18db0a0cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 9 Oct 2021 12:12:34 +0200 Subject: [PATCH 133/389] chore(deps): bump shoutrrr and containrd (#1088) - update containrrr/shoutrrr to latest v0.5 patch (v0.5.1 => v0.5.2) - update containerd/containerd to a "safe" version (v1.5.5 => v1.5.7) --- .gitignore | 2 ++ go.mod | 4 ++-- go.sum | 30 ++++++++++++++++++++++++++++-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 50b5c2d..c371f41 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ watchtower +watchtower.exe vendor .glide dist @@ -6,3 +7,4 @@ dist .DS_Store /site coverage.out +*.coverprofile \ No newline at end of file diff --git a/go.mod b/go.mod index eccc44d..00c0f8d 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,8 @@ module github.com/containrrr/watchtower go 1.12 require ( - github.com/containerd/containerd v1.5.5 // indirect - github.com/containrrr/shoutrrr v0.5.1 + github.com/containerd/containerd v1.5.7 // indirect + github.com/containrrr/shoutrrr v0.5.2 github.com/docker/cli v20.10.8+incompatible github.com/docker/distribution v2.7.1+incompatible github.com/docker/docker v20.10.8+incompatible diff --git a/go.sum b/go.sum index 12a5550..71ea26f 100644 --- a/go.sum +++ b/go.sum @@ -54,7 +54,10 @@ github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg3 github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.18 h1:cYnKADiM1869gvBpos3YCteeT6sZLB48lB5dmMMs8Tg= github.com/Microsoft/hcsshim v0.8.18/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21 h1:btRfUDThBE5IKcvI8O8jOiIkujUsAMBSRsYDYmEi6oM= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= @@ -78,6 +81,7 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= @@ -124,6 +128,7 @@ github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1 github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1 h1:iJnMvco9XGvKUvNQkv88bE4uJXxRQH18efbKo9w5vHQ= github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= @@ -145,18 +150,22 @@ github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoT github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= github.com/containerd/containerd v1.5.5 h1:q1gxsZsGZ8ddVe98yO6pR21b5xQSMiR61lD0W96pgQo= github.com/containerd/containerd v1.5.5/go.mod h1:oSTh0QpT1w6jYcGmbiSbxv9OSQYaa88mPyWIuU79zyo= +github.com/containerd/containerd v1.5.7 h1:rQyoYtj4KddB3bxG6SAqd4+08gePNyJjRqvOIfV3rkM= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= +github.com/containerd/continuity v0.1.0 h1:UFRRY5JemiAhPZrr/uE0n8fMTLcZsUvySPr1+D7pgr8= github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= @@ -176,10 +185,12 @@ github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDG github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2 h1:2/O3oTZN36q2xRolk0a2WWGgh7/Vf/liElg5hFYLX9U= github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= @@ -194,8 +205,8 @@ github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRD github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= -github.com/containrrr/shoutrrr v0.5.1 h1:who87ACg0spQdbImaFMsOSh3g2FWyeN5nmO8tCg3llQ= -github.com/containrrr/shoutrrr v0.5.1/go.mod h1:XSU8tOIZ1JG8m6OuPozfGLpj6Ed+S8ZrRJaEodQhbzw= +github.com/containrrr/shoutrrr v0.5.2 h1:97P+wZDpN2gzBKLt4PDP1ZUTLz+k8AJVs40WOu9NNw8= +github.com/containrrr/shoutrrr v0.5.2/go.mod h1:XSU8tOIZ1JG8m6OuPozfGLpj6Ed+S8ZrRJaEodQhbzw= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -243,6 +254,7 @@ github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avu github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= @@ -310,6 +322,7 @@ github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6 github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.4.0 h1:zgVt4UpGxcqVOw97aRGxT4svlcmdK35fynLNctY32zI= github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -323,6 +336,7 @@ github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -371,6 +385,7 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -404,6 +419,7 @@ github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= @@ -432,6 +448,7 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13 h1:eSvu8Tmq6j2psUJqJrLcWH6K3w5Dwc+qipbaA6eVEN4= github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/knq/sysutil v0.0.0-20181215143952-f05b59f0f307/go.mod h1:BjPj+aVjl9FW/cCGiF3nGh5v+9Gd3VCgBQbod/GlMaQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -478,8 +495,10 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= +github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.4.1 h1:1O+1cHA1aujwEwwVMa2Xm2l+gIpUHyd3+D+d7LZh1kM= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= @@ -534,16 +553,21 @@ github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59P github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= +github.com/opencontainers/runc v1.0.1 h1:G18PGckGdAm3yVQRWDVQ1rLSLntiniKJ0cNRT2Tm5gs= github.com/opencontainers/runc v1.0.1/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg= +github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= +github.com/opencontainers/selinux v1.8.2 h1:c4ca10UMgRcvZ6h0K4HtS15UaVSBEaE+iln2LVpAuGc= github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= @@ -695,6 +719,7 @@ go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvS go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -794,6 +819,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= From 3bf934027f505fdc2015bfb3cf409f40391e11a0 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Wed, 27 Oct 2021 15:23:00 +0200 Subject: [PATCH 134/389] Create pull_request_template.md (#1110) --- .github/pull_request_template.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..1c07727 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,17 @@ + From 26fba69169e45fec10e6e11358d323c749f227f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 1 Nov 2021 19:26:41 +0100 Subject: [PATCH 135/389] test: refactor client tests should not be explicitly telling what they are testing and the requirements fixed the test data so that it doesn't contain discrepancies fully reset the mock client (no shared state) and only support the calls that is expected --- pkg/container/client_test.go | 253 ++++++++++++------ pkg/container/mocks/ApiServer.go | 188 +++++++------ .../mocks/data/container_stopped.json | 2 +- .../mocks/data/container_watchtower.json | 205 ++++++++++++++ pkg/container/mocks/data/containers.json | 52 +++- 5 files changed, 537 insertions(+), 163 deletions(-) create mode 100644 pkg/container/mocks/data/container_watchtower.json diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 01e4c47..d9bf86f 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -3,28 +3,33 @@ package container import ( "github.com/containrrr/watchtower/pkg/container/mocks" "github.com/containrrr/watchtower/pkg/filters" + t "github.com/containrrr/watchtower/pkg/types" + + "github.com/docker/docker/api/types" + "github.com/docker/docker/api/types/backend" cli "github.com/docker/docker/client" + "github.com/onsi/gomega/gbytes" + "github.com/onsi/gomega/ghttp" + "github.com/sirupsen/logrus" + . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "github.com/onsi/gomega/gbytes" - "github.com/sirupsen/logrus" + . "github.com/onsi/gomega/types" + + "net/http" ) var _ = Describe("the client", func() { var docker *cli.Client - var client Client + var mockServer *ghttp.Server BeforeSuite(func() { - server := mocks.NewMockAPIServer() + mockServer = ghttp.NewServer() docker, _ = cli.NewClientWithOpts( - cli.WithHost(server.URL), - cli.WithHTTPClient(server.Client())) - client = dockerClient{ - api: docker, - pullImages: false, - } + cli.WithHost(mockServer.URL()), + cli.WithHTTPClient(mockServer.HTTPTestServer.Client())) }) - It("should return a client for the api", func() { - Expect(client).NotTo(BeNil()) + AfterEach(func() { + mockServer.Reset() }) Describe("WarnOnHeadPullFailed", func() { containerUnknown := *mockContainerWithImageName("unknown.repo/prefix/imagename:latest") @@ -54,90 +59,152 @@ var _ = Describe("the client", func() { }) }) }) - - When("listing containers without any filter", func() { - It("should return all available containers", func() { - containers, err := client.ListContainers(filters.NoFilter) - Expect(err).NotTo(HaveOccurred()) - Expect(len(containers) == 2).To(BeTrue()) - }) - }) - When("listing containers with a filter matching nothing", func() { - It("should return an empty array", func() { - filter := filters.FilterByNames([]string{"lollercoaster"}, filters.NoFilter) - containers, err := client.ListContainers(filter) - Expect(err).NotTo(HaveOccurred()) - Expect(len(containers) == 0).To(BeTrue()) - }) - }) - When("listing containers with a watchtower filter", func() { - It("should return only the watchtower container", func() { - containers, err := client.ListContainers(filters.WatchtowerContainersFilter) - Expect(err).NotTo(HaveOccurred()) - Expect(len(containers) == 1).To(BeTrue()) - Expect(containers[0].ImageName()).To(Equal("containrrr/watchtower:latest")) - }) - }) - When(`listing containers with the "include stopped" option`, func() { - It("should return both stopped and running containers", func() { - client = dockerClient{ - api: docker, - pullImages: false, - includeStopped: true, - } - containers, err := client.ListContainers(filters.NoFilter) - Expect(err).NotTo(HaveOccurred()) - Expect(len(containers) > 0).To(BeTrue()) - }) - }) - When(`listing containers with the "include restart" option`, func() { - It("should return both stopped, restarting and running containers", func() { - client = dockerClient{ - api: docker, - pullImages: false, - includeRestarting: true, - } - containers, err := client.ListContainers(filters.NoFilter) - Expect(err).NotTo(HaveOccurred()) - RestartingContainerFound := false - for _, ContainerRunning := range containers { - if ContainerRunning.containerInfo.State.Restarting { - RestartingContainerFound = true + When("listing containers", func() { + When("no filter is provided", func() { + It("should return all available containers", func() { + mockServer.AppendHandlers(mocks.ListContainersHandler("running")) + mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) + client := dockerClient{ + api: docker, + pullImages: false, } - } - Expect(RestartingContainerFound).To(BeTrue()) - Expect(RestartingContainerFound).NotTo(BeFalse()) + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + Expect(containers).To(HaveLen(2)) + }) }) - }) - When(`listing containers without restarting ones`, func() { - It("should not return restarting containers", func() { - client = dockerClient{ - api: docker, - pullImages: false, - includeRestarting: false, - } - containers, err := client.ListContainers(filters.NoFilter) - Expect(err).NotTo(HaveOccurred()) - RestartingContainerFound := false - for _, ContainerRunning := range containers { - if ContainerRunning.containerInfo.State.Restarting { - RestartingContainerFound = true + When("a filter matching nothing", func() { + It("should return an empty array", func() { + mockServer.AppendHandlers(mocks.ListContainersHandler("running")) + mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) + filter := filters.FilterByNames([]string{"lollercoaster"}, filters.NoFilter) + client := dockerClient{ + api: docker, + pullImages: false, } - } - Expect(RestartingContainerFound).To(BeFalse()) - Expect(RestartingContainerFound).NotTo(BeTrue()) + containers, err := client.ListContainers(filter) + Expect(err).NotTo(HaveOccurred()) + Expect(containers).To(BeEmpty()) + }) + }) + When("a watchtower filter is provided", func() { + It("should return only the watchtower container", func() { + mockServer.AppendHandlers(mocks.ListContainersHandler("running")) + mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) + client := dockerClient{ + api: docker, + pullImages: false, + } + containers, err := client.ListContainers(filters.WatchtowerContainersFilter) + Expect(err).NotTo(HaveOccurred()) + Expect(containers).To(ConsistOf(withContainerImageName(Equal("containrrr/watchtower:latest")))) + }) + }) + When(`include stopped is enabled`, func() { + It("should return both stopped and running containers", func() { + mockServer.AppendHandlers(mocks.ListContainersHandler("running", "exited", "created")) + mockServer.AppendHandlers(mocks.GetContainerHandlers("stopped", "watchtower", "running")...) + client := dockerClient{ + api: docker, + pullImages: false, + includeStopped: true, + } + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + Expect(containers).To(ContainElement(havingRunningState(false))) + }) + }) + When(`include restarting is enabled`, func() { + It("should return both restarting and running containers", func() { + mockServer.AppendHandlers(mocks.ListContainersHandler("running", "restarting")) + mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running", "restarting")...) + client := dockerClient{ + api: docker, + pullImages: false, + includeRestarting: true, + } + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + Expect(containers).To(ContainElement(havingRestartingState(true))) + }) + }) + When(`include restarting is disabled`, func() { + It("should not return restarting containers", func() { + mockServer.AppendHandlers(mocks.ListContainersHandler("running")) + mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) + client := dockerClient{ + api: docker, + pullImages: false, + includeRestarting: false, + } + containers, err := client.ListContainers(filters.NoFilter) + Expect(err).NotTo(HaveOccurred()) + Expect(containers).NotTo(ContainElement(havingRestartingState(true))) + }) }) }) Describe(`ExecuteCommand`, func() { When(`logging`, func() { It("should include container id field", func() { + client := dockerClient{ + api: docker, + pullImages: false, + } + // Capture logrus output in buffer logbuf := gbytes.NewBuffer() origOut := logrus.StandardLogger().Out defer logrus.SetOutput(origOut) logrus.SetOutput(logbuf) - _, err := client.ExecuteCommand("ex-cont-id", "exec-cmd", 1) + user := "" + containerID := t.ContainerID("ex-cont-id") + execID := "ex-exec-id" + cmd := "exec-cmd" + + mockServer.AppendHandlers( + // API.ContainerExecCreate + ghttp.CombineHandlers( + ghttp.VerifyRequest("POST", HaveSuffix("containers/%v/exec", containerID)), + ghttp.VerifyJSONRepresenting(types.ExecConfig{ + User: user, + Detach: false, + Tty: true, + Cmd: []string{ + "sh", + "-c", + cmd, + }, + }), + ghttp.RespondWithJSONEncoded(http.StatusOK, types.IDResponse{ID: execID}), + ), + // API.ContainerExecStart + ghttp.CombineHandlers( + ghttp.VerifyRequest("POST", HaveSuffix("exec/%v/start", execID)), + ghttp.VerifyJSONRepresenting(types.ExecStartCheck{ + Detach: false, + Tty: true, + }), + ghttp.RespondWith(http.StatusOK, nil), + ), + // API.ContainerExecInspect + ghttp.CombineHandlers( + ghttp.VerifyRequest("GET", HaveSuffix("exec/ex-exec-id/json")), + ghttp.RespondWithJSONEncoded(http.StatusOK, backend.ExecInspect{ + ID: execID, + Running: false, + ExitCode: nil, + ProcessConfig: &backend.ExecProcessConfig{ + Entrypoint: "sh", + Arguments: []string{"-c", cmd}, + User: user, + }, + ContainerID: string(containerID), + }), + ), + ) + + _, err := client.ExecuteCommand(containerID, cmd, 1) Expect(err).NotTo(HaveOccurred()) // Note: Since Execute requires opening up a raw TCP stream to the daemon for the output, this will fail // when using the mock API server. Regardless of the outcome, the log should include the container ID @@ -146,3 +213,25 @@ var _ = Describe("the client", func() { }) }) }) + +// Gomega matcher helpers + +func withContainerImageName(matcher GomegaMatcher) GomegaMatcher { + return WithTransform(containerImageName, matcher) +} + +func containerImageName(container Container) string { + return container.ImageName() +} + +func havingRestartingState(expected bool) GomegaMatcher { + return WithTransform(func(container Container) bool { + return container.containerInfo.State.Restarting + }, Equal(expected)) +} + +func havingRunningState(expected bool) GomegaMatcher { + return WithTransform(func(container Container) bool { + return container.containerInfo.State.Running + }, Equal(expected)) +} diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index 96c3921..22613cf 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -3,91 +3,123 @@ package mocks import ( "encoding/json" "fmt" - "github.com/onsi/ginkgo" + "github.com/docker/docker/api/types" + "github.com/docker/docker/api/types/filters" + . "github.com/onsi/gomega" + "github.com/onsi/gomega/ghttp" "io/ioutil" "net/http" - "net/http/httptest" + "net/url" "path/filepath" - "strings" - - "github.com/docker/docker/api/types" - "github.com/sirupsen/logrus" ) -// NewMockAPIServer returns a mocked docker api server that responds to some fixed requests -// used in the test suite. -func NewMockAPIServer() *httptest.Server { - return httptest.NewServer(http.HandlerFunc( - func(w http.ResponseWriter, r *http.Request) { - logrus.Debug("Mock server has received a HTTP call on ", r.URL) - var response = "" - - if isRequestFor("filters=", r) { - - Filters := r.URL.Query().Get("filters") - var result map[string]interface{} - _ = json.Unmarshal([]byte(Filters), &result) - status := result["status"].(map[string]interface{}) - - response = getMockJSONFromDisk("./mocks/data/containers.json") - var x2 []types.Container - var containers []types.Container - _ = json.Unmarshal([]byte(response), &containers) - for _, v := range containers { - for key := range status { - if v.State == key { - x2 = append(x2, v) - } - } - } - - b, _ := json.Marshal(x2) - response = string(b) - - } else if isRequestFor("containers/json?limit=0", r) { - response = getMockJSONFromDisk("./mocks/data/containers.json") - } else if isRequestFor("ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65", r) { - response = getMockJSONFromDisk("./mocks/data/container_stopped.json") - } else if isRequestFor("b978af0b858aa8855cce46b628817d4ed58e58f2c4f66c9b9c5449134ed4c008", r) { - response = getMockJSONFromDisk("./mocks/data/container_running.json") - } else if isRequestFor("ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b67", r) { - response = getMockJSONFromDisk("./mocks/data/container_restarting.json") - } else if isRequestFor("sha256:19d07168491a3f9e2798a9bed96544e34d57ddc4757a4ac5bb199dea896c87fd", r) { - response = getMockJSONFromDisk("./mocks/data/image01.json") - } else if isRequestFor("sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", r) { - response = getMockJSONFromDisk("./mocks/data/image02.json") - } else if isRequestFor("containers/ex-cont-id/exec", r) { - response = `{"Id": "ex-exec-id"}` - } else if isRequestFor("exec/ex-exec-id/start", r) { - response = `{"Id": "ex-exec-id"}` - } else if isRequestFor("exec/ex-exec-id/json", r) { - response = `{ - "ExecID": "ex-exec-id", - "ContainerID": "ex-cont-id", - "Running": false, - "ExitCode": 0, - "Pid": 0 - }` - } else { - // Allow ginkgo to correctly capture the failed assertion, even though this is called from a go func - defer ginkgo.GinkgoRecover() - ginkgo.Fail(fmt.Sprintf("mock API server endpoint not supported: %q", r.URL.String())) - } - _, _ = fmt.Fprintln(w, response) - }, - )) -} - -func isRequestFor(urlPart string, r *http.Request) bool { - return strings.Contains(r.URL.String(), urlPart) -} - -func getMockJSONFromDisk(relPath string) string { +func getMockJSONFile(relPath string) ([]byte, error) { absPath, _ := filepath.Abs(relPath) buf, err := ioutil.ReadFile(absPath) if err != nil { - logrus.WithError(err).WithField("file", absPath).Error(err) - return "" + // logrus.WithError(err).WithField("file", absPath).Error(err) + return nil, err } - return string(buf) + return buf, nil +} + +func RespondWithJSONFile(relPath string, statusCode int, optionalHeader ...http.Header) http.HandlerFunc { + handler, err := respondWithJSONFile(relPath, statusCode, optionalHeader...) + ExpectWithOffset(1, err).ShouldNot(HaveOccurred()) + return handler +} + +func respondWithJSONFile(relPath string, statusCode int, optionalHeader ...http.Header) (http.HandlerFunc, error) { + buf, err := getMockJSONFile(relPath) + if err != nil { + return nil, err + } + return ghttp.RespondWith(statusCode, buf, optionalHeader...), nil +} + +func GetContainerHandlers(containerFiles ...string) []http.HandlerFunc { + handlers := make([]http.HandlerFunc, 0, len(containerFiles)*2) + for _, file := range containerFiles { + handlers = append(handlers, getContainerHandler(file)) + + // Also append the image request since that will be called for every container + if file == "running" { + // The "running" container is the only one using image02 + handlers = append(handlers, getImageHandler(1)) + } else { + handlers = append(handlers, getImageHandler(0)) + } + } + return handlers +} + +func createFilterArgs(statuses []string) filters.Args { + args := filters.NewArgs() + for _, status := range statuses { + args.Add("status", status) + } + return args +} + +var containerFileIds = map[string]string{ + "stopped": "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65", + "watchtower": "3d88e0e3543281c747d88b27e246578b65ae8964ba86c7cd7522cf84e0978134", + "running": "b978af0b858aa8855cce46b628817d4ed58e58f2c4f66c9b9c5449134ed4c008", + "restarting": "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b67", +} + +var imageIds = []string{ + "sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", + "sha256:19d07168491a3f9e2798a9bed96544e34d57ddc4757a4ac5bb199dea896c87fd", +} + +func getContainerHandler(file string) http.HandlerFunc { + id, ok := containerFileIds[file] + failTestUnless(ok) + return ghttp.CombineHandlers( + ghttp.VerifyRequest("GET", HaveSuffix("/containers/%v/json", id)), + RespondWithJSONFile(fmt.Sprintf("./mocks/data/container_%v.json", file), http.StatusOK), + ) +} + +func ListContainersHandler(statuses ...string) http.HandlerFunc { + filterArgs := createFilterArgs(statuses) + bytes, err := filterArgs.MarshalJSON() + ExpectWithOffset(1, err).ShouldNot(HaveOccurred()) + query := url.Values{ + "limit": []string{"0"}, + "filters": []string{string(bytes)}, + } + return ghttp.CombineHandlers( + ghttp.VerifyRequest("GET", HaveSuffix("containers/json"), query.Encode()), + respondWithFilteredContainers(filterArgs), + ) +} + +func respondWithFilteredContainers(filters filters.Args) http.HandlerFunc { + containersJson, err := getMockJSONFile("./mocks/data/containers.json") + ExpectWithOffset(2, err).ShouldNot(HaveOccurred()) + var filteredContainers []types.Container + var containers []types.Container + ExpectWithOffset(2, json.Unmarshal(containersJson, &containers)).To(Succeed()) + for _, v := range containers { + for _, key := range filters.Get("status") { + if v.State == key { + filteredContainers = append(filteredContainers, v) + } + } + } + + return ghttp.RespondWithJSONEncoded(http.StatusOK, filteredContainers) +} + +func getImageHandler(index int) http.HandlerFunc { + return ghttp.CombineHandlers( + ghttp.VerifyRequest("GET", HaveSuffix("/images/%v/json", imageIds[index])), + RespondWithJSONFile(fmt.Sprintf("./mocks/data/image%02d.json", index+1), http.StatusOK), + ) +} + +func failTestUnless(ok bool) { + ExpectWithOffset(2, ok).To(BeTrue(), "test setup failed") } diff --git a/pkg/container/mocks/data/container_stopped.json b/pkg/container/mocks/data/container_stopped.json index a4519d7..0043c62 100644 --- a/pkg/container/mocks/data/container_stopped.json +++ b/pkg/container/mocks/data/container_stopped.json @@ -21,7 +21,7 @@ "HostnamePath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/hostname", "HostsPath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/hosts", "LogPath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65-json.log", - "Name": "/watchtower-test", + "Name": "/watchtower-stopped", "RestartCount": 0, "Driver": "overlay2", "Platform": "linux", diff --git a/pkg/container/mocks/data/container_watchtower.json b/pkg/container/mocks/data/container_watchtower.json new file mode 100644 index 0000000..14737b5 --- /dev/null +++ b/pkg/container/mocks/data/container_watchtower.json @@ -0,0 +1,205 @@ +{ + "Id": "3d88e0e3543281c747d88b27e246578b65ae8964ba86c7cd7522cf84e0978134", + "Created": "2020-04-10T19:51:22.245041005Z", + "Path": "/watchtower", + "Args": [], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 3854, + "ExitCode": 0, + "Error": "", + "StartedAt": "2019-04-13T22:38:24.498745809Z", + "FinishedAt": "2019-04-13T22:38:18.486292076Z" + }, + "Image": "sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", + "ResolvConfPath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/hostname", + "HostsPath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/hosts", + "LogPath": "/var/lib/docker/containers/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65/ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65-json.log", + "Name": "/watchtower-running", + "RestartCount": 0, + "Driver": "overlay2", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "", + "ExecIDs": null, + "HostConfig": { + "Binds": [ + "/var/run/docker.sock:/var/run/docker.sock" + ], + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "default", + "PortBindings": {}, + "RestartPolicy": { + "Name": "no", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "CapAdd": null, + "CapDrop": null, + "Dns": [], + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": null, + "GroupAdd": null, + "IpcMode": "shareable", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "ConsoleSize": [ + 0, + 0 + ], + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "BlkioDeviceReadBps": null, + "BlkioDeviceWriteBps": null, + "BlkioDeviceReadIOps": null, + "BlkioDeviceWriteIOps": null, + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": [], + "DeviceCgroupRules": null, + "DiskQuota": 0, + "KernelMemory": 0, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": false, + "PidsLimit": 0, + "Ulimits": null, + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/asound", + "/proc/acpi", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/timer_list", + "/proc/timer_stats", + "/proc/sched_debug", + "/proc/scsi", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "GraphDriver": { + "Data": { + "LowerDir": "/var/lib/docker/overlay2/9f6b91ea6e142835035d91123bbc7a05224dfa2abd4d020eac42f2ab420ccddc-init/diff:/var/lib/docker/overlay2/cdf82f50bc49177d0c17c24f3eaa29eba607b70cc6a081f77781b21c59a13eb8/diff:/var/lib/docker/overlay2/8108325ee844603c9b08d2772cf6e65dccf31dd5171f265078e5ed79a0ba3c0f/diff:/var/lib/docker/overlay2/e5e0cce6bf91b829a308424d99d7e56a33be3a11414ff5cdc48e762a1342b20f/diff", + "MergedDir": "/var/lib/docker/overlay2/9f6b91ea6e142835035d91123bbc7a05224dfa2abd4d020eac42f2ab420ccddc/merged", + "UpperDir": "/var/lib/docker/overlay2/9f6b91ea6e142835035d91123bbc7a05224dfa2abd4d020eac42f2ab420ccddc/diff", + "WorkDir": "/var/lib/docker/overlay2/9f6b91ea6e142835035d91123bbc7a05224dfa2abd4d020eac42f2ab420ccddc/work" + }, + "Name": "overlay2" + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/var/run/docker.sock", + "Destination": "/var/run/docker.sock", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ], + "Config": { + "Hostname": "ae8964ba86c7", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": true, + "AttachStderr": true, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + ], + "Cmd": null, + "Image": "containrrr/watchtower:latest", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/watchtower" + ], + "OnBuild": null, + "Labels": { + "com.centurylinklabs.watchtower": "true" + } + }, + "NetworkSettings": { + "Bridge": "", + "SandboxID": "05627d36c08ed994eebc44a2a8c9365a511756b55c500fb03fd5a14477cd4bf3", + "HairpinMode": false, + "LinkLocalIPv6Address": "", + "LinkLocalIPv6PrefixLen": 0, + "Ports": {}, + "SandboxKey": "/var/run/docker/netns/05627d36c08e", + "SecondaryIPAddresses": null, + "SecondaryIPv6Addresses": null, + "EndpointID": "", + "Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "IPAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "MacAddress": "", + "Networks": { + "bridge": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "NetworkID": "8fcfd56fa9203bafa98510abb08bff66ad05bef5b6e97d158cbae3397e1e065e", + "EndpointID": "", + "Gateway": "", + "IPAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "MacAddress": "", + "DriverOpts": null + } + } + } +} diff --git a/pkg/container/mocks/data/containers.json b/pkg/container/mocks/data/containers.json index 4acd7e2..439cc51 100644 --- a/pkg/container/mocks/data/containers.json +++ b/pkg/container/mocks/data/containers.json @@ -2,7 +2,55 @@ { "Id": "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65", "Names": [ - "/watchtower-test" + "/watchtower-stopped" + ], + "Image": "containrrr/watchtower:latest", + "ImageID": "sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", + "Command": "/watchtower", + "Created": 1554925882, + "Ports": [], + "Labels": { + "com.centurylinklabs.watchtower": "true" + }, + "State": "exited", + "Status": "Exited (1) 6 days ago", + "HostConfig": { + "NetworkMode": "default" + }, + "NetworkSettings": { + "Networks": { + "bridge": { + "IPAMConfig": null, + "Links": null, + "Aliases": null, + "NetworkID": "8fcfd56fa9203bafa98510abb08bff66ad05bef5b6e97d158cbae3397e1e065e", + "EndpointID": "", + "Gateway": "", + "IPAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "MacAddress": "", + "DriverOpts": null + } + } + }, + "Mounts": [ + { + "Type": "bind", + "Source": "/var/run/docker.sock", + "Destination": "/var/run/docker.sock", + "Mode": "", + "RW": true, + "Propagation": "rprivate" + } + ] + }, + { + "Id": "3d88e0e3543281c747d88b27e246578b65ae8964ba86c7cd7522cf84e0978134", + "Names": [ + "/watchtower-running" ], "Image": "containrrr/watchtower:latest", "ImageID": "sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", @@ -13,7 +61,7 @@ "com.centurylinklabs.watchtower": "true" }, "State": "running", - "Status": "Exited (1) 6 days ago", + "Status": "Up 3 days", "HostConfig": { "NetworkMode": "default" }, From ec43ecedc42619a31bb59b6e962f8ca7fdb2234a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 1 Nov 2021 19:32:44 +0100 Subject: [PATCH 136/389] test: remove unused cross package dependency on mock api server --- internal/actions/actions_suite_test.go | 94 ++++++++++---------------- internal/actions/mocks/client.go | 5 +- internal/actions/update_test.go | 18 ----- 3 files changed, 35 insertions(+), 82 deletions(-) diff --git a/internal/actions/actions_suite_test.go b/internal/actions/actions_suite_test.go index ffa6e2a..1afad35 100644 --- a/internal/actions/actions_suite_test.go +++ b/internal/actions/actions_suite_test.go @@ -5,12 +5,7 @@ import ( "time" "github.com/containrrr/watchtower/internal/actions" - "github.com/containrrr/watchtower/pkg/container" - "github.com/containrrr/watchtower/pkg/container/mocks" - - "github.com/docker/docker/api/types" - cli "github.com/docker/docker/client" . "github.com/containrrr/watchtower/internal/actions/mocks" . "github.com/onsi/ginkgo" @@ -23,51 +18,42 @@ func TestActions(t *testing.T) { } var _ = Describe("the actions package", func() { - var dockerClient cli.CommonAPIClient - var client MockClient - BeforeSuite(func() { - server := mocks.NewMockAPIServer() - dockerClient, _ = cli.NewClientWithOpts( - cli.WithHost(server.URL), - cli.WithHTTPClient(server.Client())) - }) - BeforeEach(func() { - pullImages := false - removeVolumes := false - - client = CreateMockClient( - &TestData{}, - dockerClient, - pullImages, - removeVolumes, - ) - }) - Describe("the check prerequisites method", func() { When("given an empty array", func() { It("should not do anything", func() { - client.TestData.Containers = []container.Container{} - err := actions.CheckForMultipleWatchtowerInstances(client, false, "") - Expect(err).NotTo(HaveOccurred()) + client := CreateMockClient( + &TestData{}, + // pullImages: + false, + // removeVolumes: + false, + ) + Expect(actions.CheckForMultipleWatchtowerInstances(client, false, "")).To(Succeed()) }) }) When("given an array of one", func() { It("should not do anything", func() { - client.TestData.Containers = []container.Container{ - CreateMockContainer( - "test-container", - "test-container", - "watchtower", - time.Now()), - } - err := actions.CheckForMultipleWatchtowerInstances(client, false, "") - Expect(err).NotTo(HaveOccurred()) + client := CreateMockClient( + &TestData{ + Containers: []container.Container{ + CreateMockContainer( + "test-container", + "test-container", + "watchtower", + time.Now()), + }, + }, + // pullImages: + false, + // removeVolumes: + false, + ) + Expect(actions.CheckForMultipleWatchtowerInstances(client, false, "")).To(Succeed()) }) }) When("given multiple containers", func() { + var client MockClient BeforeEach(func() { - pullImages := false - removeVolumes := false client = CreateMockClient( &TestData{ NameOfContainerToKeep: "test-container-02", @@ -84,9 +70,10 @@ var _ = Describe("the actions package", func() { time.Now()), }, }, - dockerClient, - pullImages, - removeVolumes, + // pullImages: + false, + // removeVolumes: + false, ) }) @@ -96,10 +83,8 @@ var _ = Describe("the actions package", func() { }) }) When("deciding whether to cleanup images", func() { + var client MockClient BeforeEach(func() { - pullImages := false - removeVolumes := false - client = CreateMockClient( &TestData{ Containers: []container.Container{ @@ -115,9 +100,10 @@ var _ = Describe("the actions package", func() { time.Now()), }, }, - dockerClient, - pullImages, - removeVolumes, + // pullImages: + false, + // removeVolumes: + false, ) }) It("should try to delete the image if the cleanup flag is true", func() { @@ -133,15 +119,3 @@ var _ = Describe("the actions package", func() { }) }) }) - -func createMockContainer(id string, name string, image string, created time.Time) container.Container { - content := types.ContainerJSON{ - ContainerJSONBase: &types.ContainerJSONBase{ - ID: id, - Image: image, - Name: name, - Created: created.String(), - }, - } - return *container.NewContainer(&content, nil) -} diff --git a/internal/actions/mocks/client.go b/internal/actions/mocks/client.go index 6378f43..4844a55 100644 --- a/internal/actions/mocks/client.go +++ b/internal/actions/mocks/client.go @@ -7,13 +7,11 @@ import ( "time" t "github.com/containrrr/watchtower/pkg/types" - cli "github.com/docker/docker/client" ) // MockClient is a mock that passes as a watchtower Client type MockClient struct { TestData *TestData - api cli.CommonAPIClient pullImages bool removeVolumes bool } @@ -31,10 +29,9 @@ func (testdata *TestData) TriedToRemoveImage() bool { } // CreateMockClient creates a mock watchtower Client for usage in tests -func CreateMockClient(data *TestData, api cli.CommonAPIClient, pullImages bool, removeVolumes bool) MockClient { +func CreateMockClient(data *TestData, pullImages bool, removeVolumes bool) MockClient { return MockClient{ data, - api, pullImages, removeVolumes, } diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index 8750253..46f031f 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -3,10 +3,8 @@ package actions_test import ( "github.com/containrrr/watchtower/internal/actions" "github.com/containrrr/watchtower/pkg/container" - "github.com/containrrr/watchtower/pkg/container/mocks" "github.com/containrrr/watchtower/pkg/types" dockerContainer "github.com/docker/docker/api/types/container" - cli "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "time" @@ -16,16 +14,8 @@ import ( ) var _ = Describe("the update action", func() { - var dockerClient cli.CommonAPIClient var client MockClient - BeforeEach(func() { - server := mocks.NewMockAPIServer() - dockerClient, _ = cli.NewClientWithOpts( - cli.WithHost(server.URL), - cli.WithHTTPClient(server.Client())) - }) - When("watchtower has been instructed to clean up", func() { BeforeEach(func() { pullImages := false @@ -51,7 +41,6 @@ var _ = Describe("the update action", func() { time.Now()), }, }, - dockerClient, pullImages, removeVolumes, ) @@ -117,7 +106,6 @@ var _ = Describe("the update action", func() { }), }, }, - dockerClient, false, false, ) @@ -147,7 +135,6 @@ var _ = Describe("the update action", func() { time.Now()), }, }, - dockerClient, false, false, ) @@ -186,7 +173,6 @@ var _ = Describe("the update action", func() { }), }, }, - dockerClient, false, false, ) @@ -222,7 +208,6 @@ var _ = Describe("the update action", func() { }), }, }, - dockerClient, false, false, ) @@ -258,7 +243,6 @@ var _ = Describe("the update action", func() { }), }, }, - dockerClient, false, false, ) @@ -293,7 +277,6 @@ var _ = Describe("the update action", func() { }), }, }, - dockerClient, false, false, ) @@ -329,7 +312,6 @@ var _ = Describe("the update action", func() { }), }, }, - dockerClient, false, false, ) From 2c8695683db326ca033fd2eb8aa927bd8cd30552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 1 Nov 2021 19:36:38 +0100 Subject: [PATCH 137/389] test: reduce test output noise --- internal/actions/actions_suite_test.go | 2 ++ pkg/registry/digest/digest_test.go | 1 - pkg/registry/registry_suite_test.go | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/actions/actions_suite_test.go b/internal/actions/actions_suite_test.go index 1afad35..5110fea 100644 --- a/internal/actions/actions_suite_test.go +++ b/internal/actions/actions_suite_test.go @@ -1,6 +1,7 @@ package actions_test import ( + "github.com/sirupsen/logrus" "testing" "time" @@ -14,6 +15,7 @@ import ( func TestActions(t *testing.T) { RegisterFailHandler(Fail) + logrus.SetOutput(GinkgoWriter) RunSpecs(t, "Actions Suite") } diff --git a/pkg/registry/digest/digest_test.go b/pkg/registry/digest/digest_test.go index 70193b8..a6e6650 100644 --- a/pkg/registry/digest/digest_test.go +++ b/pkg/registry/digest/digest_test.go @@ -117,7 +117,6 @@ var _ = Describe("Digests", func() { ), ) dig, err := digest.GetDigest(server.URL(), "token") - println(dig) Expect(server.ReceivedRequests()).Should(HaveLen(1)) Expect(err).NotTo(HaveOccurred()) Expect(dig).To(Equal(mockDigest)) diff --git a/pkg/registry/registry_suite_test.go b/pkg/registry/registry_suite_test.go index fe31f12..4dcbea6 100644 --- a/pkg/registry/registry_suite_test.go +++ b/pkg/registry/registry_suite_test.go @@ -1,6 +1,7 @@ package registry_test import ( + "github.com/sirupsen/logrus" "testing" . "github.com/onsi/ginkgo" @@ -9,5 +10,6 @@ import ( func TestRegistry(t *testing.T) { RegisterFailHandler(Fail) + logrus.SetOutput(GinkgoWriter) RunSpecs(t, "Registry Suite") } From 1b405d4c771350d16f85b5bbbe9305f5a97834fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 1 Nov 2021 20:35:50 +0100 Subject: [PATCH 138/389] test: container client tests refactor (#1117) --- pkg/container/mocks/ApiServer.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index 22613cf..20610cd 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" - . "github.com/onsi/gomega" + O "github.com/onsi/gomega" "github.com/onsi/gomega/ghttp" "io/ioutil" "net/http" @@ -23,9 +23,10 @@ func getMockJSONFile(relPath string) ([]byte, error) { return buf, nil } +// RespondWithJSONFile handles a request by returning the contents of the supplied file func RespondWithJSONFile(relPath string, statusCode int, optionalHeader ...http.Header) http.HandlerFunc { handler, err := respondWithJSONFile(relPath, statusCode, optionalHeader...) - ExpectWithOffset(1, err).ShouldNot(HaveOccurred()) + O.ExpectWithOffset(1, err).ShouldNot(O.HaveOccurred()) return handler } @@ -37,6 +38,7 @@ func respondWithJSONFile(relPath string, statusCode int, optionalHeader ...http. return ghttp.RespondWith(statusCode, buf, optionalHeader...), nil } +// GetContainerHandlers returns the handlers serving lookups for the supplied container mock files func GetContainerHandlers(containerFiles ...string) []http.HandlerFunc { handlers := make([]http.HandlerFunc, 0, len(containerFiles)*2) for _, file := range containerFiles { @@ -77,31 +79,32 @@ func getContainerHandler(file string) http.HandlerFunc { id, ok := containerFileIds[file] failTestUnless(ok) return ghttp.CombineHandlers( - ghttp.VerifyRequest("GET", HaveSuffix("/containers/%v/json", id)), + ghttp.VerifyRequest("GET", O.HaveSuffix("/containers/%v/json", id)), RespondWithJSONFile(fmt.Sprintf("./mocks/data/container_%v.json", file), http.StatusOK), ) } +// ListContainersHandler mocks the GET containers/json endpoint, filtering the returned containers based on statuses func ListContainersHandler(statuses ...string) http.HandlerFunc { filterArgs := createFilterArgs(statuses) bytes, err := filterArgs.MarshalJSON() - ExpectWithOffset(1, err).ShouldNot(HaveOccurred()) + O.ExpectWithOffset(1, err).ShouldNot(O.HaveOccurred()) query := url.Values{ "limit": []string{"0"}, "filters": []string{string(bytes)}, } return ghttp.CombineHandlers( - ghttp.VerifyRequest("GET", HaveSuffix("containers/json"), query.Encode()), + ghttp.VerifyRequest("GET", O.HaveSuffix("containers/json"), query.Encode()), respondWithFilteredContainers(filterArgs), ) } func respondWithFilteredContainers(filters filters.Args) http.HandlerFunc { - containersJson, err := getMockJSONFile("./mocks/data/containers.json") - ExpectWithOffset(2, err).ShouldNot(HaveOccurred()) + containersJSON, err := getMockJSONFile("./mocks/data/containers.json") + O.ExpectWithOffset(2, err).ShouldNot(O.HaveOccurred()) var filteredContainers []types.Container var containers []types.Container - ExpectWithOffset(2, json.Unmarshal(containersJson, &containers)).To(Succeed()) + O.ExpectWithOffset(2, json.Unmarshal(containersJSON, &containers)).To(O.Succeed()) for _, v := range containers { for _, key := range filters.Get("status") { if v.State == key { @@ -115,11 +118,11 @@ func respondWithFilteredContainers(filters filters.Args) http.HandlerFunc { func getImageHandler(index int) http.HandlerFunc { return ghttp.CombineHandlers( - ghttp.VerifyRequest("GET", HaveSuffix("/images/%v/json", imageIds[index])), + ghttp.VerifyRequest("GET", O.HaveSuffix("/images/%v/json", imageIds[index])), RespondWithJSONFile(fmt.Sprintf("./mocks/data/image%02d.json", index+1), http.StatusOK), ) } func failTestUnless(ok bool) { - ExpectWithOffset(2, ok).To(BeTrue(), "test setup failed") + O.ExpectWithOffset(2, ok).To(O.BeTrue(), "test setup failed") } From 0060cd6ee4990c6760c55f87a144d56e35dc4f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 2 Nov 2021 16:53:56 +0100 Subject: [PATCH 139/389] test: fully reset ghttp server (#1121) --- pkg/container/client_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index d9bf86f..2f0157d 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -22,14 +22,14 @@ import ( var _ = Describe("the client", func() { var docker *cli.Client var mockServer *ghttp.Server - BeforeSuite(func() { + BeforeEach(func() { mockServer = ghttp.NewServer() docker, _ = cli.NewClientWithOpts( cli.WithHost(mockServer.URL()), cli.WithHTTPClient(mockServer.HTTPTestServer.Client())) }) AfterEach(func() { - mockServer.Reset() + mockServer.Close() }) Describe("WarnOnHeadPullFailed", func() { containerUnknown := *mockContainerWithImageName("unknown.repo/prefix/imagename:latest") From cb4e60cffd084463e73330680cee2e5d49b5d966 Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 8 Nov 2021 04:27:47 -0500 Subject: [PATCH 140/389] Prefer long flags in quick start example (#1029) `--detach` is clearer (to a new Docker user) than `-d`. Similarly `--volume` is clearer than `-v`. Motivation: https://changelog.com/posts/use-long-flags-when-scripting Referred to: https://docs.docker.com/engine/reference/commandline/run/ --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ec8524c..25aeb65 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,9 @@ With watchtower you can update the running version of your containerized app sim Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially. Run the watchtower container with the following command: ``` -$ docker run -d \ +$ docker run --detach \ --name watchtower \ - -v /var/run/docker.sock:/var/run/docker.sock \ + --volume /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower ``` From c0fd77d35707b325b3ed656423f4d487b8dfac6b Mon Sep 17 00:00:00 2001 From: Dimas Yudha P Date: Mon, 8 Nov 2021 16:29:44 +0700 Subject: [PATCH 141/389] fixing flags usage text to first capital letter. (#1102) Co-authored-by: dimas --- internal/flags/flags.go | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 8dd128e..a02dbd7 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -31,31 +31,31 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { "interval", "i", viper.GetInt("WATCHTOWER_POLL_INTERVAL"), - "poll interval (in seconds)") + "Poll interval (in seconds)") flags.StringP( "schedule", "s", viper.GetString("WATCHTOWER_SCHEDULE"), - "the cron expression which defines when to update") + "The cron expression which defines when to update") flags.DurationP( "stop-timeout", "t", viper.GetDuration("WATCHTOWER_TIMEOUT"), - "timeout before a container is forcefully stopped") + "Timeout before a container is forcefully stopped") flags.BoolP( "no-pull", "", viper.GetBool("WATCHTOWER_NO_PULL"), - "do not pull any new images") + "Do not pull any new images") flags.BoolP( "no-restart", "", viper.GetBool("WATCHTOWER_NO_RESTART"), - "do not restart any containers") + "Do not restart any containers") flags.BoolP( "no-startup-message", @@ -67,31 +67,31 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { "cleanup", "c", viper.GetBool("WATCHTOWER_CLEANUP"), - "remove previously used images after updating") + "Remove previously used images after updating") flags.BoolP( "remove-volumes", "", viper.GetBool("WATCHTOWER_REMOVE_VOLUMES"), - "remove attached volumes before updating") + "Remove attached volumes before updating") flags.BoolP( "label-enable", "e", viper.GetBool("WATCHTOWER_LABEL_ENABLE"), - "watch containers where the com.centurylinklabs.watchtower.enable label is true") + "Watch containers where the com.centurylinklabs.watchtower.enable label is true") flags.BoolP( "debug", "d", viper.GetBool("WATCHTOWER_DEBUG"), - "enable debug mode with verbose logging") + "Enable debug mode with verbose logging") flags.BoolP( "trace", "", viper.GetBool("WATCHTOWER_TRACE"), - "enable trace mode with very verbose logging - caution, exposes credentials") + "Enable trace mode with very verbose logging - caution, exposes credentials") flags.BoolP( "monitor-only", @@ -177,7 +177,7 @@ func RegisterNotificationFlags(rootCmd *cobra.Command) { "notifications", "n", viper.GetStringSlice("WATCHTOWER_NOTIFICATIONS"), - " notification types to send (valid: email, slack, msteams, gotify, shoutrrr)") + " Notification types to send (valid: email, slack, msteams, gotify, shoutrrr)") flags.String( "notifications-level", From 81036b078b114ff941f08b666e6bbdfa55e8ce82 Mon Sep 17 00:00:00 2001 From: Igor Zibarev Date: Fri, 12 Nov 2021 14:16:24 +0300 Subject: [PATCH 142/389] fix(api): return appropriate status for unauthorized requests (#1116) --- go.sum | 6 ----- pkg/api/api.go | 9 ++++--- pkg/api/api_test.go | 65 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 9 deletions(-) create mode 100644 pkg/api/api_test.go diff --git a/go.sum b/go.sum index 71ea26f..33e6c19 100644 --- a/go.sum +++ b/go.sum @@ -54,8 +54,6 @@ github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg3 github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= -github.com/Microsoft/hcsshim v0.8.18 h1:cYnKADiM1869gvBpos3YCteeT6sZLB48lB5dmMMs8Tg= -github.com/Microsoft/hcsshim v0.8.18/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= github.com/Microsoft/hcsshim v0.8.21 h1:btRfUDThBE5IKcvI8O8jOiIkujUsAMBSRsYDYmEi6oM= github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= @@ -148,8 +146,6 @@ github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= -github.com/containerd/containerd v1.5.5 h1:q1gxsZsGZ8ddVe98yO6pR21b5xQSMiR61lD0W96pgQo= -github.com/containerd/containerd v1.5.5/go.mod h1:oSTh0QpT1w6jYcGmbiSbxv9OSQYaa88mPyWIuU79zyo= github.com/containerd/containerd v1.5.7 h1:rQyoYtj4KddB3bxG6SAqd4+08gePNyJjRqvOIfV3rkM= github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= @@ -553,8 +549,6 @@ github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59P github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= -github.com/opencontainers/runc v1.0.1 h1:G18PGckGdAm3yVQRWDVQ1rLSLntiniKJ0cNRT2Tm5gs= -github.com/opencontainers/runc v1.0.1/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg= github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= diff --git a/pkg/api/api.go b/pkg/api/api.go index b2279e1..756db90 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -25,9 +25,12 @@ func New(token string) *API { // RequireToken is wrapper around http.HandleFunc that checks token validity func (api *API) RequireToken(fn http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - if r.Header.Get("Authorization") != fmt.Sprintf("Bearer %s", api.Token) { - log.Tracef("Invalid token \"%s\"", r.Header.Get("Authorization")) - log.Tracef("Expected token to be \"%s\"", api.Token) + auth := r.Header.Get("Authorization") + want := fmt.Sprintf("Bearer %s", api.Token) + if auth != want { + log.Tracef("Invalid Authorization header \"%s\"", auth) + log.Tracef("Expected Authorization header to be \"%s\"", want) + w.WriteHeader(http.StatusUnauthorized) return } log.Debug("Valid token found.") diff --git a/pkg/api/api_test.go b/pkg/api/api_test.go new file mode 100644 index 0000000..4e9110b --- /dev/null +++ b/pkg/api/api_test.go @@ -0,0 +1,65 @@ +package api + +import ( + "io" + "net/http" + "net/http/httptest" + "testing" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +const ( + token = "123123123" +) + +func TestAPI(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "API Suite") +} + +var _ = Describe("API", func() { + api := New(token) + + Describe("RequireToken middleware", func() { + It("should return 401 Unauthorized when token is not provided", func() { + handlerFunc := api.RequireToken(testHandler) + + rec := httptest.NewRecorder() + req := httptest.NewRequest("GET", "/hello", nil) + + handlerFunc(rec, req) + + Expect(rec.Code).To(Equal(http.StatusUnauthorized)) + }) + + It("should return 401 Unauthorized when token is invalid", func() { + handlerFunc := api.RequireToken(testHandler) + + rec := httptest.NewRecorder() + req := httptest.NewRequest("GET", "/hello", nil) + req.Header.Set("Authorization", "Bearer 123") + + handlerFunc(rec, req) + + Expect(rec.Code).To(Equal(http.StatusUnauthorized)) + }) + + It("should return 200 OK when token is valid", func() { + handlerFunc := api.RequireToken(testHandler) + + rec := httptest.NewRecorder() + req := httptest.NewRequest("GET", "/hello", nil) + req.Header.Set("Authorization", "Bearer " + token) + + handlerFunc(rec, req) + + Expect(rec.Code).To(Equal(http.StatusOK)) + }) + }) +}) + +func testHandler(w http.ResponseWriter, req *http.Request) { + _, _ = io.WriteString(w, "Hello!") +} From ac00e4844eb71e2e82f7e99074c7a8dfbc5c537e Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 12 Nov 2021 12:19:05 +0100 Subject: [PATCH 143/389] docs: add hypnoglow as a contributor for code (#1130) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 3 +++ 2 files changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index b3fdd3a..f7f0cb8 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -785,6 +785,15 @@ "contributions": [ "doc" ] + }, + { + "login": "hypnoglow", + "name": "Igor Zibarev", + "avatar_url": "https://avatars.githubusercontent.com/u/4853075?v=4", + "profile": "https://github.com/hypnoglow", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 25aeb65..479a7f7 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Dan Quan

📖
modem7

📖 + +
Igor Zibarev

💻 + From d9d6f794a185b625fc850ca79e5af23f5a4c2e9f Mon Sep 17 00:00:00 2001 From: "Jeremy L. Morris" Date: Fri, 12 Nov 2021 06:21:34 -0500 Subject: [PATCH 144/389] feat: use a more specific error type for no container info (#1115) Co-authored-by: Jeremy L. Morris --- pkg/container/container.go | 2 +- pkg/container/container_test.go | 2 +- pkg/container/errors.go | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/container/container.go b/pkg/container/container.go index 4ea3e9f..c55394a 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -285,7 +285,7 @@ func (c Container) VerifyConfiguration() error { containerInfo := c.ContainerInfo() if containerInfo == nil { - return errorInvalidConfig + return errorNoContainerInfo } containerConfig := containerInfo.Config diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 5204f7d..08cba7a 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -23,7 +23,7 @@ var _ = Describe("the container", func() { c := mockContainerWithPortBindings() c.containerInfo = nil err := c.VerifyConfiguration() - Expect(err).To(Equal(errorInvalidConfig)) + Expect(err).To(Equal(errorNoContainerInfo)) }) }) When("verifying a container with no config", func() { diff --git a/pkg/container/errors.go b/pkg/container/errors.go index b927220..1937430 100644 --- a/pkg/container/errors.go +++ b/pkg/container/errors.go @@ -3,5 +3,6 @@ package container import "errors" var errorNoImageInfo = errors.New("no available image info") +var errorNoContainerInfo = errors.New("no available container info") var errorNoExposedPorts = errors.New("exposed ports does not match port bindings") var errorInvalidConfig = errors.New("container configuration missing or invalid") From 782529ddbd6dbf04934cfa1c0e94515c789c2b7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Thu, 18 Nov 2021 14:08:38 +0100 Subject: [PATCH 145/389] feat: improve session result logging (#1123) - logs the session result as an info level message without notification instead of debug - does not log that no notification was sent if there are no notifications enabled --- cmd/root.go | 7 +++++-- pkg/notifications/shoutrrr.go | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index 47f7133..ff1cac3 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -364,7 +364,10 @@ func runUpdatesWithNotifications(filter t.Filter) *metrics.Metric { } notifier.SendNotification(result) metricResults := metrics.NewMetric(result) - log.Debugf("Session done: %v scanned, %v updated, %v failed", - metricResults.Scanned, metricResults.Updated, metricResults.Failed) + notifications.LocalLog.WithFields(log.Fields{ + "Scanned": metricResults.Scanned, + "Updated": metricResults.Updated, + "Failed": metricResults.Failed, + }).Info("Session done") return metricResults } diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index ac293fb..1611a04 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -152,7 +152,7 @@ func (n *shoutrrrTypeNotifier) sendEntries(entries []*log.Entry, report t.Report go func() { if err != nil { LocalLog.WithError(err).Fatal("Notification template error") - } else { + } else if len(n.Urls) > 1 { LocalLog.Info("Skipping notification due to empty message") } }() From b4a225c8bb4d73160cde0ece46a9b3359756b350 Mon Sep 17 00:00:00 2001 From: Patrice <38435239+patricegautier@users.noreply.github.com> Date: Thu, 18 Nov 2021 05:54:35 -0800 Subject: [PATCH 146/389] Post update time out (#1124) * adding post update timeout option * removing extra word --- docs/lifecycle-hooks.md | 6 +++--- pkg/container/container.go | 21 +++++++++++++++++++++ pkg/container/container_test.go | 14 ++++++++++++++ pkg/container/metadata.go | 1 + pkg/lifecycle/lifecycle.go | 3 ++- 5 files changed, 41 insertions(+), 4 deletions(-) diff --git a/docs/lifecycle-hooks.md b/docs/lifecycle-hooks.md index 68dbdae..0c1e4e0 100644 --- a/docs/lifecycle-hooks.md +++ b/docs/lifecycle-hooks.md @@ -54,11 +54,11 @@ the `docker run` command line: The timeout for all lifecycle commands is 60 seconds. After that, a timeout will occur, forcing Watchtower to continue the update loop. -#### Pre-update timeouts +#### Pre- or Post-update timeouts -For the `pre-update` lifecycle command, it is possible to override this timeout to +For the `pre-update` or `post-update` lifecycle command, it is possible to override this timeout to allow the script to finish before forcefully killing it. This is done by adding the -label `com.centurylinklabs.watchtower.lifecycle.pre-update-timeout` followed by +label `com.centurylinklabs.watchtower.lifecycle.pre-update-timeout` or post-update-timeout respectively followed by the timeout expressed in minutes. If the label value is explicitly set to `0`, the timeout will be disabled. diff --git a/pkg/container/container.go b/pkg/container/container.go index c55394a..666f33b 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -189,6 +189,27 @@ func (c Container) PreUpdateTimeout() int { return minutes } +// PostUpdateTimeout checks whether a container has a specific timeout set +// for how long the post-update command is allowed to run. This value is expressed + // either as an integer, in minutes, or as 0 which will allow the command/script + // to run indefinitely. Users should be cautious with the 0 option, as that + // could result in watchtower waiting forever. + func (c Container) PostUpdateTimeout() int { + var minutes int + var err error + + val := c.getLabelValueOrEmpty(postUpdateTimeoutLabel) + + minutes, err = strconv.Atoi(val) + if err != nil || val == "" { + return 1 + } + + return minutes + } + + + // StopSignal returns the custom stop signal (if any) that is encoded in the // container's metadata. If the container has not specified a custom stop // signal, the empty string "" is returned. diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 08cba7a..03658ba 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -214,6 +214,20 @@ var _ = Describe("the container", func() { }) }) }) + + When("there is a pre or post update timeout", func() { + It("should return minute values", func() { + c = mockContainerWithLabels(map[string]string{ + "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "3", + "com.centurylinklabs.watchtower.lifecycle.post-update-timeout": "5", + }) + preTimeout := c.PreUpdateTimeout() + Expect(preTimeout).To(Equal(3)) + postTimeout := c.PostUpdateTimeout() + Expect(postTimeout).To(Equal(5)) + }) + }) + }) }) diff --git a/pkg/container/metadata.go b/pkg/container/metadata.go index 215cccb..ee9fddf 100644 --- a/pkg/container/metadata.go +++ b/pkg/container/metadata.go @@ -13,6 +13,7 @@ const ( preUpdateLabel = "com.centurylinklabs.watchtower.lifecycle.pre-update" postUpdateLabel = "com.centurylinklabs.watchtower.lifecycle.post-update" preUpdateTimeoutLabel = "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout" + postUpdateTimeoutLabel = "com.centurylinklabs.watchtower.lifecycle.post-update-timeout" ) // GetLifecyclePreCheckCommand returns the pre-check command set in the container metadata or an empty string diff --git a/pkg/lifecycle/lifecycle.go b/pkg/lifecycle/lifecycle.go index d88bb6a..ed4ac20 100644 --- a/pkg/lifecycle/lifecycle.go +++ b/pkg/lifecycle/lifecycle.go @@ -83,6 +83,7 @@ func ExecutePreUpdateCommand(client container.Client, container container.Contai // ExecutePostUpdateCommand tries to run the post-update lifecycle hook for a single container. func ExecutePostUpdateCommand(client container.Client, newContainerID types.ContainerID) { newContainer, err := client.GetContainer(newContainerID) + timeout := newContainer.PostUpdateTimeout() if err != nil { log.WithField("containerID", newContainerID.ShortID()).Error(err) @@ -97,7 +98,7 @@ func ExecutePostUpdateCommand(client container.Client, newContainerID types.Cont } clog.Debug("Executing post-update command.") - _, err = client.ExecuteCommand(newContainerID, command, 1) + _, err = client.ExecuteCommand(newContainerID, command, timeout) if err != nil { clog.Error(err) From b3b45ab19e57dc822d3341d9a586919a49d2900e Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 18 Nov 2021 14:54:46 +0100 Subject: [PATCH 147/389] docs: add patricegautier as a contributor for code (#1139) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index f7f0cb8..159a294 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -794,6 +794,15 @@ "contributions": [ "code" ] + }, + { + "login": "patricegautier", + "name": "Patrice", + "avatar_url": "https://avatars.githubusercontent.com/u/38435239?v=4", + "profile": "https://github.com/patricegautier", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 479a7f7..6c9b5bd 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Igor Zibarev

💻 +
Patrice

💻 From e14cc292ed8f51c00f806ffd730093ebd0c2df5b Mon Sep 17 00:00:00 2001 From: Juho-Pekka Kuitunen Date: Mon, 29 Nov 2021 16:07:26 +0200 Subject: [PATCH 148/389] feat: improve HTTP API logging, honor no-startup-message (#1091) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- cmd/root.go | 15 ++++++++++++++- pkg/api/api.go | 2 -- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index ff1cac3..1be52a8 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -191,6 +191,11 @@ func Run(c *cobra.Command, names []string) { if enableUpdateAPI { updateHandler := update.New(func() { runUpdatesWithNotifications(filter) }, updateLock) httpAPI.RegisterFunc(updateHandler.Path, updateHandler.Handle) + // If polling isn't enabled the scheduler is never started and + // we need to trigger the startup messages manually. + if !unblockHTTPAPI { + writeStartupMessage(c, time.Time{}, filterDesc) + } } if enableMetricsAPI { @@ -261,6 +266,7 @@ func formatDuration(d time.Duration) string { func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { noStartupMessage, _ := c.PersistentFlags().GetBool("no-startup-message") + enableUpdateAPI, _ := c.PersistentFlags().GetBool("http-api-update") var startupLog *log.Entry if noStartupMessage { @@ -286,8 +292,15 @@ func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { until := formatDuration(time.Until(sched)) startupLog.Info("Scheduling first run: " + sched.Format("2006-01-02 15:04:05 -0700 MST")) startupLog.Info("Note that the first check will be performed in " + until) + } else if runOnce, _ := c.PersistentFlags().GetBool("run-once"); runOnce { + startupLog.Info("Running a one time update.") } else { - startupLog.Info("Running a one time update.") + startupLog.Info("Periodic runs are not enabled.") + } + + if enableUpdateAPI { + // TODO: make listen port configurable + startupLog.Info("The HTTP API is enabled at :8080.") } if !noStartupMessage { diff --git a/pkg/api/api.go b/pkg/api/api.go index 756db90..d0c4a95 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -62,7 +62,6 @@ func (api *API) Start(block bool) error { log.Fatal(tokenMissingMsg) } - log.Info("Watchtower HTTP API started.") if block { runHTTPServer() } else { @@ -74,6 +73,5 @@ func (api *API) Start(block bool) error { } func runHTTPServer() { - log.Info("Serving HTTP") log.Fatal(http.ListenAndServe(":8080", nil)) } From d2f11850c1df27240335ef9a26bc77cec9a64a30 Mon Sep 17 00:00:00 2001 From: "Mr.J" <116749895@qq.com> Date: Wed, 1 Dec 2021 18:33:55 +0800 Subject: [PATCH 149/389] docs: fix redirect link (#1146) --- docs/arguments.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/arguments.md b/docs/arguments.md index f08be7a..c2d4521 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -237,7 +237,7 @@ Environment Variable: WATCHTOWER_RUN_ONCE ## HTTP API Mode Runs Watchtower in HTTP API mode, only allowing image updates to be triggered by an HTTP request. -For details see [HTTP API](https://containrrr.github.io/watchtower/http-api-mode). +For details see [HTTP API](https://containrrr.dev/watchtower/http-api-mode). ```text Argument: --http-api-update @@ -268,7 +268,7 @@ Environment Variable: WATCHTOWER_HTTP_API_PERIODIC_POLLS ## Filter by scope Update containers that have a `com.centurylinklabs.watchtower.scope` label set with the same value as the given argument. -This enables [running multiple instances](https://containrrr.github.io/watchtower/running-multiple-instances). +This enables [running multiple instances](https://containrrr.dev/watchtower/running-multiple-instances). ```text Argument: --scope From 6ff1d8ac17e4244bb7c1adb41ba41e9b370c933b Mon Sep 17 00:00:00 2001 From: Adrian Joian Date: Mon, 20 Dec 2021 15:26:42 +0100 Subject: [PATCH 150/389] chore: bump alpine version in dockerfile (#1151) --- dockerfiles/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 345f5c2..c3ed14b 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM alpine:3.11 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.15 as alpine RUN apk add --no-cache \ ca-certificates \ From ebdbe2994cb57fb468cbaf172c2c653e93a0a0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 27 Dec 2021 12:15:20 +0100 Subject: [PATCH 151/389] bump version of vulnerable dependencies (#1172) --- go.mod | 5 ++++- go.sum | 40 +++++++++------------------------------- 2 files changed, 13 insertions(+), 32 deletions(-) diff --git a/go.mod b/go.mod index 00c0f8d..809a225 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,11 @@ module github.com/containrrr/watchtower go 1.12 +// Use non-vulnerable runc (until github.com/containerd/containerd v1.6.0 is stable) +replace github.com/opencontainers/runc => github.com/opencontainers/runc v1.0.3 + require ( - github.com/containerd/containerd v1.5.7 // indirect + github.com/containerd/containerd v1.5.8 // indirect github.com/containrrr/shoutrrr v0.5.2 github.com/docker/cli v20.10.8+incompatible github.com/docker/distribution v2.7.1+incompatible diff --git a/go.sum b/go.sum index 33e6c19..202603e 100644 --- a/go.sum +++ b/go.sum @@ -54,8 +54,7 @@ github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg3 github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= -github.com/Microsoft/hcsshim v0.8.21 h1:btRfUDThBE5IKcvI8O8jOiIkujUsAMBSRsYDYmEi6oM= -github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= @@ -79,7 +78,6 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= @@ -89,12 +87,12 @@ github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7 github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/chromedp/cdproto v0.0.0-20190614062957-d6d2f92b486d/go.mod h1:S8mB5wY3vV+vRIzf39xDXsw3XKYewW9X6rW2aEmkrSw= github.com/chromedp/cdproto v0.0.0-20190621002710-8cbd498dd7a0/go.mod h1:S8mB5wY3vV+vRIzf39xDXsw3XKYewW9X6rW2aEmkrSw= @@ -126,7 +124,6 @@ github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1 github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= -github.com/containerd/cgroups v1.0.1 h1:iJnMvco9XGvKUvNQkv88bE4uJXxRQH18efbKo9w5vHQ= github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= @@ -141,27 +138,25 @@ github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMX github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= -github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= -github.com/containerd/containerd v1.5.7 h1:rQyoYtj4KddB3bxG6SAqd4+08gePNyJjRqvOIfV3rkM= -github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8 h1:NmkCC1/QxyZFBny8JogwLpOy2f+VEbO/f6bV2Mqtwuw= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= -github.com/containerd/continuity v0.1.0 h1:UFRRY5JemiAhPZrr/uE0n8fMTLcZsUvySPr1+D7pgr8= github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= @@ -181,12 +176,11 @@ github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDG github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/ttrpc v1.0.2 h1:2/O3oTZN36q2xRolk0a2WWGgh7/Vf/liElg5hFYLX9U= github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= -github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= @@ -250,7 +244,6 @@ github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avu github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= @@ -318,7 +311,6 @@ github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6 github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= -github.com/gogo/googleapis v1.4.0 h1:zgVt4UpGxcqVOw97aRGxT4svlcmdK35fynLNctY32zI= github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -332,7 +324,6 @@ github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -381,7 +372,6 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -444,7 +434,6 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.13 h1:eSvu8Tmq6j2psUJqJrLcWH6K3w5Dwc+qipbaA6eVEN4= github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/knq/sysutil v0.0.0-20181215143952-f05b59f0f307/go.mod h1:BjPj+aVjl9FW/cCGiF3nGh5v+9Gd3VCgBQbod/GlMaQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -491,10 +480,8 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= -github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/sys/mountinfo v0.4.1 h1:1O+1cHA1aujwEwwVMa2Xm2l+gIpUHyd3+D+d7LZh1kM= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= @@ -544,24 +531,16 @@ github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3I github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= -github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg= -github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= -github.com/opencontainers/selinux v1.8.2 h1:c4ca10UMgRcvZ6h0K4HtS15UaVSBEaE+iln2LVpAuGc= github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= @@ -713,7 +692,6 @@ go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvS go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -813,7 +791,6 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1010,8 +987,9 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 93ccce8ed2722e0f11e55b78bfdf017222165ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 27 Dec 2021 12:18:51 +0100 Subject: [PATCH 152/389] docs: add note about docker hub private images (#1132) --- docs/private-registries.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/private-registries.md b/docs/private-registries.md index 8b3f28d..94f9a81 100644 --- a/docs/private-registries.md +++ b/docs/private-registries.md @@ -25,6 +25,18 @@ password `auth` string: `` needs to be replaced by the name of your private registry (e.g., `my-private-registry.example.org`) +!!! important "Using private images on docker hub" + When using private images on docker hub, the containers beeing watched needs to use the full image name, including the repository prefix `index.docker.io`. + So instead of + ``` + docker run -d myuser/myimage + ``` + you would run it as + ``` + docker run -d index.docker.io/myuser/myimage + ``` + + The required `auth` string can be generated as follows: ```bash From 2fa8a2ad0cba9a1cc03b1870668c69b668585345 Mon Sep 17 00:00:00 2001 From: Mads Jensen Date: Mon, 27 Dec 2021 12:21:41 +0100 Subject: [PATCH 153/389] Fix docker-compose syntax in quick-start. GH #1105 (#1169) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix docker-compose syntax in quick-start. GH #1105 * use new mkdocs tabs * fix indentation for tabs Co-authored-by: nils måsén --- docs/index.md | 3 +++ mkdocs.yml | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index ef234ec..1d0b2cc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -45,13 +45,16 @@ and restart it with the same options that were used when it was deployed initial the following command: === "docker run" + ```bash $ docker run -d \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower ``` + === "docker-compose.yml" + ```yaml version: "3" services: diff --git a/mkdocs.yml b/mkdocs.yml index 46a941c..57b2f7b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -23,7 +23,8 @@ markdown_extensions: user: containrrr repo: watchtower - pymdownx.saneheaders - - pymdownx.tabbed + - pymdownx.tabbed: + alternate_style: true nav: - 'Home': 'index.md' - 'Introduction': 'introduction.md' From 1d59fb83dd71fae86caf749a2e5d1b15ce4b51ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Wed, 5 Jan 2022 09:31:01 +0100 Subject: [PATCH 154/389] feat(notifications): support delayed sending (#1142) --- pkg/notifications/email.go | 4 ++++ pkg/notifications/notifier.go | 18 +++++++++++++----- pkg/notifications/notifier_test.go | 2 +- pkg/notifications/shoutrrr.go | 8 +++++--- pkg/notifications/shoutrrr_test.go | 8 +++++--- pkg/types/convertible_notifier.go | 10 +++++++++- 6 files changed, 37 insertions(+), 13 deletions(-) diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 6a61dd1..2b1b85a 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -82,6 +82,10 @@ func (e *emailTypeNotifier) GetURL(c *cobra.Command) (string, error) { return conf.GetURL().String(), nil } +func (e *emailTypeNotifier) GetDelay() time.Duration { + return e.delay +} + func (e *emailTypeNotifier) getSubject(c *cobra.Command) string { subject := GetTitle(c) diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index 7c999d0..5bfa08c 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -1,11 +1,13 @@ package notifications import ( + "os" + "time" + ty "github.com/containrrr/watchtower/pkg/types" "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "os" ) // NewNotifier creates and returns a new Notifier, using global configuration. @@ -28,14 +30,14 @@ func NewNotifier(c *cobra.Command) ty.Notifier { tplString, _ := f.GetString("notification-template") urls, _ := f.GetStringArray("notification-url") - urls = AppendLegacyUrls(urls, c) + urls, delay := AppendLegacyUrls(urls, c) title := GetTitle(c) - return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, title, urls...) + return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, title, delay, urls...) } // AppendLegacyUrls creates shoutrrr equivalent URLs from legacy notification flags -func AppendLegacyUrls(urls []string, cmd *cobra.Command) []string { +func AppendLegacyUrls(urls []string, cmd *cobra.Command) ([]string, time.Duration) { // Parse types and create notifiers. types, err := cmd.Flags().GetStringSlice("notifications") @@ -43,6 +45,8 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command) []string { log.WithError(err).Fatal("could not read notifications argument") } + delay := time.Duration(0) + for _, t := range types { var legacyNotifier ty.ConvertibleNotifier @@ -71,9 +75,13 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command) []string { } urls = append(urls, shoutrrrURL) + if delayNotifier, ok := legacyNotifier.(ty.DelayNotifier); ok { + delay = delayNotifier.GetDelay() + } + log.WithField("URL", shoutrrrURL).Trace("created Shoutrrr URL from legacy notifier") } - return urls + return urls, delay } // GetTitle returns a common notification title with hostname appended diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 71bfea3..05d6d56 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -241,7 +241,7 @@ func testURL(args []string, expectedURL string) { err := command.ParseFlags(args) Expect(err).NotTo(HaveOccurred()) - urls := notifications.AppendLegacyUrls([]string{}, command) + urls, _ := notifications.AppendLegacyUrls([]string{}, command) Expect(err).NotTo(HaveOccurred()) diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index 1611a04..e41ed92 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -5,6 +5,7 @@ import ( stdlog "log" "strings" "text/template" + "time" "github.com/containrrr/shoutrrr" "github.com/containrrr/shoutrrr/pkg/types" @@ -77,14 +78,14 @@ func (n *shoutrrrTypeNotifier) GetNames() []string { return names } -func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, title string, urls ...string) t.Notifier { +func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, title string, delay time.Duration, urls ...string) t.Notifier { notifier := createNotifier(urls, acceptedLogLevels, tplString, legacy) notifier.params = &types.Params{"title": title} log.AddHook(notifier) // Do the sending in a separate goroutine so we don't block the main process. - go sendNotifications(notifier) + go sendNotifications(notifier, delay) return notifier } @@ -112,8 +113,9 @@ func createNotifier(urls []string, levels []log.Level, tplString string, legacy } } -func sendNotifications(n *shoutrrrTypeNotifier) { +func sendNotifications(n *shoutrrrTypeNotifier, delay time.Duration) { for msg := range n.messages { + time.Sleep(delay) errs := n.Router.Send(msg, n.params) for i, err := range errs { diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index 1b4ebab..6e67b6f 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -1,6 +1,8 @@ package notifications import ( + "time" + "github.com/containrrr/shoutrrr/pkg/types" "github.com/containrrr/watchtower/internal/actions/mocks" "github.com/containrrr/watchtower/internal/flags" @@ -212,7 +214,7 @@ Turns out everything is on fire When("batching notifications", func() { When("no messages are queued", func() { It("should not send any notification", func() { - shoutrrr := newShoutrrrNotifier("", allButTrace, true, "", "logger://") + shoutrrr := newShoutrrrNotifier("", allButTrace, true, "", time.Duration(0), "logger://") shoutrrr.StartNotification() shoutrrr.SendNotification(nil) Consistently(logBuffer).ShouldNot(gbytes.Say(`Shoutrrr:`)) @@ -220,7 +222,7 @@ Turns out everything is on fire }) When("at least one message is queued", func() { It("should send a notification", func() { - shoutrrr := newShoutrrrNotifier("", allButTrace, true, "", "logger://") + shoutrrr := newShoutrrrNotifier("", allButTrace, true, "", time.Duration(0), "logger://") shoutrrr.StartNotification() logrus.Info("This log message is sponsored by ContainrrrVPN") shoutrrr.SendNotification(nil) @@ -282,7 +284,7 @@ func sendNotificationsWithBlockingRouter(legacy bool) (*shoutrrrTypeNotifier, *b Message: "foo bar", } - go sendNotifications(shoutrrr) + go sendNotifications(shoutrrr, time.Duration(0)) shoutrrr.StartNotification() _ = shoutrrr.Fire(entry) diff --git a/pkg/types/convertible_notifier.go b/pkg/types/convertible_notifier.go index 87f8659..90f0078 100644 --- a/pkg/types/convertible_notifier.go +++ b/pkg/types/convertible_notifier.go @@ -1,8 +1,16 @@ package types -import "github.com/spf13/cobra" +import ( + "github.com/spf13/cobra" + "time" +) // ConvertibleNotifier is a notifier capable of creating a shoutrrr URL type ConvertibleNotifier interface { GetURL(c *cobra.Command) (string, error) } + +// DelayNotifier is a notifier that might need to be delayed before sending notifications +type DelayNotifier interface { + GetDelay() time.Duration +} \ No newline at end of file From aa02d8d31bb2339ad02c388ebae686da3568b000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Wed, 5 Jan 2022 12:08:47 +0100 Subject: [PATCH 155/389] feat(notifications): add title field to template data (#1125) --- pkg/notifications/email.go | 12 ++++------ pkg/notifications/gotify.go | 4 ++-- pkg/notifications/msteams.go | 7 +++--- pkg/notifications/notifier.go | 29 ++++++++++++++--------- pkg/notifications/notifier_test.go | 37 ++++++++++++++++++++++++++---- pkg/notifications/shoutrrr.go | 12 +++++++--- pkg/notifications/shoutrrr_test.go | 20 ++++++++++++++++ pkg/notifications/slack.go | 6 ++--- pkg/types/convertible_notifier.go | 2 +- 9 files changed, 94 insertions(+), 35 deletions(-) diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 2b1b85a..e162209 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -55,14 +55,14 @@ func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert return n } -func (e *emailTypeNotifier) GetURL(c *cobra.Command) (string, error) { +func (e *emailTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { conf := &shoutrrrSmtp.Config{ FromAddress: e.From, FromName: "Watchtower", ToAddresses: []string{e.To}, Port: uint16(e.Port), Host: e.Server, - Subject: e.getSubject(c), + Subject: e.getSubject(c, title), Username: e.User, Password: e.Password, UseStartTLS: !e.tlsSkipVerify, @@ -86,12 +86,10 @@ func (e *emailTypeNotifier) GetDelay() time.Duration { return e.delay } -func (e *emailTypeNotifier) getSubject(c *cobra.Command) string { - subject := GetTitle(c) - +func (e *emailTypeNotifier) getSubject(_ *cobra.Command, title string) string { if e.SubjectTag != "" { - subject = e.SubjectTag + " " + subject + return e.SubjectTag + " " + title } - return subject + return title } diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index 6f01000..a8c9ac4 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -62,7 +62,7 @@ func getGotifyURL(flags *pflag.FlagSet) string { return gotifyURL } -func (n *gotifyTypeNotifier) GetURL(c *cobra.Command) (string, error) { +func (n *gotifyTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { apiURL, err := url.Parse(n.gotifyURL) if err != nil { return "", err @@ -72,7 +72,7 @@ func (n *gotifyTypeNotifier) GetURL(c *cobra.Command) (string, error) { Host: apiURL.Host, Path: apiURL.Path, DisableTLS: apiURL.Scheme == "http", - Title: GetTitle(c), + Title: title, Token: n.gotifyAppToken, } diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index b95a99e..be67d3b 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -1,11 +1,12 @@ package notifications import ( + "net/url" + shoutrrrTeams "github.com/containrrr/shoutrrr/pkg/services/teams" t "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "net/url" ) const ( @@ -37,7 +38,7 @@ func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Con return n } -func (n *msTeamsTypeNotifier) GetURL(c *cobra.Command) (string, error) { +func (n *msTeamsTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { webhookURL, err := url.Parse(n.webHookURL) if err != nil { return "", err @@ -49,7 +50,7 @@ func (n *msTeamsTypeNotifier) GetURL(c *cobra.Command) (string, error) { } config.Color = ColorHex - config.Title = GetTitle(c) + config.Title = title return config.GetURL().String(), nil } diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index 5bfa08c..61861fb 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -30,14 +30,14 @@ func NewNotifier(c *cobra.Command) ty.Notifier { tplString, _ := f.GetString("notification-template") urls, _ := f.GetStringArray("notification-url") - urls, delay := AppendLegacyUrls(urls, c) + hostname := GetHostname(c) + urls, delay := AppendLegacyUrls(urls, c, GetTitle(hostname)) - title := GetTitle(c) - return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, title, delay, urls...) + return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, hostname, delay, urls...) } // AppendLegacyUrls creates shoutrrr equivalent URLs from legacy notification flags -func AppendLegacyUrls(urls []string, cmd *cobra.Command) ([]string, time.Duration) { +func AppendLegacyUrls(urls []string, cmd *cobra.Command, title string) ([]string, time.Duration) { // Parse types and create notifiers. types, err := cmd.Flags().GetStringSlice("notifications") @@ -69,7 +69,7 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command) ([]string, time.Duratio continue } - shoutrrrURL, err := legacyNotifier.GetURL(cmd) + shoutrrrURL, err := legacyNotifier.GetURL(cmd, title) if err != nil { log.Fatal("failed to create notification config: ", err) } @@ -85,20 +85,27 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command) ([]string, time.Duratio } // GetTitle returns a common notification title with hostname appended -func GetTitle(c *cobra.Command) (title string) { - title = "Watchtower updates" +func GetTitle(hostname string) string { + title := "Watchtower updates" + if hostname != "" { + title += " on " + hostname + } + return title +} + +// GetHostname returns the hostname as set by args or resolved from OS +func GetHostname(c *cobra.Command) string { f := c.PersistentFlags() - hostname, _ := f.GetString("notifications-hostname") if hostname != "" { - title += " on " + hostname + return hostname } else if hostname, err := os.Hostname(); err == nil { - title += " on " + hostname + return hostname } - return + return "" } // ColorHex is the default notification color used for services that support it (formatted as a CSS hex string) diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 05d6d56..44b4dad 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -28,6 +28,27 @@ var _ = Describe("notifications", func() { Expect(notif.GetNames()).To(BeEmpty()) }) + When("title is overriden in flag", func() { + It("should use the specified hostname in the title", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + + err := command.ParseFlags([]string{ + "--notifications-hostname", + "test.host", + }) + Expect(err).NotTo(HaveOccurred()) + hostname := notifications.GetHostname(command) + title := notifications.GetTitle(hostname) + Expect(title).To(Equal("Watchtower updates on test.host")) + }) + }) + When("no hostname can be resolved", func() { + It("should use the default simple title", func() { + title := notifications.GetTitle("") + Expect(title).To(Equal("Watchtower updates")) + }) + }) }) Describe("the slack notifier", func() { // builderFn := notifications.NewSlackNotifier @@ -39,7 +60,8 @@ var _ = Describe("notifications", func() { channel := "123456789" token := "abvsihdbau" color := notifications.ColorInt - title := url.QueryEscape(notifications.GetTitle(command)) + hostname := notifications.GetHostname(command) + title := url.QueryEscape(notifications.GetTitle(hostname)) expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&title=%s&username=watchtower", token, channel, color, title) buildArgs := func(url string) []string { return []string{ @@ -67,7 +89,8 @@ var _ = Describe("notifications", func() { tokenB := "BBBBBBBBB" tokenC := "123456789123456789123456" color := url.QueryEscape(notifications.ColorHex) - title := url.QueryEscape(notifications.GetTitle(command)) + hostname := notifications.GetHostname(command) + title := url.QueryEscape(notifications.GetTitle(hostname)) iconURL := "https://containrrr.dev/watchtower-sq180.png" iconEmoji := "whale" @@ -122,7 +145,8 @@ var _ = Describe("notifications", func() { token := "aaa" host := "shoutrrr.local" - title := url.QueryEscape(notifications.GetTitle(command)) + hostname := notifications.GetHostname(command) + title := url.QueryEscape(notifications.GetTitle(hostname)) expectedOutput := fmt.Sprintf("gotify://%s/%s?title=%s", host, token, title) @@ -150,7 +174,8 @@ var _ = Describe("notifications", func() { tokenB := "33333333012222222222333333333344" tokenC := "44444444-4444-4444-8444-cccccccccccc" color := url.QueryEscape(notifications.ColorHex) - title := url.QueryEscape(notifications.GetTitle(command)) + hostname := notifications.GetHostname(command) + title := url.QueryEscape(notifications.GetTitle(hostname)) hookURL := fmt.Sprintf("https://outlook.office.com/webhook/%s/IncomingWebhook/%s/%s", tokenA, tokenB, tokenC) expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s&title=%s", tokenA, tokenB, tokenC, color, title) @@ -241,7 +266,9 @@ func testURL(args []string, expectedURL string) { err := command.ParseFlags(args) Expect(err).NotTo(HaveOccurred()) - urls, _ := notifications.AppendLegacyUrls([]string{}, command) + hostname := notifications.GetHostname(command) + title := notifications.GetTitle(hostname) + urls, _ := notifications.AppendLegacyUrls([]string{}, command, title) Expect(err).NotTo(HaveOccurred()) diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index e41ed92..bc9499e 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -58,6 +58,7 @@ type shoutrrrTypeNotifier struct { done chan bool legacyTemplate bool params *types.Params + hostname string } // GetScheme returns the scheme part of a Shoutrrr URL @@ -78,10 +79,11 @@ func (n *shoutrrrTypeNotifier) GetNames() []string { return names } -func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, title string, delay time.Duration, urls ...string) t.Notifier { +func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, hostname string, delay time.Duration, urls ...string) t.Notifier { notifier := createNotifier(urls, acceptedLogLevels, tplString, legacy) - notifier.params = &types.Params{"title": title} + notifier.hostname = hostname + notifier.params = &types.Params{"title": GetTitle(hostname)} log.AddHook(notifier) // Do the sending in a separate goroutine so we don't block the main process. @@ -147,7 +149,9 @@ func (n *shoutrrrTypeNotifier) buildMessage(data Data) (string, error) { } func (n *shoutrrrTypeNotifier) sendEntries(entries []*log.Entry, report t.Report) { - msg, err := n.buildMessage(Data{entries, report}) + title, _ := n.params.Title() + host := n.hostname + msg, err := n.buildMessage(Data{entries, report, title, host}) if msg == "" { // Log in go func in case we entered from Fire to avoid stalling @@ -240,4 +244,6 @@ func getShoutrrrTemplate(tplString string, legacy bool) (tpl *template.Template, type Data struct { Entries []*log.Entry Report t.Report + Title string + Host string } diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index 6e67b6f..dbdd9eb 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -48,9 +48,12 @@ var mockDataAllFresh = Data{ } func mockDataFromStates(states ...s.State) Data { + hostname := "Mock" return Data{ Entries: legacyMockData.Entries, Report: mocks.CreateMockProgressReport(states...), + Title: GetTitle(hostname), + Host: hostname, } } @@ -177,6 +180,22 @@ var _ = Describe("Shoutrrr", func() { }) + When("using a template referencing Title", func() { + It("should contain the title in the output", func() { + expected := `Watchtower updates on Mock` + data := mockDataFromStates(s.UpdatedState) + Expect(getTemplatedResult(`{{ .Title }}`, false, data)).To(Equal(expected)) + }) + }) + + When("using a template referencing Host", func() { + It("should contain the hostname in the output", func() { + expected := `Mock` + data := mockDataFromStates(s.UpdatedState) + Expect(getTemplatedResult(`{{ .Host }}`, false, data)).To(Equal(expected)) + }) + }) + Describe("the default template", func() { When("all containers are fresh", func() { It("should return an empty string", func() { @@ -278,6 +297,7 @@ func sendNotificationsWithBlockingRouter(legacy bool) (*shoutrrrTypeNotifier, *b done: make(chan bool), Router: router, legacyTemplate: legacy, + params: &types.Params{}, } entry := &logrus.Entry{ diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index c5c73b2..faff944 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -41,7 +41,7 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert return n } -func (s *slackTypeNotifier) GetURL(c *cobra.Command) (string, error) { +func (s *slackTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { trimmedURL := strings.TrimRight(s.HookURL, "/") trimmedURL = strings.TrimLeft(trimmedURL, "https://") parts := strings.Split(trimmedURL, "/") @@ -52,7 +52,7 @@ func (s *slackTypeNotifier) GetURL(c *cobra.Command) (string, error) { WebhookID: parts[len(parts)-3], Token: parts[len(parts)-2], Color: ColorInt, - Title: GetTitle(c), + Title: title, SplitLines: true, Username: s.Username, } @@ -65,7 +65,7 @@ func (s *slackTypeNotifier) GetURL(c *cobra.Command) (string, error) { BotName: s.Username, Color: ColorHex, Channel: "webhook", - Title: GetTitle(c), + Title: title, } if s.IconURL != "" { diff --git a/pkg/types/convertible_notifier.go b/pkg/types/convertible_notifier.go index 90f0078..37d8872 100644 --- a/pkg/types/convertible_notifier.go +++ b/pkg/types/convertible_notifier.go @@ -7,7 +7,7 @@ import ( // ConvertibleNotifier is a notifier capable of creating a shoutrrr URL type ConvertibleNotifier interface { - GetURL(c *cobra.Command) (string, error) + GetURL(c *cobra.Command, title string) (string, error) } // DelayNotifier is a notifier that might need to be delayed before sending notifications From 084249c5fccaa2d12589ceed1bb7dc649be913e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 11 Jan 2022 17:15:22 +0100 Subject: [PATCH 156/389] fix: linked/depends-on container restarting (#1103) --- internal/actions/update.go | 44 +++++++---- internal/actions/update_test.go | 49 +++++++++++++ scripts/dependency-test.sh | 103 ++++++++++++++++++++++++-- scripts/docker-util.sh | 125 ++++++++++++++++++++++++++++++++ scripts/du-cli.sh | 58 +++++++++++++++ 5 files changed, 358 insertions(+), 21 deletions(-) create mode 100644 scripts/docker-util.sh create mode 100644 scripts/du-cli.sh diff --git a/internal/actions/update.go b/internal/actions/update.go index f7eee8e..e0f7065 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -9,6 +9,7 @@ import ( "github.com/containrrr/watchtower/pkg/sorter" "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" + "strings" ) // Update looks at the running Docker containers to see if any of the images @@ -68,7 +69,7 @@ func Update(client container.Client, params types.UpdateParams) (types.Report, e return nil, err } - checkDependencies(containers) + UpdateImplicitRestart(containers) var containersToUpdate []container.Container if !params.MonitorOnly { @@ -216,24 +217,41 @@ func restartStaleContainer(container container.Container, client container.Clien return nil } -func checkDependencies(containers []container.Container) { +// UpdateImplicitRestart iterates through the passed containers, setting the +// `LinkedToRestarting` flag if any of it's linked containers are marked for restart +func UpdateImplicitRestart(containers []container.Container) { - for _, c := range containers { + for ci, c := range containers { if c.ToRestart() { + // The container is already marked for restart, no need to check continue } - LinkLoop: - for _, linkName := range c.Links() { - for _, candidate := range containers { - if candidate.Name() != linkName { - continue - } - if candidate.ToRestart() { - c.LinkedToRestarting = true - break LinkLoop - } + if link := linkedContainerMarkedForRestart(c.Links(), containers); link != "" { + log.WithFields(log.Fields{ + "restarting": link, + "linked": c.Name(), + }).Debug("container is linked to restarting") + // NOTE: To mutate the array, the `c` variable cannot be used as it's a copy + containers[ci].LinkedToRestarting = true + } + + } +} + +// linkedContainerMarkedForRestart returns the name of the first link that matches a +// container marked for restart +func linkedContainerMarkedForRestart(links []string, containers []container.Container) string { + for _, linkName := range links { + // Since the container names need to start with '/', let's prepend it if it's missing + if !strings.HasPrefix(linkName, "/") { + linkName = "/" + linkName + } + for _, candidate := range containers { + if candidate.Name() == linkName && candidate.ToRestart() { + return linkName } } } + return "" } diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index 46f031f..7d392d7 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -20,6 +20,7 @@ var _ = Describe("the update action", func() { BeforeEach(func() { pullImages := false removeVolumes := false + //goland:noinspection GoBoolExpressions client = CreateMockClient( &TestData{ NameOfContainerToKeep: "test-container-02", @@ -255,6 +256,54 @@ var _ = Describe("the update action", func() { }) }) + When("container is linked to restarting containers", func() { + It("should be marked for restart", func() { + + provider := CreateMockContainerWithConfig( + "test-container-provider", + "/test-container-provider", + "fake-image2:latest", + true, + false, + time.Now(), + &dockerContainer.Config{ + Labels: map[string]string{}, + ExposedPorts: map[nat.Port]struct{}{}, + }) + + provider.Stale = true + + consumer := CreateMockContainerWithConfig( + "test-container-consumer", + "/test-container-consumer", + "fake-image3:latest", + true, + false, + time.Now(), + &dockerContainer.Config{ + Labels: map[string]string{ + "com.centurylinklabs.watchtower.depends-on": "test-container-provider", + }, + ExposedPorts: map[nat.Port]struct{}{}, + }) + + containers := []container.Container{ + provider, + consumer, + } + + Expect(provider.ToRestart()).To(BeTrue()) + Expect(consumer.ToRestart()).To(BeFalse()) + + actions.UpdateImplicitRestart(containers) + + Expect(containers[0].ToRestart()).To(BeTrue()) + Expect(containers[1].ToRestart()).To(BeTrue()) + + }) + + }) + When("container is not running", func() { BeforeEach(func() { client = CreateMockClient( diff --git a/scripts/dependency-test.sh b/scripts/dependency-test.sh index 0da0110..49c672b 100755 --- a/scripts/dependency-test.sh +++ b/scripts/dependency-test.sh @@ -1,16 +1,103 @@ #!/usr/bin/env bash # Simulates a container that will always be updated, checking whether it shuts down it's dependencies correctly. +# Note that this test does not verify the results in any way -docker rm -f parent || true -docker rm -f depending || true +set -e +SCRIPT_ROOT=$(dirname "$(readlink -m "$(type -p "$0")")") +source "$SCRIPT_ROOT/docker-util.sh" -CHANGE=redis:latest -KEEP=tutum/hello-world +DepArgs="" +if [ -z "$1" ] || [ "$1" == "depends-on" ]; then + DepArgs="--label com.centurylinklabs.watchtower.depends-on=parent" +elif [ "$1" == "linked" ]; then + DepArgs="--link parent" +else + DepArgs=$1 +fi -docker tag tutum/hello-world:latest redis:latest +WatchArgs="${*:2}" +if [ -z "$WatchArgs" ]; then + WatchArgs="--debug" +fi -docker run -d --name parent $CHANGE -docker run -d --name depending --link parent $KEEP +try-remove-container parent +try-remove-container depending -go run . --run-once --debug $@ +REPO=$(registry-host) + +create-dummy-image deptest/parent +create-dummy-image deptest/depending + +echo "" + +echo -en "Starting \e[94mparent\e[0m container... " +CmdParent="docker run -d -p 9090 --name parent $REPO/deptest/parent" +$CmdParent +PARENT_REV_BEFORE=$(query-rev parent) +PARENT_START_BEFORE=$(container-started parent) +echo -e "Rev: \e[92m$PARENT_REV_BEFORE\e[0m" +echo -e "Started: \e[96m$PARENT_START_BEFORE\e[0m" +echo -e "Command: \e[37m$CmdParent\e[0m" + +echo "" + +echo -en "Starting \e[94mdepending\e[0m container... " +CmdDepend="docker run -d -p 9090 --name depending $DepArgs $REPO/deptest/depending" +$CmdDepend +DEPEND_REV_BEFORE=$(query-rev depending) +DEPEND_START_BEFORE=$(container-started depending) +echo -e "Rev: \e[92m$DEPEND_REV_BEFORE\e[0m" +echo -e "Started: \e[96m$DEPEND_START_BEFORE\e[0m" +echo -e "Command: \e[37m$CmdDepend\e[0m" + +echo -e "" + +create-dummy-image deptest/parent + +echo -e "\nRunning watchtower..." + +if [ -z "$WATCHTOWER_TAG" ]; then + ## Windows support: + #export DOCKER_HOST=tcp://localhost:2375 + #export CLICOLOR=1 + go run . --run-once $WatchArgs +else + docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower:"$WATCHTOWER_TAG" --run-once $WatchArgs +fi + +echo -e "\nSession results:" + +PARENT_REV_AFTER=$(query-rev parent) +PARENT_START_AFTER=$(container-started parent) +echo -en " Parent image: \e[95m$PARENT_REV_BEFORE\e[0m => \e[94m$PARENT_REV_AFTER\e[0m " +if [ "$PARENT_REV_AFTER" == "$PARENT_REV_BEFORE" ]; then + echo -e "(\e[91mSame\e[0m)" +else + echo -e "(\e[92mUpdated\e[0m)" +fi +echo -en " Parent container: \e[95m$PARENT_START_BEFORE\e[0m => \e[94m$PARENT_START_AFTER\e[0m " +if [ "$PARENT_START_AFTER" == "$PARENT_START_BEFORE" ]; then + echo -e "(\e[91mSame\e[0m)" +else + echo -e "(\e[92mRestarted\e[0m)" +fi + +echo "" + +DEPEND_REV_AFTER=$(query-rev depending) +DEPEND_START_AFTER=$(container-started depending) +echo -en " Depend image: \e[95m$DEPEND_REV_BEFORE\e[0m => \e[94m$DEPEND_REV_AFTER\e[0m " +if [ "$DEPEND_REV_BEFORE" == "$DEPEND_REV_AFTER" ]; then + echo -e "(\e[92mSame\e[0m)" +else + echo -e "(\e[91mUpdated\e[0m)" +fi +echo -en " Depend container: \e[95m$DEPEND_START_BEFORE\e[0m => \e[94m$DEPEND_START_AFTER\e[0m " +if [ "$DEPEND_START_BEFORE" == "$DEPEND_START_AFTER" ]; then + echo -e "(\e[91mSame\e[0m)" +else + echo -e "(\e[92mRestarted\e[0m)" +fi + +echo "" \ No newline at end of file diff --git a/scripts/docker-util.sh b/scripts/docker-util.sh new file mode 100644 index 0000000..13a84ca --- /dev/null +++ b/scripts/docker-util.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash +# This file is meant to be sourced into other scripts and contain some utility functions for docker e2e testing + + +CONTAINER_PREFIX=${CONTAINER_PREFIX:-du} + +function get-port() { + Container=$1 + Port=$2 + + if [ -z "$Container" ]; then + echo "CONTAINER missing" 1>&2 + return 1 + fi + + if [ -z "$Port" ]; then + echo "PORT missing" 1>&2 + return 1 + fi + + Query=".[].NetworkSettings.Ports[\"$Port/tcp\"] | .[0].HostPort" + docker container inspect "$Container" | jq -r "$Query" +} + +function start-registry() { + local Name="$CONTAINER_PREFIX-registry" + echo -en "Starting \e[94m$Name\e[0m container... " + local Port="${1:-5000}" + docker run -d -p 5000:"$Port" --restart=unless-stopped --name "$Name" registry:2 +} + +function stop-registry() { + try-remove-container "$CONTAINER_PREFIX-registry" +} + +function registry-host() { + echo "localhost:$(get-port "$CONTAINER_PREFIX"-registry 5000)" +} + +function try-remove-container() { + echo -en "Looking for container \e[95m$1\e[0m... " + local Found + Found=$(container-id "$1") + if [ -n "$Found" ]; then + echo "$Found" + echo -n " Stopping... " + docker stop "$1" + echo -n " Removing... " + docker rm "$1" + else + echo "Not found" + fi +} + +function create-dummy-image() { + if [ -z "$1" ]; then + echo "TAG missing" + return 1 + fi + local Tag="$1" + local Repo + Repo="$(registry-host)" + local Revision=${2:-$(("$(date +%s)" - "$(date --date='2021-10-21' +%s)"))} + + echo -e "Creating new image \e[95m$Tag\e[0m revision: \e[94m$Revision\e[0m" + + local BuildDir="/tmp/docker-dummy-$Tag-$Revision" + + mkdir -p "$BuildDir" + + cat > "$BuildDir/Dockerfile" << END +FROM alpine + +RUN echo "Tag: $Tag" +RUN echo "Revision: $Revision" +ENTRYPOINT ["nc", "-lk", "-v", "-l", "-p", "9090", "-e", "echo", "-e", "HTTP/1.1 200 OK\n\n$Tag $Revision"] +END + + docker build -t "$Repo/$Tag:latest" -t "$Repo/$Tag:r$Revision" "$BuildDir" + + echo -e "Pushing images...\e[93m" + docker push -q "$Repo/$Tag:latest" + docker push -q "$Repo/$Tag:r$Revision" + echo -en "\e[0m" + + rm -r "$BuildDir" +} + +function query-rev() { + local Name=$1 + if [ -z "$Name" ]; then + echo "NAME missing" + return 1 + fi + curl -s "localhost:$(get-port "$Name" 9090)" +} + +function latest-image-rev() { + local Tag=$1 + if [ -z "$Tag" ]; then + echo "TAG missing" + return 1 + fi + local ID + ID=$(docker image ls "$(registry-host)"/"$Tag":latest -q) + docker image inspect "$ID" | jq -r '.[].RepoTags | .[]' | grep -v latest +} + +function container-id() { + local Name=$1 + if [ -z "$Name" ]; then + echo "NAME missing" + return 1 + fi + docker container ls -f name="$Name" -q +} + +function container-started() { + local Name=$1 + if [ -z "$Name" ]; then + echo "NAME missing" + return 1 + fi + docker container inspect "$Name" | jq -r .[].State.StartedAt +} \ No newline at end of file diff --git a/scripts/du-cli.sh b/scripts/du-cli.sh new file mode 100644 index 0000000..973dec5 --- /dev/null +++ b/scripts/du-cli.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +SCRIPT_ROOT=$(dirname "$(readlink -m "$(type -p "$0")")") +source "$SCRIPT_ROOT/docker-util.sh" + +case $1 in + registry | reg | r) + case $2 in + start) + start-registry + ;; + stop) + stop-registry + ;; + host) + registry-host + ;; + *) + echo "Unknown keyword \"$2\"" + ;; + esac + ;; + image | img | i) + case $2 in + rev) + create-dummy-image "${@:3:2}" + ;; + latest) + latest-image-rev "$3" + ;; + *) + echo "Unknown keyword \"$2\"" + ;; + esac + ;; + container | cnt | c) + case $2 in + query) + query-rev "$3" + ;; + rm) + try-remove-container "$3" + ;; + id) + container-id "$3" + ;; + started) + container-started "$3" + ;; + *) + echo "Unknown keyword \"$2\"" + ;; + esac + ;; + *) + echo "Unknown keyword \"$1\"" + ;; +esac \ No newline at end of file From 8590d88d0d3cb475704e5eb2aab625333e6383f2 Mon Sep 17 00:00:00 2001 From: James White Date: Thu, 20 Jan 2022 12:12:28 +0000 Subject: [PATCH 157/389] Add additional information for metrics.md (#1193) Mention the specific endpoint and an example Promethes scrape_config. --- docs/metrics.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/metrics.md b/docs/metrics.md index 2829eac..7bb6383 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -7,6 +7,8 @@ Metrics can be used to track how Watchtower behaves over time. To use this feature, you have to set an [API token](arguments.md#http-api-token) and [enable the metrics API](arguments.md#http-api-metrics), as well as creating a port mapping for your container for port `8080`. +The metrics API endpoint is `/v1/metrics`. + ## Available Metrics | Name | Type | Description | @@ -17,6 +19,21 @@ as well as creating a port mapping for your container for port `8080`. | `watchtower_scans_total` | Counter | Number of scans since the watchtower started | | `watchtower_scans_skipped` | Counter | Number of skipped scans since watchtower started | +## Example Prometheus `scrape_config` + +```yaml +scrape_configs: + - job_name: watchtower + scrape_interval: 5s + metrics_path: /v1/metrics + bearer_token: demotoken + static_configs: + - targets: + - 'watchtower:8080' +``` + +Replace `demotoken` with the Bearer token you have set accordingly. + ## Demo The repository contains a demo with prometheus and grafana, available through `docker-compose.yml`. This demo From 911444730fa5ffafc046586c0510f5cc763ac20c Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 20 Jan 2022 13:13:03 +0100 Subject: [PATCH 158/389] docs: add jamesmacwhite as a contributor for doc (#1194) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 159a294..e98384d 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -803,6 +803,15 @@ "contributions": [ "code" ] + }, + { + "login": "jamesmacwhite", + "name": "James White", + "avatar_url": "https://avatars.githubusercontent.com/u/8067792?v=4", + "profile": "http://jamesw.link/me", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 6c9b5bd..e6754b0 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Igor Zibarev

💻
Patrice

💻 +
James White

📖 From a1bdd268c18c9e175c852b47556bd51895a9a28d Mon Sep 17 00:00:00 2001 From: James White Date: Sat, 22 Jan 2022 16:29:20 +0000 Subject: [PATCH 159/389] Fix typo on --http-api-update environment variable and add warning note for --http-api-periodic-polls (#1195) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update arguments.md Fix a typo for the environment variable to enable HTTP API mode. * Add note about http-api-periodic-polls --http-api-periodic-polls is a new option which isn't available currently, until a new release is made. * Update docs/arguments.md Co-authored-by: nils måsén Co-authored-by: Simon Aronsson Co-authored-by: nils måsén --- docs/arguments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/arguments.md b/docs/arguments.md index c2d4521..7280631 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -241,7 +241,7 @@ For details see [HTTP API](https://containrrr.dev/watchtower/http-api-mode). ```text Argument: --http-api-update -Environment Variable: WATCHTOWER_HTTP_API +Environment Variable: WATCHTOWER_HTTP_API_UPDATE Type: Boolean Default: false ``` From 04db93c77014ec838f0651d1051da0d73802b9d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 22 Jan 2022 17:40:37 +0100 Subject: [PATCH 160/389] fix: add missing portmap when needed (#1183) --- pkg/container/container.go | 33 +++++++++++++++++---------------- pkg/container/container_test.go | 8 +++++--- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/pkg/container/container.go b/pkg/container/container.go index 666f33b..82ae205 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -10,6 +10,7 @@ import ( "github.com/docker/docker/api/types" dockercontainer "github.com/docker/docker/api/types/container" + "github.com/docker/go-connections/nat" ) // NewContainer returns a new Container instance instantiated with the @@ -191,24 +192,22 @@ func (c Container) PreUpdateTimeout() int { // PostUpdateTimeout checks whether a container has a specific timeout set // for how long the post-update command is allowed to run. This value is expressed - // either as an integer, in minutes, or as 0 which will allow the command/script - // to run indefinitely. Users should be cautious with the 0 option, as that - // could result in watchtower waiting forever. - func (c Container) PostUpdateTimeout() int { - var minutes int - var err error +// either as an integer, in minutes, or as 0 which will allow the command/script +// to run indefinitely. Users should be cautious with the 0 option, as that +// could result in watchtower waiting forever. +func (c Container) PostUpdateTimeout() int { + var minutes int + var err error - val := c.getLabelValueOrEmpty(postUpdateTimeoutLabel) - - minutes, err = strconv.Atoi(val) - if err != nil || val == "" { - return 1 - } - - return minutes - } + val := c.getLabelValueOrEmpty(postUpdateTimeoutLabel) + minutes, err = strconv.Atoi(val) + if err != nil || val == "" { + return 1 + } + return minutes +} // StopSignal returns the custom stop signal (if any) that is encoded in the // container's metadata. If the container has not specified a custom stop @@ -319,8 +318,10 @@ func (c Container) VerifyConfiguration() error { return errorInvalidConfig } + // Instead of returning an error here, we just create an empty map + // This should allow for updating containers where the exposed ports are missing if len(hostConfig.PortBindings) > 0 && containerConfig.ExposedPorts == nil { - return errorNoExposedPorts + containerConfig.ExposedPorts = make(map[nat.Port]struct{}) } return nil diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 03658ba..1a4e956 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -50,11 +50,13 @@ var _ = Describe("the container", func() { }) }) When("verifying a container with port bindings, but no exposed ports", func() { - It("should return an error", func() { + It("should make the config compatible with updating", func() { c := mockContainerWithPortBindings("80/tcp") c.containerInfo.Config.ExposedPorts = nil - err := c.VerifyConfiguration() - Expect(err).To(Equal(errorNoExposedPorts)) + Expect(c.VerifyConfiguration()).To(Succeed()) + + Expect(c.containerInfo.Config.ExposedPorts).ToNot(BeNil()) + Expect(c.containerInfo.Config.ExposedPorts).To(BeEmpty()) }) }) When("verifying a container with port bindings and exposed ports is non-nil", func() { From be33c64afd2508c598b4f314ae52efe0d8491048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 22 Jan 2022 17:50:04 +0100 Subject: [PATCH 161/389] fix: move invalid token to log field (#1171) * fix: move invalid token to log field * escape invalid token in log field * Update pkg/api/api.go Co-authored-by: Simon Aronsson --- pkg/api/api.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkg/api/api.go b/pkg/api/api.go index d0c4a95..2ceaea8 100644 --- a/pkg/api/api.go +++ b/pkg/api/api.go @@ -2,8 +2,9 @@ package api import ( "fmt" - log "github.com/sirupsen/logrus" "net/http" + + log "github.com/sirupsen/logrus" ) const tokenMissingMsg = "api token is empty or has not been set. exiting" @@ -28,8 +29,6 @@ func (api *API) RequireToken(fn http.HandlerFunc) http.HandlerFunc { auth := r.Header.Get("Authorization") want := fmt.Sprintf("Bearer %s", api.Token) if auth != want { - log.Tracef("Invalid Authorization header \"%s\"", auth) - log.Tracef("Expected Authorization header to be \"%s\"", want) w.WriteHeader(http.StatusUnauthorized) return } From 70ca4c2b44148bc9c5b2386e0718703eb8b6a7b5 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sat, 22 Jan 2022 18:18:08 +0100 Subject: [PATCH 162/389] bump vulnerable packages (#1196) --- go.mod | 2 +- go.sum | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 809a225..b730648 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ go 1.12 replace github.com/opencontainers/runc => github.com/opencontainers/runc v1.0.3 require ( - github.com/containerd/containerd v1.5.8 // indirect + github.com/containerd/containerd v1.5.9 // indirect github.com/containrrr/shoutrrr v0.5.2 github.com/docker/cli v20.10.8+incompatible github.com/docker/distribution v2.7.1+incompatible diff --git a/go.sum b/go.sum index 202603e..b09128a 100644 --- a/go.sum +++ b/go.sum @@ -143,8 +143,8 @@ github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7 github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= -github.com/containerd/containerd v1.5.8 h1:NmkCC1/QxyZFBny8JogwLpOy2f+VEbO/f6bV2Mqtwuw= -github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.5.9 h1:rs6Xg1gtIxaeyG+Smsb/0xaSDu1VgFhOCKBXxMxbsF4= +github.com/containerd/containerd v1.5.9/go.mod h1:fvQqCfadDGga5HZyn3j4+dx56qj2I9YwBrlSdalvJYQ= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= @@ -529,8 +529,9 @@ github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go. github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= From 25a96393682614a1750928fe94ddecac08676d85 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Feb 2022 16:11:53 +0100 Subject: [PATCH 163/389] chore(deps): bump github.com/docker/distribution from 2.7.1+incompatible to 2.8.0+incompatible (#1223) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index b730648..f4f614f 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/containerd/containerd v1.5.9 // indirect github.com/containrrr/shoutrrr v0.5.2 github.com/docker/cli v20.10.8+incompatible - github.com/docker/distribution v2.7.1+incompatible + github.com/docker/distribution v2.8.0+incompatible github.com/docker/docker v20.10.8+incompatible github.com/docker/docker-credential-helpers v0.6.1 // indirect github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index b09128a..17b7208 100644 --- a/go.sum +++ b/go.sum @@ -235,8 +235,9 @@ github.com/docker/cli v20.10.8+incompatible h1:/zO/6y9IOpcehE49yMRTV9ea0nBpb8Oeq github.com/docker/cli v20.10.8+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.0+incompatible h1:l9EaZDICImO1ngI+uTifW+ZYvvz7fKISBAKpg+MbWbY= +github.com/docker/distribution v2.8.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.8+incompatible h1:RVqD337BgQicVCzYrrlhLDWhq6OAD2PJDUg2LsEUvKM= github.com/docker/docker v20.10.8+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= From f79e4b5435baf8cdf6f69281ae11a7215e17f320 Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sun, 20 Feb 2022 15:08:51 +0100 Subject: [PATCH 164/389] Update greetings.yml closes #1230 --- .github/workflows/greetings.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index 20302f0..cf3b5a0 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -1,6 +1,10 @@ name: Greetings -on: [issues] +on: + pull_request: {} + issues: + types: + - opened jobs: greeting: From a5c60a9fe6acd59098be9ba5ed3f477874962c8b Mon Sep 17 00:00:00 2001 From: lazou Date: Wed, 9 Mar 2022 11:03:06 +0100 Subject: [PATCH 165/389] feat(notifications): add general notification delay (#1246) --- docs/notifications.md | 1 + internal/flags/flags.go | 6 +++ pkg/notifications/notifier.go | 19 +++++++- pkg/notifications/notifier_test.go | 77 ++++++++++++++++++++++++++---- 4 files changed, 91 insertions(+), 12 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index faa4e4a..1a99269 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -26,6 +26,7 @@ comma-separated list of values to the `--notifications` option - `--notifications-level` (env. `WATCHTOWER_NOTIFICATIONS_LEVEL`): Controls the log level which is used for the notifications. If omitted, the default log level is `info`. Possible values are: `panic`, `fatal`, `error`, `warn`, `info`, `debug` or `trace`. - `--notifications-hostname` (env. `WATCHTOWER_NOTIFICATIONS_HOSTNAME`): Custom hostname specified in subject/title. Useful to override the operating system hostname. +- `--notifications-delay` (env. `WATCHTOWER_NOTIFICATION_DELAY`): Delay before sending notifications expressed in seconds. - Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. ## Available services diff --git a/internal/flags/flags.go b/internal/flags/flags.go index a02dbd7..003ec30 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -184,6 +184,12 @@ func RegisterNotificationFlags(rootCmd *cobra.Command) { viper.GetString("WATCHTOWER_NOTIFICATIONS_LEVEL"), "The log level used for sending notifications. Possible values: panic, fatal, error, warn, info or debug") + flags.IntP( + "notifications-delay", + "", + viper.GetInt("WATCHTOWER_NOTIFICATIONS_DELAY"), + "Delay before sending notifications, expressed in seconds") + flags.StringP( "notifications-hostname", "", diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index 61861fb..cf03b50 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -45,7 +45,7 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command, title string) ([]string log.WithError(err).Fatal("could not read notifications argument") } - delay := time.Duration(0) + legacyDelay := time.Duration(0) for _, t := range types { @@ -76,14 +76,29 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command, title string) ([]string urls = append(urls, shoutrrrURL) if delayNotifier, ok := legacyNotifier.(ty.DelayNotifier); ok { - delay = delayNotifier.GetDelay() + legacyDelay = delayNotifier.GetDelay() } log.WithField("URL", shoutrrrURL).Trace("created Shoutrrr URL from legacy notifier") } + + delay := GetDelay(cmd, legacyDelay) return urls, delay } +// GetDelay returns the legacy delay if defined, otherwise the delay as set by args is returned +func GetDelay(c *cobra.Command, legacyDelay time.Duration) time.Duration { + if legacyDelay > 0 { + return legacyDelay + } + + delay, _ := c.PersistentFlags().GetInt("notifications-delay") + if delay > 0 { + return time.Duration(delay) * time.Second + } + return time.Duration(0) +} + // GetTitle returns a common notification title with hostname appended func GetTitle(hostname string) string { title := "Watchtower updates" diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 44b4dad..4cb35a6 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -4,6 +4,7 @@ import ( "fmt" "net/url" "os" + "time" "github.com/containrrr/watchtower/cmd" "github.com/containrrr/watchtower/internal/flags" @@ -49,6 +50,51 @@ var _ = Describe("notifications", func() { Expect(title).To(Equal("Watchtower updates")) }) }) + When("no delay is defined", func() { + It("should use the default delay", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + + delay := notifications.GetDelay(command, time.Duration(0)) + Expect(delay).To(Equal(time.Duration(0))) + }) + }) + When("delay is defined", func() { + It("should use the specified delay", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + + err := command.ParseFlags([]string{ + "--notifications-delay", + "5", + }) + Expect(err).NotTo(HaveOccurred()) + delay := notifications.GetDelay(command, time.Duration(0)) + Expect(delay).To(Equal(time.Duration(5) * time.Second)) + }) + }) + When("legacy delay is defined", func() { + It("should use the specified legacy delay", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + delay := notifications.GetDelay(command, time.Duration(5)*time.Second) + Expect(delay).To(Equal(time.Duration(5) * time.Second)) + }) + }) + When("legacy delay and delay is defined", func() { + It("should use the specified legacy delay and ignore the specified delay", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + + err := command.ParseFlags([]string{ + "--notifications-delay", + "0", + }) + Expect(err).NotTo(HaveOccurred()) + delay := notifications.GetDelay(command, time.Duration(7)*time.Second) + Expect(delay).To(Equal(time.Duration(7) * time.Second)) + }) + }) }) Describe("the slack notifier", func() { // builderFn := notifications.NewSlackNotifier @@ -74,11 +120,11 @@ var _ = Describe("notifications", func() { It("should return a discord url when using a hook url with the domain discord.com", func() { hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discord.com", channel, token) - testURL(buildArgs(hookURL), expected) + testURL(buildArgs(hookURL), expected, time.Duration(0)) }) It("should return a discord url when using a hook url with the domain discordapp.com", func() { hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discordapp.com", channel, token) - testURL(buildArgs(hookURL), expected) + testURL(buildArgs(hookURL), expected, time.Duration(0)) }) }) When("converting a slack service config into a shoutrrr url", func() { @@ -99,6 +145,7 @@ var _ = Describe("notifications", func() { hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) expectedOutput := fmt.Sprintf("slack://hook:%s-%s-%s@webhook?botname=%s&color=%s&icon=%s&title=%s", tokenA, tokenB, tokenC, username, color, url.QueryEscape(iconURL), title) + expectedDelay := time.Duration(7) * time.Second args := []string{ "--notifications", @@ -109,9 +156,11 @@ var _ = Describe("notifications", func() { username, "--notification-slack-icon-url", iconURL, + "--notifications-delay", + fmt.Sprint(expectedDelay.Seconds()), } - testURL(args, expectedOutput) + testURL(args, expectedOutput, expectedDelay) }) }) @@ -131,7 +180,7 @@ var _ = Describe("notifications", func() { iconEmoji, } - testURL(args, expectedOutput) + testURL(args, expectedOutput, time.Duration(0)) }) }) }) @@ -159,7 +208,7 @@ var _ = Describe("notifications", func() { token, } - testURL(args, expectedOutput) + testURL(args, expectedOutput, time.Duration(0)) }) }) }) @@ -187,7 +236,7 @@ var _ = Describe("notifications", func() { hookURL, } - testURL(args, expectedOutput) + testURL(args, expectedOutput, time.Duration(0)) }) }) }) @@ -197,6 +246,8 @@ var _ = Describe("notifications", func() { It("should set the from address in the URL", func() { fromAddress := "lala@example.com" expectedOutput := buildExpectedURL("containrrrbot", "secret-password", "mail.containrrr.dev", 25, fromAddress, "mail@example.com", "Plain") + expectedDelay := time.Duration(7) * time.Second + args := []string{ "--notifications", "email", @@ -210,8 +261,10 @@ var _ = Describe("notifications", func() { "secret-password", "--notification-email-server", "mail.containrrr.dev", + "--notifications-delay", + fmt.Sprint(expectedDelay.Seconds()), } - testURL(args, expectedOutput) + testURL(args, expectedOutput, expectedDelay) }) It("should return the expected URL", func() { @@ -219,6 +272,7 @@ var _ = Describe("notifications", func() { fromAddress := "sender@example.com" toAddress := "receiver@example.com" expectedOutput := buildExpectedURL("containrrrbot", "secret-password", "mail.containrrr.dev", 25, fromAddress, toAddress, "Plain") + expectedDelay := time.Duration(7) * time.Second args := []string{ "--notifications", @@ -233,9 +287,11 @@ var _ = Describe("notifications", func() { "secret-password", "--notification-email-server", "mail.containrrr.dev", + "--notification-email-delay", + fmt.Sprint(expectedDelay.Seconds()), } - testURL(args, expectedOutput) + testURL(args, expectedOutput, expectedDelay) }) }) }) @@ -257,7 +313,7 @@ func buildExpectedURL(username string, password string, host string, port int, f url.QueryEscape(to)) } -func testURL(args []string, expectedURL string) { +func testURL(args []string, expectedURL string, expectedDelay time.Duration) { defer GinkgoRecover() command := cmd.NewRootCommand() @@ -268,9 +324,10 @@ func testURL(args []string, expectedURL string) { hostname := notifications.GetHostname(command) title := notifications.GetTitle(hostname) - urls, _ := notifications.AppendLegacyUrls([]string{}, command, title) + urls, delay := notifications.AppendLegacyUrls([]string{}, command, title) Expect(err).NotTo(HaveOccurred()) Expect(urls).To(ContainElement(expectedURL)) + Expect(delay).To(Equal(expectedDelay)) } From d12ce7ce79009a62a36b0abd36ac0bfd19a71fa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 11 Apr 2022 16:09:24 +0200 Subject: [PATCH 166/389] bump shoutrrr to v0.5.3 (#1271) --- go.mod | 4 ++-- go.sum | 65 ++++++---------------------------------------------------- 2 files changed, 8 insertions(+), 61 deletions(-) diff --git a/go.mod b/go.mod index f4f614f..dc7f3b4 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/opencontainers/runc => github.com/opencontainers/runc v1.0.3 require ( github.com/containerd/containerd v1.5.9 // indirect - github.com/containrrr/shoutrrr v0.5.2 + github.com/containrrr/shoutrrr v0.5.3 github.com/docker/cli v20.10.8+incompatible github.com/docker/distribution v2.8.0+incompatible github.com/docker/docker v20.10.8+incompatible @@ -22,7 +22,7 @@ require ( github.com/prometheus/client_golang v1.7.1 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.8.1 - github.com/spf13/cobra v1.0.0 + github.com/spf13/cobra v1.4.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.6.3 github.com/stretchr/testify v1.6.1 diff --git a/go.sum b/go.sum index 17b7208..e5bf542 100644 --- a/go.sum +++ b/go.sum @@ -62,7 +62,6 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= -github.com/agnivade/wasmbrowsertest v0.3.1/go.mod h1:zQt6ZTdl338xxRaMW395qccVE2eQm0SjC/SDz0mPWQI= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -94,12 +93,6 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= -github.com/chromedp/cdproto v0.0.0-20190614062957-d6d2f92b486d/go.mod h1:S8mB5wY3vV+vRIzf39xDXsw3XKYewW9X6rW2aEmkrSw= -github.com/chromedp/cdproto v0.0.0-20190621002710-8cbd498dd7a0/go.mod h1:S8mB5wY3vV+vRIzf39xDXsw3XKYewW9X6rW2aEmkrSw= -github.com/chromedp/cdproto v0.0.0-20190812224334-39ef923dcb8d/go.mod h1:0YChpVzuLJC5CPr+x3xkHN6Z8KOSXjNbL7qV8Wc4GW0= -github.com/chromedp/cdproto v0.0.0-20190926234355-1b4886c6fad6/go.mod h1:0YChpVzuLJC5CPr+x3xkHN6Z8KOSXjNbL7qV8Wc4GW0= -github.com/chromedp/chromedp v0.3.1-0.20190619195644-fd957a4d2901/go.mod h1:mJdvfrVn594N9tfiPecUidF6W5jPRKHymqHfzbobPsM= -github.com/chromedp/chromedp v0.4.0/go.mod h1:DC3QUn4mJ24dwjcaGQLoZrhm4X/uPHZ6spDbS2uFhm4= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -195,8 +188,8 @@ github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRD github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= -github.com/containrrr/shoutrrr v0.5.2 h1:97P+wZDpN2gzBKLt4PDP1ZUTLz+k8AJVs40WOu9NNw8= -github.com/containrrr/shoutrrr v0.5.2/go.mod h1:XSU8tOIZ1JG8m6OuPozfGLpj6Ed+S8ZrRJaEodQhbzw= +github.com/containrrr/shoutrrr v0.5.3 h1:ndDN/cKl3cfmuHHjcTDiLTxxjl/1VTWTolOUTLUgiqc= +github.com/containrrr/shoutrrr v0.5.3/go.mod h1:ye9jGX5YzMnJ76waaNVWlJ4luhMEyt1EWU5unYTQSb0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -215,6 +208,7 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -255,7 +249,6 @@ github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= @@ -264,7 +257,6 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= @@ -277,14 +269,10 @@ github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXt github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= -github.com/go-interpreter/wagon v0.5.1-0.20190713202023-55a163980b6c/go.mod h1:5+b/MBYkclRZngKF5s6qrgWxSLgE9F5dFdO1hAueZLc= -github.com/go-interpreter/wagon v0.6.0/go.mod h1:5+b/MBYkclRZngKF5s6qrgWxSLgE9F5dFdO1hAueZLc= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= @@ -298,14 +286,7 @@ github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL9 github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= @@ -364,7 +345,6 @@ github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190908185732-236ed259b199/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -372,7 +352,6 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -384,7 +363,6 @@ github.com/gorilla/mux v1.7.2 h1:zoNxOV7WjqXptQOVngLmcSQgXmgk4NMz1HibBchjl/I= github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= @@ -432,11 +410,8 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/knq/sysutil v0.0.0-20181215143952-f05b59f0f307/go.mod h1:BjPj+aVjl9FW/cCGiF3nGh5v+9Gd3VCgBQbod/GlMaQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -449,24 +424,17 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mailru/easyjson v0.0.0-20190403194419-1ea4449da983/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -508,7 +476,6 @@ github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:v github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -517,7 +484,6 @@ github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M= github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= @@ -595,12 +561,12 @@ github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6y github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= @@ -624,9 +590,9 @@ github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -659,10 +625,7 @@ github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/twitchyliquid64/golang-asm v0.0.0-20190126203739-365674df15fc/go.mod h1:NoCfSFWosfqMqmmD7hApkirIK9ozpHjxRnRxs1l413A= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= @@ -685,7 +648,6 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= -go.coder.com/go-tools v0.0.0-20190317003359-0c6a35b74a16/go.mod h1:iKV5yK9t+J5nG9O3uF6KYdPEz3dyfMyB15MN1rbQ8Qw= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= @@ -700,7 +662,6 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180426230345-b49d69b5da94/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -747,7 +708,6 @@ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -800,8 +760,6 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190306220234-b354f8bf4d9e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -813,17 +771,13 @@ golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190618155005-516e3c20635f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190927073244-c990c680b611/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -899,7 +853,6 @@ golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1025,11 +978,8 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gosrc.io/xmpp v0.5.1/go.mod h1:L3NFMqYOxyLz3JGmgFyWf7r9htE91zVGiK40oW4RwdY= -gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/gotestsum v0.3.5/go.mod h1:Mnf3e5FUzXbkCfynWBGOwLssY7gTQgCHObK9tMpAriY= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= @@ -1064,9 +1014,6 @@ k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -mvdan.cc/sh v2.6.4+incompatible/go.mod h1:IeeQbZq+x2SUGBensq/jge5lLQbS3XT2ktyp3wrt4x8= -nhooyr.io/websocket v1.6.5/go.mod h1:F259lAzPRAH0htX2y3ehpJe09ih1aSHN7udWki1defY= -nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= From e9c83af533b4cf763c8b66c652c0a80dbeacbd75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 18 Apr 2022 19:36:38 +0200 Subject: [PATCH 167/389] fix: correctly handle non-stale restarts (#1220) --- internal/actions/mocks/client.go | 14 ++- internal/actions/mocks/container.go | 51 +++++++-- internal/actions/update.go | 27 ++++- internal/actions/update_test.go | 167 ++++++++++++++++------------ 4 files changed, 166 insertions(+), 93 deletions(-) diff --git a/internal/actions/mocks/client.go b/internal/actions/mocks/client.go index 4844a55..2afc43c 100644 --- a/internal/actions/mocks/client.go +++ b/internal/actions/mocks/client.go @@ -3,9 +3,10 @@ package mocks import ( "errors" "fmt" - "github.com/containrrr/watchtower/pkg/container" "time" + "github.com/containrrr/watchtower/pkg/container" + t "github.com/containrrr/watchtower/pkg/types" ) @@ -21,6 +22,7 @@ type TestData struct { TriedToRemoveImageCount int NameOfContainerToKeep string Containers []container.Container + Staleness map[string]bool } // TriedToRemoveImage is a test helper function to check whether RemoveImageByID has been called @@ -85,9 +87,13 @@ func (client MockClient) ExecuteCommand(_ t.ContainerID, command string, _ int) } } -// IsContainerStale is always true for the mock client -func (client MockClient) IsContainerStale(_ container.Container) (bool, t.ImageID, error) { - return true, "", nil +// IsContainerStale is true if not explicitly stated in TestData for the mock client +func (client MockClient) IsContainerStale(cont container.Container) (bool, t.ImageID, error) { + stale, found := client.TestData.Staleness[cont.Name()] + if !found { + stale = true + } + return stale, "", nil } // WarnOnHeadPullFailed is always true for the mock client diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index 167d571..3272d63 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -2,14 +2,15 @@ package mocks import ( "fmt" + "strconv" + "strings" + "time" + "github.com/containrrr/watchtower/pkg/container" wt "github.com/containrrr/watchtower/pkg/types" "github.com/docker/docker/api/types" dockerContainer "github.com/docker/docker/api/types/container" "github.com/docker/go-connections/nat" - "strconv" - "strings" - "time" ) // CreateMockContainer creates a container substitute valid for testing @@ -32,15 +33,20 @@ func CreateMockContainer(id string, name string, image string, created time.Time } return *container.NewContainer( &content, - &types.ImageInspect{ - ID: image, - RepoDigests: []string{ - image, - }, - }, + CreateMockImageInfo(image), ) } +// CreateMockImageInfo returns a mock image info struct based on the passed image +func CreateMockImageInfo(image string) *types.ImageInspect { + return &types.ImageInspect{ + ID: image, + RepoDigests: []string{ + image, + }, + } +} + // CreateMockContainerWithImageInfo should only be used for testing func CreateMockContainerWithImageInfo(id string, name string, image string, created time.Time, imageInfo types.ImageInspect) container.Container { return CreateMockContainerWithImageInfoP(id, name, image, created, &imageInfo) @@ -93,9 +99,7 @@ func CreateMockContainerWithConfig(id string, name string, image string, running } return *container.NewContainer( &content, - &types.ImageInspect{ - ID: image, - }, + CreateMockImageInfo(image), ) } @@ -114,3 +118,26 @@ func CreateContainerForProgress(index int, idPrefix int, nameFormat string) (con c := CreateMockContainerWithConfig(contID, contName, oldImgID, true, false, time.Now(), config) return c, wt.ImageID(newImgID) } + +// CreateMockContainerWithLinks should only be used for testing +func CreateMockContainerWithLinks(id string, name string, image string, created time.Time, links []string, imageInfo *types.ImageInspect) container.Container { + content := types.ContainerJSON{ + ContainerJSONBase: &types.ContainerJSONBase{ + ID: id, + Image: image, + Name: name, + Created: created.String(), + HostConfig: &dockerContainer.HostConfig{ + Links: links, + }, + }, + Config: &dockerContainer.Config{ + Image: image, + Labels: make(map[string]string), + }, + } + return *container.NewContainer( + &content, + imageInfo, + ) +} diff --git a/internal/actions/update.go b/internal/actions/update.go index e0f7065..bd3791f 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -2,6 +2,8 @@ package actions import ( "errors" + "strings" + "github.com/containrrr/watchtower/internal/util" "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/lifecycle" @@ -9,7 +11,6 @@ import ( "github.com/containrrr/watchtower/pkg/sorter" "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" - "strings" ) // Update looks at the running Docker containers to see if any of the images @@ -108,8 +109,10 @@ func performRollingRestart(containers []container.Container, client container.Cl } else { if err := restartStaleContainer(containers[i], client, params); err != nil { failed[containers[i].ID()] = err + } else if containers[i].Stale { + // Only add (previously) stale containers' images to cleanup + cleanupImageIDs[containers[i].ImageID()] = true } - cleanupImageIDs[containers[i].ImageID()] = true } } } @@ -127,7 +130,8 @@ func stopContainersInReversedOrder(containers []container.Container, client cont if err := stopStaleContainer(containers[i], client, params); err != nil { failed[containers[i].ID()] = err } else { - stopped[containers[i].ImageID()] = true + // NOTE: If a container is restarted due to a dependency this might be empty + stopped[containers[i].SafeImageID()] = true } } @@ -143,6 +147,14 @@ func stopStaleContainer(container container.Container, client container.Client, if !container.ToRestart() { return nil } + + // Perform an additional check here to prevent us from stopping a linked container we cannot restart + if container.LinkedToRestarting { + if err := container.VerifyConfiguration(); err != nil { + return err + } + } + if params.LifecycleHooks { skipUpdate, err := lifecycle.ExecutePreUpdateCommand(client, container) if err != nil { @@ -171,11 +183,13 @@ func restartContainersInSortedOrder(containers []container.Container, client con if !c.ToRestart() { continue } - if stoppedImages[c.ImageID()] { + if stoppedImages[c.SafeImageID()] { if err := restartStaleContainer(c, client, params); err != nil { failed[c.ID()] = err + } else if c.Stale { + // Only add (previously) stale containers' images to cleanup + cleanupImageIDs[c.ImageID()] = true } - cleanupImageIDs[c.ImageID()] = true } } @@ -188,6 +202,9 @@ func restartContainersInSortedOrder(containers []container.Container, client con func cleanupImages(client container.Client, imageIDs map[types.ImageID]bool) { for imageID := range imageIDs { + if imageID == "" { + continue + } if err := client.RemoveImageByID(imageID); err != nil { log.Error(err) } diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index 7d392d7..eb540b1 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -1,55 +1,76 @@ package actions_test import ( + "time" + "github.com/containrrr/watchtower/internal/actions" "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/types" + dockerTypes "github.com/docker/docker/api/types" dockerContainer "github.com/docker/docker/api/types/container" "github.com/docker/go-connections/nat" - "time" . "github.com/containrrr/watchtower/internal/actions/mocks" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) +func getCommonTestData(keepContainer string) *TestData { + return &TestData{ + NameOfContainerToKeep: keepContainer, + Containers: []container.Container{ + CreateMockContainer( + "test-container-01", + "test-container-01", + "fake-image:latest", + time.Now().AddDate(0, 0, -1)), + CreateMockContainer( + "test-container-02", + "test-container-02", + "fake-image:latest", + time.Now()), + CreateMockContainer( + "test-container-02", + "test-container-02", + "fake-image:latest", + time.Now()), + }, + } +} + +func getLinkedTestData(withImageInfo bool) *TestData { + staleContainer := CreateMockContainer( + "test-container-01", + "/test-container-01", + "fake-image1:latest", + time.Now().AddDate(0, 0, -1)) + + var imageInfo *dockerTypes.ImageInspect + if withImageInfo { + imageInfo = CreateMockImageInfo("test-container-02") + } + linkingContainer := CreateMockContainerWithLinks( + "test-container-02", + "/test-container-02", + "fake-image2:latest", + time.Now(), + []string{staleContainer.Name()}, + imageInfo) + + return &TestData{ + Staleness: map[string]bool{linkingContainer.Name(): false}, + Containers: []container.Container{ + staleContainer, + linkingContainer, + }, + } +} + var _ = Describe("the update action", func() { - var client MockClient - When("watchtower has been instructed to clean up", func() { - BeforeEach(func() { - pullImages := false - removeVolumes := false - //goland:noinspection GoBoolExpressions - client = CreateMockClient( - &TestData{ - NameOfContainerToKeep: "test-container-02", - Containers: []container.Container{ - CreateMockContainer( - "test-container-01", - "test-container-01", - "fake-image:latest", - time.Now().AddDate(0, 0, -1)), - CreateMockContainer( - "test-container-02", - "test-container-02", - "fake-image:latest", - time.Now()), - CreateMockContainer( - "test-container-02", - "test-container-02", - "fake-image:latest", - time.Now()), - }, - }, - pullImages, - removeVolumes, - ) - }) - When("there are multiple containers using the same image", func() { It("should only try to remove the image once", func() { - + client := CreateMockClient(getCommonTestData(""), false, false) _, err := actions.Update(client, types.UpdateParams{Cleanup: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) @@ -57,8 +78,9 @@ var _ = Describe("the update action", func() { }) When("there are multiple containers using different images", func() { It("should try to remove each of them", func() { - client.TestData.Containers = append( - client.TestData.Containers, + testData := getCommonTestData("") + testData.Containers = append( + testData.Containers, CreateMockContainer( "unique-test-container", "unique-test-container", @@ -66,25 +88,46 @@ var _ = Describe("the update action", func() { time.Now(), ), ) + client := CreateMockClient(testData, false, false) _, err := actions.Update(client, types.UpdateParams{Cleanup: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(2)) }) }) + When("there are linked containers being updated", func() { + It("should not try to remove their images", func() { + client := CreateMockClient(getLinkedTestData(true), false, false) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) + }) + }) When("performing a rolling restart update", func() { It("should try to remove the image once", func() { - + client := CreateMockClient(getCommonTestData(""), false, false) _, err := actions.Update(client, types.UpdateParams{Cleanup: true, RollingRestart: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) }) }) + When("updating a linked container with missing image info", func() { + It("should gracefully fail", func() { + client := CreateMockClient(getLinkedTestData(false), false, false) + + report, err := actions.Update(client, types.UpdateParams{}) + Expect(err).NotTo(HaveOccurred()) + // Note: Linked containers that were skipped for recreation is not counted in Failed + // If this happens, an error is emitted to the logs, so a notification should still be sent. + Expect(report.Updated()).To(HaveLen(1)) + Expect(report.Fresh()).To(HaveLen(1)) + }) + }) }) When("watchtower has been instructed to monitor only", func() { When("certain containers are set to monitor only", func() { - BeforeEach(func() { - client = CreateMockClient( + It("should not update those containers", func() { + client := CreateMockClient( &TestData{ NameOfContainerToKeep: "test-container-02", Containers: []container.Container{ @@ -110,9 +153,6 @@ var _ = Describe("the update action", func() { false, false, ) - }) - - It("should not update those containers", func() { _, err := actions.Update(client, types.UpdateParams{Cleanup: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) @@ -120,8 +160,8 @@ var _ = Describe("the update action", func() { }) When("monitor only is set globally", func() { - BeforeEach(func() { - client = CreateMockClient( + It("should not update any containers", func() { + client := CreateMockClient( &TestData{ Containers: []container.Container{ CreateMockContainer( @@ -139,9 +179,6 @@ var _ = Describe("the update action", func() { false, false, ) - }) - - It("should not update any containers", func() { _, err := actions.Update(client, types.UpdateParams{MonitorOnly: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) @@ -152,9 +189,9 @@ var _ = Describe("the update action", func() { When("watchtower has been instructed to run lifecycle hooks", func() { - When("prupddate script returns 1", func() { - BeforeEach(func() { - client = CreateMockClient( + When("pre-update script returns 1", func() { + It("should not update those containers", func() { + client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", Containers: []container.Container{ @@ -177,9 +214,7 @@ var _ = Describe("the update action", func() { false, false, ) - }) - It("should not update those containers", func() { _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) @@ -188,8 +223,8 @@ var _ = Describe("the update action", func() { }) When("prupddate script returns 75", func() { - BeforeEach(func() { - client = CreateMockClient( + It("should not update those containers", func() { + client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", Containers: []container.Container{ @@ -212,9 +247,6 @@ var _ = Describe("the update action", func() { false, false, ) - }) - - It("should not update those containers", func() { _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) @@ -223,8 +255,8 @@ var _ = Describe("the update action", func() { }) When("prupddate script returns 0", func() { - BeforeEach(func() { - client = CreateMockClient( + It("should update those containers", func() { + client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", Containers: []container.Container{ @@ -247,9 +279,6 @@ var _ = Describe("the update action", func() { false, false, ) - }) - - It("should update those containers", func() { _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) @@ -305,8 +334,8 @@ var _ = Describe("the update action", func() { }) When("container is not running", func() { - BeforeEach(func() { - client = CreateMockClient( + It("skip running preupdate", func() { + client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", Containers: []container.Container{ @@ -329,9 +358,6 @@ var _ = Describe("the update action", func() { false, false, ) - }) - - It("skip running preupdate", func() { _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) @@ -340,8 +366,8 @@ var _ = Describe("the update action", func() { }) When("container is restarting", func() { - BeforeEach(func() { - client = CreateMockClient( + It("skip running preupdate", func() { + client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", Containers: []container.Container{ @@ -364,9 +390,6 @@ var _ = Describe("the update action", func() { false, false, ) - }) - - It("skip running preupdate", func() { _, err := actions.Update(client, types.UpdateParams{Cleanup: true, LifecycleHooks: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) From 2f4d58776d0f865d43e81960ffa14a7dfdadc690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 18 Apr 2022 19:37:13 +0200 Subject: [PATCH 168/389] fix(notifications): title customization (#1219) --- docs/notifications.md | 4 +- internal/flags/flags.go | 10 ++++ pkg/notifications/notifier.go | 59 ++++++++++++++++-------- pkg/notifications/notifier_test.go | 73 ++++++++++++++++++++++-------- pkg/notifications/shoutrrr.go | 30 +++++++----- pkg/notifications/shoutrrr_test.go | 24 ++++++++-- 6 files changed, 147 insertions(+), 53 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index 1a99269..68647ab 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -28,6 +28,8 @@ comma-separated list of values to the `--notifications` option - `--notifications-hostname` (env. `WATCHTOWER_NOTIFICATIONS_HOSTNAME`): Custom hostname specified in subject/title. Useful to override the operating system hostname. - `--notifications-delay` (env. `WATCHTOWER_NOTIFICATION_DELAY`): Delay before sending notifications expressed in seconds. - Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. +- `notification-title-tag` (env. `WATCHTOWER_NOTIFICATION_TITLE_TAG`): Prefix to include in the title. Useful when running multiple watchtowers. +- `notification-skip-title` (env. `WATCHTOWER_NOTIFICATION_SKIP_TITLE`): Do not pass the title param to notifications. This will not pass a dynamic title override to notification services. If no title is configured for the service, it will remove the title all together. ## Available services @@ -43,7 +45,7 @@ To receive notifications by email, the following command-line options, or their - `--notification-email-server-user` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER`): The username to authenticate with the SMTP server with. - `--notification-email-server-password` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD`): The password to authenticate with the SMTP server with. Can also reference a file, in which case the contents of the file are used. - `--notification-email-delay` (env. `WATCHTOWER_NOTIFICATION_EMAIL_DELAY`): Delay before sending notifications expressed in seconds. -- `--notification-email-subjecttag` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG`): Prefix to include in the subject tag. Useful when running multiple watchtowers. +- `--notification-email-subjecttag` (env. `WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG`): Prefix to include in the subject tag. Useful when running multiple watchtowers. **NOTE:** This will affect all notification types. Example: diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 003ec30..664b669 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -326,6 +326,16 @@ Should only be used for testing.`) viper.GetBool("WATCHTOWER_NOTIFICATION_REPORT"), "Use the session report as the notification template data") + flags.StringP( + "notification-title-tag", + "", + viper.GetString("WATCHTOWER_NOTIFICATION_TITLE_TAG"), + "Title prefix tag for notifications") + + flags.Bool("notification-skip-title", + viper.GetBool("WATCHTOWER_NOTIFICATION_SKIP_TITLE"), + "Do not pass the title param to notifications") + flags.String( "warn-on-head-failure", viper.GetString("WATCHTOWER_WARN_ON_HEAD_FAILURE"), diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index cf03b50..d4c8601 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -2,6 +2,7 @@ package notifications import ( "os" + "strings" "time" ty "github.com/containrrr/watchtower/pkg/types" @@ -30,10 +31,10 @@ func NewNotifier(c *cobra.Command) ty.Notifier { tplString, _ := f.GetString("notification-template") urls, _ := f.GetStringArray("notification-url") - hostname := GetHostname(c) - urls, delay := AppendLegacyUrls(urls, c, GetTitle(hostname)) + data := GetTemplateData(c) + urls, delay := AppendLegacyUrls(urls, c, data.Title) - return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, hostname, delay, urls...) + return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, data, delay, urls...) } // AppendLegacyUrls creates shoutrrr equivalent URLs from legacy notification flags @@ -99,28 +100,50 @@ func GetDelay(c *cobra.Command, legacyDelay time.Duration) time.Duration { return time.Duration(0) } -// GetTitle returns a common notification title with hostname appended -func GetTitle(hostname string) string { - title := "Watchtower updates" - if hostname != "" { - title += " on " + hostname +// GetTitle formats the title based on the passed hostname and tag +func GetTitle(hostname string, tag string) string { + tb := strings.Builder{} + + if tag != "" { + tb.WriteRune('[') + tb.WriteString(tag) + tb.WriteRune(']') + tb.WriteRune(' ') } - return title + + tb.WriteString("Watchtower updates") + + if hostname != "" { + tb.WriteString(" on ") + tb.WriteString(hostname) + } + + return tb.String() } -// GetHostname returns the hostname as set by args or resolved from OS -func GetHostname(c *cobra.Command) string { - +// GetTemplateData populates the static notification data from flags and environment +func GetTemplateData(c *cobra.Command) StaticData { f := c.PersistentFlags() - hostname, _ := f.GetString("notifications-hostname") - if hostname != "" { - return hostname - } else if hostname, err := os.Hostname(); err == nil { - return hostname + hostname, _ := f.GetString("notifications-hostname") + if hostname == "" { + hostname, _ = os.Hostname() } - return "" + title := "" + if skip, _ := f.GetBool("notification-skip-title"); !skip { + tag, _ := f.GetString("notification-title-tag") + if tag == "" { + // For legacy email support + tag, _ = f.GetString("notification-email-subjecttag") + } + title = GetTitle(hostname, tag) + } + + return StaticData{ + Host: hostname, + Title: title, + } } // ColorHex is the default notification color used for services that support it (formatted as a CSS hex string) diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 4cb35a6..3ddb7f8 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -39,17 +39,58 @@ var _ = Describe("notifications", func() { "test.host", }) Expect(err).NotTo(HaveOccurred()) - hostname := notifications.GetHostname(command) - title := notifications.GetTitle(hostname) + data := notifications.GetTemplateData(command) + title := data.Title Expect(title).To(Equal("Watchtower updates on test.host")) }) }) When("no hostname can be resolved", func() { It("should use the default simple title", func() { - title := notifications.GetTitle("") + title := notifications.GetTitle("", "") Expect(title).To(Equal("Watchtower updates")) }) }) + When("title tag is set", func() { + It("should use the prefix in the title", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + + Expect(command.ParseFlags([]string{ + "--notification-title-tag", + "PREFIX", + })).To(Succeed()) + + data := notifications.GetTemplateData(command) + Expect(data.Title).To(HavePrefix("[PREFIX]")) + }) + }) + When("legacy email tag is set", func() { + It("should use the prefix in the title", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + + Expect(command.ParseFlags([]string{ + "--notification-email-subjecttag", + "PREFIX", + })).To(Succeed()) + + data := notifications.GetTemplateData(command) + Expect(data.Title).To(HavePrefix("[PREFIX]")) + }) + }) + When("the skip title flag is set", func() { + It("should return an empty title", func() { + command := cmd.NewRootCommand() + flags.RegisterNotificationFlags(command) + + Expect(command.ParseFlags([]string{ + "--notification-skip-title", + })).To(Succeed()) + + data := notifications.GetTemplateData(command) + Expect(data.Title).To(BeEmpty()) + }) + }) When("no delay is defined", func() { It("should use the default delay", func() { command := cmd.NewRootCommand() @@ -106,8 +147,8 @@ var _ = Describe("notifications", func() { channel := "123456789" token := "abvsihdbau" color := notifications.ColorInt - hostname := notifications.GetHostname(command) - title := url.QueryEscape(notifications.GetTitle(hostname)) + data := notifications.GetTemplateData(command) + title := url.QueryEscape(data.Title) expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&title=%s&username=watchtower", token, channel, color, title) buildArgs := func(url string) []string { return []string{ @@ -135,8 +176,8 @@ var _ = Describe("notifications", func() { tokenB := "BBBBBBBBB" tokenC := "123456789123456789123456" color := url.QueryEscape(notifications.ColorHex) - hostname := notifications.GetHostname(command) - title := url.QueryEscape(notifications.GetTitle(hostname)) + data := notifications.GetTemplateData(command) + title := url.QueryEscape(data.Title) iconURL := "https://containrrr.dev/watchtower-sq180.png" iconEmoji := "whale" @@ -194,8 +235,8 @@ var _ = Describe("notifications", func() { token := "aaa" host := "shoutrrr.local" - hostname := notifications.GetHostname(command) - title := url.QueryEscape(notifications.GetTitle(hostname)) + data := notifications.GetTemplateData(command) + title := url.QueryEscape(data.Title) expectedOutput := fmt.Sprintf("gotify://%s/%s?title=%s", host, token, title) @@ -223,8 +264,8 @@ var _ = Describe("notifications", func() { tokenB := "33333333012222222222333333333344" tokenC := "44444444-4444-4444-8444-cccccccccccc" color := url.QueryEscape(notifications.ColorHex) - hostname := notifications.GetHostname(command) - title := url.QueryEscape(notifications.GetTitle(hostname)) + data := notifications.GetTemplateData(command) + title := url.QueryEscape(data.Title) hookURL := fmt.Sprintf("https://outlook.office.com/webhook/%s/IncomingWebhook/%s/%s", tokenA, tokenB, tokenC) expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s&title=%s", tokenA, tokenB, tokenC, color, title) @@ -319,14 +360,10 @@ func testURL(args []string, expectedURL string, expectedDelay time.Duration) { command := cmd.NewRootCommand() flags.RegisterNotificationFlags(command) - err := command.ParseFlags(args) - Expect(err).NotTo(HaveOccurred()) + Expect(command.ParseFlags(args)).To(Succeed()) - hostname := notifications.GetHostname(command) - title := notifications.GetTitle(hostname) - urls, delay := notifications.AppendLegacyUrls([]string{}, command, title) - - Expect(err).NotTo(HaveOccurred()) + data := notifications.GetTemplateData(command) + urls, delay := notifications.AppendLegacyUrls([]string{}, command, data.Title) Expect(urls).To(ContainElement(expectedURL)) Expect(delay).To(Equal(expectedDelay)) diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index bc9499e..3940d22 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -58,7 +58,7 @@ type shoutrrrTypeNotifier struct { done chan bool legacyTemplate bool params *types.Params - hostname string + data StaticData } // GetScheme returns the scheme part of a Shoutrrr URL @@ -79,11 +79,9 @@ func (n *shoutrrrTypeNotifier) GetNames() []string { return names } -func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, hostname string, delay time.Duration, urls ...string) t.Notifier { +func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, data StaticData, delay time.Duration, urls ...string) t.Notifier { - notifier := createNotifier(urls, acceptedLogLevels, tplString, legacy) - notifier.hostname = hostname - notifier.params = &types.Params{"title": GetTitle(hostname)} + notifier := createNotifier(urls, acceptedLogLevels, tplString, legacy, data) log.AddHook(notifier) // Do the sending in a separate goroutine so we don't block the main process. @@ -92,7 +90,7 @@ func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy return notifier } -func createNotifier(urls []string, levels []log.Level, tplString string, legacy bool) *shoutrrrTypeNotifier { +func createNotifier(urls []string, levels []log.Level, tplString string, legacy bool, data StaticData) *shoutrrrTypeNotifier { tpl, err := getShoutrrrTemplate(tplString, legacy) if err != nil { log.Errorf("Could not use configured notification template: %s. Using default template", err) @@ -104,6 +102,11 @@ func createNotifier(urls []string, levels []log.Level, tplString string, legacy log.Fatalf("Failed to initialize Shoutrrr notifications: %s\n", err.Error()) } + params := &types.Params{} + if data.Title != "" { + params.SetTitle(data.Title) + } + return &shoutrrrTypeNotifier{ Urls: urls, Router: r, @@ -112,6 +115,8 @@ func createNotifier(urls []string, levels []log.Level, tplString string, legacy logLevels: levels, template: tpl, legacyTemplate: legacy, + data: data, + params: params, } } @@ -149,9 +154,7 @@ func (n *shoutrrrTypeNotifier) buildMessage(data Data) (string, error) { } func (n *shoutrrrTypeNotifier) sendEntries(entries []*log.Entry, report t.Report) { - title, _ := n.params.Title() - host := n.hostname - msg, err := n.buildMessage(Data{entries, report, title, host}) + msg, err := n.buildMessage(Data{n.data, entries, report}) if msg == "" { // Log in go func in case we entered from Fire to avoid stalling @@ -240,10 +243,15 @@ func getShoutrrrTemplate(tplString string, legacy bool) (tpl *template.Template, return } +// StaticData is the part of the notification template data model set upon initialization +type StaticData struct { + Title string + Host string +} + // Data is the notification template data model type Data struct { + StaticData Entries []*log.Entry Report t.Report - Title string - Host string } diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index dbdd9eb..46ab78d 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -49,11 +49,14 @@ var mockDataAllFresh = Data{ func mockDataFromStates(states ...s.State) Data { hostname := "Mock" + prefix := "" return Data{ Entries: legacyMockData.Entries, Report: mocks.CreateMockProgressReport(states...), - Title: GetTitle(hostname), - Host: hostname, + StaticData: StaticData{ + Title: GetTitle(hostname, prefix), + Host: hostname, + }, } } @@ -77,7 +80,7 @@ var _ = Describe("Shoutrrr", func() { cmd := new(cobra.Command) flags.RegisterNotificationFlags(cmd) - shoutrrr := createNotifier([]string{}, logrus.AllLevels, "", true) + shoutrrr := createNotifier([]string{}, logrus.AllLevels, "", true, StaticData{}) entries := []*logrus.Entry{ { @@ -233,7 +236,7 @@ Turns out everything is on fire When("batching notifications", func() { When("no messages are queued", func() { It("should not send any notification", func() { - shoutrrr := newShoutrrrNotifier("", allButTrace, true, "", time.Duration(0), "logger://") + shoutrrr := newShoutrrrNotifier("", allButTrace, true, StaticData{}, time.Duration(0), "logger://") shoutrrr.StartNotification() shoutrrr.SendNotification(nil) Consistently(logBuffer).ShouldNot(gbytes.Say(`Shoutrrr:`)) @@ -241,7 +244,7 @@ Turns out everything is on fire }) When("at least one message is queued", func() { It("should send a notification", func() { - shoutrrr := newShoutrrrNotifier("", allButTrace, true, "", time.Duration(0), "logger://") + shoutrrr := newShoutrrrNotifier("", allButTrace, true, StaticData{}, time.Duration(0), "logger://") shoutrrr.StartNotification() logrus.Info("This log message is sponsored by ContainrrrVPN") shoutrrr.SendNotification(nil) @@ -250,6 +253,17 @@ Turns out everything is on fire }) }) + When("the title data field is empty", func() { + It("should not have set the title param", func() { + shoutrrr := createNotifier([]string{"logger://"}, allButTrace, "", true, StaticData{ + Host: "test.host", + Title: "", + }) + _, found := shoutrrr.params.Title() + Expect(found).ToNot(BeTrue()) + }) + }) + When("sending notifications", func() { It("SlowNotificationNotSent", func() { From 56368a72074167642ac68211ca2e35de97e00f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 18 Apr 2022 19:38:19 +0200 Subject: [PATCH 169/389] fix: testing for flag files on windows (#1249) * fix: testing for flag files on windows * fix build script on windows/msys --- build.sh | 6 +++++- internal/flags/flags.go | 11 ++++++++--- internal/flags/flags_test.go | 9 +++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/build.sh b/build.sh index 304786d..78b1bfc 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,9 @@ #!/bin/bash +BINFILE=watchtower +if [ -n "$MSYSTEM" ]; then + BINFILE=watchtower.exe +fi VERSION=$(git describe --tags) echo "Building $VERSION..." -go build -o watchtower -ldflags "-X github.com/containrrr/watchtower/internal/meta.Version=$VERSION" +go build -o $BINFILE -ldflags "-X github.com/containrrr/watchtower/internal/meta.Version=$VERSION" diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 664b669..2af8678 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -1,6 +1,7 @@ package flags import ( + "errors" "io/ioutil" "os" "strings" @@ -468,9 +469,13 @@ func getSecretFromFile(flags *pflag.FlagSet, secret string) { } func isFile(s string) bool { - _, err := os.Stat(s) - if os.IsNotExist(err) { + firstColon := strings.IndexRune(s, ':') + if firstColon != 1 && firstColon != -1 { + // If the string contains a ':', but it's not the second character, it's probably not a file + // and will cause a fatal error on windows if stat'ed + // This still allows for paths that start with 'c:\' etc. return false } - return true + _, err := os.Stat(s) + return !errors.Is(err, os.ErrNotExist) } diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index e298622..1a904dd 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -11,6 +11,10 @@ import ( ) func TestEnvConfig_Defaults(t *testing.T) { + // Unset testing environments own variables, since those are not what is under test + os.Unsetenv("DOCKER_TLS_VERIFY") + os.Unsetenv("DOCKER_HOST") + cmd := new(cobra.Command) SetDefaults() RegisterDockerFlags(cmd) @@ -94,3 +98,8 @@ func TestHTTPAPIPeriodicPollsFlag(t *testing.T) { assert.Equal(t, true, periodicPolls) } + +func TestIsFile(t *testing.T) { + assert.False(t, isFile("https://google.com"), "an URL should never be considered a file") + assert.True(t, isFile(os.Args[0]), "the currently running binary path should always be considered a file") +} From 3e4b26957da85634fa3a54f7ec8593df444f8d5e Mon Sep 17 00:00:00 2001 From: ksurl Date: Tue, 24 May 2022 01:28:48 -0700 Subject: [PATCH 170/389] ci: add pip caching for docs workflow (#1292) --- .github/workflows/publish-docs.yml | 13 ++++++++----- docs-requirements.txt | 3 +++ 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 docs-requirements.txt diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 6247c69..1c4fd2c 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -18,10 +18,13 @@ jobs: with: fetch-depth: 0 - name: Install mkdocs + uses: actions/setup-python@v3 + with: + python-version: '3.10' + cache: 'pip' + cache-dependency-path: | + docs-requirements.txt run: | - pip install \ - mkdocs \ - mkdocs-material \ - md-toc + pip install -r docs-requirements.txt - name: Generate docs - run: mkdocs gh-deploy --strict \ No newline at end of file + run: mkdocs gh-deploy --strict diff --git a/docs-requirements.txt b/docs-requirements.txt new file mode 100644 index 0000000..3a0104e --- /dev/null +++ b/docs-requirements.txt @@ -0,0 +1,3 @@ +mkdocs +mkdocs-material +md-toc From de40b0ce11bbf082d5abb7f709a7a0861a67040a Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 24 May 2022 11:20:37 +0200 Subject: [PATCH 171/389] docs: add ksurl as a contributor for infra (#1293) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 3 ++- README.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index e98384d..26e4d56 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -693,7 +693,8 @@ "profile": "https://github.com/ksurl", "contributions": [ "doc", - "code" + "code", + "infra" ] }, { diff --git a/README.md b/README.md index e6754b0..81a9630 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
David H.

💻
Chander Ganesan

📖
yrien30

💻 -
ksurl

📖 💻 +
ksurl

📖 💻 🚇
rg9400

💻
Turtle Kalus

💻
Srihari Thalla

📖 From e983beb52a48810ce650368468c81c44bda7c595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Fri, 27 May 2022 12:16:18 +0200 Subject: [PATCH 172/389] fix: gracefully skip pinned images (#1277) * move client args to opts struct * gracefully skip pinned images * replace newClientNoAPI with literals --- cmd/root.go | 25 ++++++------- pkg/container/client.go | 66 ++++++++++++++++++++------------- pkg/container/client_test.go | 57 +++++++++++++++------------- pkg/container/container_test.go | 38 +++++++------------ 4 files changed, 98 insertions(+), 88 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index 1be52a8..9041157 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,7 +1,6 @@ package cmd import ( - "github.com/containrrr/watchtower/internal/meta" "math" "net/http" "os" @@ -11,12 +10,12 @@ import ( "syscall" "time" - apiMetrics "github.com/containrrr/watchtower/pkg/api/metrics" - "github.com/containrrr/watchtower/pkg/api/update" - "github.com/containrrr/watchtower/internal/actions" "github.com/containrrr/watchtower/internal/flags" + "github.com/containrrr/watchtower/internal/meta" "github.com/containrrr/watchtower/pkg/api" + apiMetrics "github.com/containrrr/watchtower/pkg/api/metrics" + "github.com/containrrr/watchtower/pkg/api/update" "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/filters" "github.com/containrrr/watchtower/pkg/metrics" @@ -139,14 +138,14 @@ func PreRun(cmd *cobra.Command, _ []string) { log.Warn("Using `WATCHTOWER_NO_PULL` and `WATCHTOWER_MONITOR_ONLY` simultaneously might lead to no action being taken at all. If this is intentional, you may safely ignore this message.") } - client = container.NewClient( - !noPull, - includeStopped, - reviveStopped, - removeVolumes, - includeRestarting, - warnOnHeadPullFailed, - ) + client = container.NewClient(container.ClientOptions{ + PullImages: !noPull, + IncludeStopped: includeStopped, + ReviveStopped: reviveStopped, + RemoveVolumes: removeVolumes, + IncludeRestarting: includeRestarting, + WarnOnHeadFailed: container.WarningStrategy(warnOnHeadPullFailed), + }) notifier = notifications.NewNotifier(cmd) } @@ -293,7 +292,7 @@ func writeStartupMessage(c *cobra.Command, sched time.Time, filtering string) { startupLog.Info("Scheduling first run: " + sched.Format("2006-01-02 15:04:05 -0700 MST")) startupLog.Info("Note that the first check will be performed in " + until) } else if runOnce, _ := c.PersistentFlags().GetBool("run-once"); runOnce { - startupLog.Info("Running a one time update.") + startupLog.Info("Running a one time update.") } else { startupLog.Info("Periodic runs are not enabled.") } diff --git a/pkg/container/client.go b/pkg/container/client.go index 371206b..df4b8da 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -42,7 +42,7 @@ type Client interface { // * DOCKER_HOST the docker-engine host to send api requests to // * DOCKER_TLS_VERIFY whether to verify tls certificates // * DOCKER_API_VERSION the minimum docker api version to work with -func NewClient(pullImages, includeStopped, reviveStopped, removeVolumes, includeRestarting bool, warnOnHeadFailed string) Client { +func NewClient(opts ClientOptions) Client { cli, err := sdkClient.NewClientWithOpts(sdkClient.FromEnv) if err != nil { @@ -50,31 +50,43 @@ func NewClient(pullImages, includeStopped, reviveStopped, removeVolumes, include } return dockerClient{ - api: cli, - pullImages: pullImages, - removeVolumes: removeVolumes, - includeStopped: includeStopped, - reviveStopped: reviveStopped, - includeRestarting: includeRestarting, - warnOnHeadFailed: warnOnHeadFailed, + api: cli, + ClientOptions: opts, } } +// ClientOptions contains the options for how the docker client wrapper should behave +type ClientOptions struct { + PullImages bool + RemoveVolumes bool + IncludeStopped bool + ReviveStopped bool + IncludeRestarting bool + WarnOnHeadFailed WarningStrategy +} + +// WarningStrategy is a value determining when to show warnings +type WarningStrategy string + +const ( + // WarnAlways warns whenever the problem occurs + WarnAlways WarningStrategy = "always" + // WarnNever never warns when the problem occurs + WarnNever WarningStrategy = "never" + // WarnAuto skips warning when the problem was expected + WarnAuto WarningStrategy = "auto" +) + type dockerClient struct { - api sdkClient.CommonAPIClient - pullImages bool - removeVolumes bool - includeStopped bool - reviveStopped bool - includeRestarting bool - warnOnHeadFailed string + api sdkClient.CommonAPIClient + ClientOptions } func (client dockerClient) WarnOnHeadPullFailed(container Container) bool { - if client.warnOnHeadFailed == "always" { + if client.WarnOnHeadFailed == WarnAlways { return true } - if client.warnOnHeadFailed == "never" { + if client.WarnOnHeadFailed == WarnNever { return false } @@ -85,11 +97,11 @@ func (client dockerClient) ListContainers(fn t.Filter) ([]Container, error) { cs := []Container{} bg := context.Background() - if client.includeStopped && client.includeRestarting { + if client.IncludeStopped && client.IncludeRestarting { log.Debug("Retrieving running, stopped, restarting and exited containers") - } else if client.includeStopped { + } else if client.IncludeStopped { log.Debug("Retrieving running, stopped and exited containers") - } else if client.includeRestarting { + } else if client.IncludeRestarting { log.Debug("Retrieving running and restarting containers") } else { log.Debug("Retrieving running containers") @@ -125,12 +137,12 @@ func (client dockerClient) createListFilter() filters.Args { filterArgs := filters.NewArgs() filterArgs.Add("status", "running") - if client.includeStopped { + if client.IncludeStopped { filterArgs.Add("status", "created") filterArgs.Add("status", "exited") } - if client.includeRestarting { + if client.IncludeRestarting { filterArgs.Add("status", "restarting") } @@ -179,7 +191,7 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err } else { log.Debugf("Removing container %s", shortID) - if err := client.api.ContainerRemove(bg, idStr, types.ContainerRemoveOptions{Force: true, RemoveVolumes: client.removeVolumes}); err != nil { + if err := client.api.ContainerRemove(bg, idStr, types.ContainerRemoveOptions{Force: true, RemoveVolumes: client.RemoveVolumes}); err != nil { return err } } @@ -236,7 +248,7 @@ func (client dockerClient) StartContainer(c Container) (t.ContainerID, error) { } createdContainerID := t.ContainerID(createdContainer.ID) - if !c.IsRunning() && !client.reviveStopped { + if !c.IsRunning() && !client.ReviveStopped { return createdContainerID, nil } @@ -264,7 +276,7 @@ func (client dockerClient) RenameContainer(c Container, newName string) error { func (client dockerClient) IsContainerStale(container Container) (stale bool, latestImage t.ImageID, err error) { ctx := context.Background() - if !client.pullImages { + if !client.PullImages { log.Debugf("Skipping image pull.") } else if err := client.PullImage(ctx, container); err != nil { return false, container.SafeImageID(), err @@ -303,6 +315,10 @@ func (client dockerClient) PullImage(ctx context.Context, container Container) e "container": containerName, } + if strings.HasPrefix(imageName, "sha256:") { + return fmt.Errorf("container uses a pinned image, and cannot be updated by watchtower") + } + log.WithFields(fields).Debugf("Trying to load authentication credentials.") opts, err := registry.GetPullOptions(imageName) if err != nil { diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 2f0157d..2487bb3 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -16,6 +16,7 @@ import ( . "github.com/onsi/gomega" . "github.com/onsi/gomega/types" + "context" "net/http" ) @@ -35,38 +36,47 @@ var _ = Describe("the client", func() { containerUnknown := *mockContainerWithImageName("unknown.repo/prefix/imagename:latest") containerKnown := *mockContainerWithImageName("docker.io/prefix/imagename:latest") - When("warn on head failure is set to \"always\"", func() { - c := newClientNoAPI(false, false, false, false, false, "always") + When(`warn on head failure is set to "always"`, func() { + c := dockerClient{ClientOptions: ClientOptions{WarnOnHeadFailed: WarnAlways}} It("should always return true", func() { Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeTrue()) Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) }) }) - When("warn on head failure is set to \"auto\"", func() { - c := newClientNoAPI(false, false, false, false, false, "auto") - It("should always return true", func() { + When(`warn on head failure is set to "auto"`, func() { + c := dockerClient{ClientOptions: ClientOptions{WarnOnHeadFailed: WarnAuto}} + It("should return false for unknown repos", func() { Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) }) - It("should", func() { + It("should return true for known repos", func() { Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeTrue()) }) }) - When("warn on head failure is set to \"never\"", func() { - c := newClientNoAPI(false, false, false, false, false, "never") + When(`warn on head failure is set to "never"`, func() { + c := dockerClient{ClientOptions: ClientOptions{WarnOnHeadFailed: WarnNever}} It("should never return true", func() { Expect(c.WarnOnHeadPullFailed(containerUnknown)).To(BeFalse()) Expect(c.WarnOnHeadPullFailed(containerKnown)).To(BeFalse()) }) }) }) + When("pulling the latest image", func() { + When("the image consist of a pinned hash", func() { + It("should gracefully fail with a useful message", func() { + c := dockerClient{} + pinnedContainer := *mockContainerWithImageName("sha256:fa5269854a5e615e51a72b17ad3fd1e01268f278a6684c8ed3c5f0cdce3f230b") + c.PullImage(context.Background(), pinnedContainer) + }) + }) + }) When("listing containers", func() { When("no filter is provided", func() { It("should return all available containers", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running")) mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) client := dockerClient{ - api: docker, - pullImages: false, + api: docker, + ClientOptions: ClientOptions{PullImages: false}, } containers, err := client.ListContainers(filters.NoFilter) Expect(err).NotTo(HaveOccurred()) @@ -79,8 +89,8 @@ var _ = Describe("the client", func() { mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) filter := filters.FilterByNames([]string{"lollercoaster"}, filters.NoFilter) client := dockerClient{ - api: docker, - pullImages: false, + api: docker, + ClientOptions: ClientOptions{PullImages: false}, } containers, err := client.ListContainers(filter) Expect(err).NotTo(HaveOccurred()) @@ -92,8 +102,8 @@ var _ = Describe("the client", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running")) mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) client := dockerClient{ - api: docker, - pullImages: false, + api: docker, + ClientOptions: ClientOptions{PullImages: false}, } containers, err := client.ListContainers(filters.WatchtowerContainersFilter) Expect(err).NotTo(HaveOccurred()) @@ -105,9 +115,8 @@ var _ = Describe("the client", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running", "exited", "created")) mockServer.AppendHandlers(mocks.GetContainerHandlers("stopped", "watchtower", "running")...) client := dockerClient{ - api: docker, - pullImages: false, - includeStopped: true, + api: docker, + ClientOptions: ClientOptions{PullImages: false, IncludeStopped: true}, } containers, err := client.ListContainers(filters.NoFilter) Expect(err).NotTo(HaveOccurred()) @@ -119,9 +128,8 @@ var _ = Describe("the client", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running", "restarting")) mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running", "restarting")...) client := dockerClient{ - api: docker, - pullImages: false, - includeRestarting: true, + api: docker, + ClientOptions: ClientOptions{PullImages: false, IncludeRestarting: true}, } containers, err := client.ListContainers(filters.NoFilter) Expect(err).NotTo(HaveOccurred()) @@ -133,9 +141,8 @@ var _ = Describe("the client", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running")) mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) client := dockerClient{ - api: docker, - pullImages: false, - includeRestarting: false, + api: docker, + ClientOptions: ClientOptions{PullImages: false, IncludeRestarting: false}, } containers, err := client.ListContainers(filters.NoFilter) Expect(err).NotTo(HaveOccurred()) @@ -147,8 +154,8 @@ var _ = Describe("the client", func() { When(`logging`, func() { It("should include container id field", func() { client := dockerClient{ - api: docker, - pullImages: false, + api: docker, + ClientOptions: ClientOptions{PullImages: false}, } // Capture logrus output in buffer diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 1a4e956..6cd5c86 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -216,20 +216,20 @@ var _ = Describe("the container", func() { }) }) }) - + When("there is a pre or post update timeout", func() { - It("should return minute values", func() { - c = mockContainerWithLabels(map[string]string{ - "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "3", - "com.centurylinklabs.watchtower.lifecycle.post-update-timeout": "5", - }) - preTimeout := c.PreUpdateTimeout() - Expect(preTimeout).To(Equal(3)) - postTimeout := c.PostUpdateTimeout() - Expect(postTimeout).To(Equal(5)) - }) - }) - + It("should return minute values", func() { + c = mockContainerWithLabels(map[string]string{ + "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "3", + "com.centurylinklabs.watchtower.lifecycle.post-update-timeout": "5", + }) + preTimeout := c.PreUpdateTimeout() + Expect(preTimeout).To(Equal(3)) + postTimeout := c.PostUpdateTimeout() + Expect(postTimeout).To(Equal(5)) + }) + }) + }) }) @@ -282,15 +282,3 @@ func mockContainerWithLabels(labels map[string]string) *Container { } return NewContainer(&content, nil) } - -func newClientNoAPI(pullImages, includeStopped, reviveStopped, removeVolumes, includeRestarting bool, warnOnHeadFailed string) Client { - return dockerClient{ - api: nil, - pullImages: pullImages, - removeVolumes: removeVolumes, - includeStopped: includeStopped, - reviveStopped: reviveStopped, - includeRestarting: includeRestarting, - warnOnHeadFailed: warnOnHeadFailed, - } -} From 33b8a9822cbebe4493d64a0f7cdd8b5269bae9af Mon Sep 17 00:00:00 2001 From: lyh16 <41638369+lyh16@users.noreply.github.com> Date: Fri, 10 Jun 2022 17:09:25 +0900 Subject: [PATCH 173/389] fix(templates): fix typo in grafana dashboard.json (#1305) --- grafana/dashboards/dashboard.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/grafana/dashboards/dashboard.json b/grafana/dashboards/dashboard.json index 998485b..3b7aa8f 100644 --- a/grafana/dashboards/dashboard.json +++ b/grafana/dashboards/dashboard.json @@ -102,7 +102,7 @@ "properties": [ { "id": "displayName", - "value": "Faled" + "value": "Failed" } ] }, @@ -290,4 +290,4 @@ "title": "Watchtower", "uid": "d7bdoT-Gz", "version": 1 -} \ No newline at end of file +} From 739f328ee55ea2fddf565e5c09dad4b5d8d568d0 Mon Sep 17 00:00:00 2001 From: Dirk Kok Date: Tue, 14 Jun 2022 09:13:14 +0200 Subject: [PATCH 174/389] feat(http): optional query parameter to update only containers of a specified image (#1289) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(http): optional query parameter to update only containers of a specified image * fix style issues * comma separated image parameter * Support comma-separated query parameter as well as specifying it multiple times Co-authored-by: nils måsén * fixed compile error * fixed FilterByImageTag Not sure what changed in my testing setup, but Docker reports image names including the tag name now. * consistent use of image/tag (use image) * fixed multiple image queries * assuming I'm right here, only block on lock when any images are specified. * add unit tests for image filter. didn't add tests for update api because they didn't already exist * whoops. * use ImageName instead, add unit test for empty ImageName filter. Co-authored-by: nils måsén --- cmd/root.go | 2 +- pkg/api/update/update.go | 32 +++++++++++++++---- pkg/container/mocks/FilterableContainer.go | 14 ++++++++ pkg/filters/filters.go | 18 +++++++++++ pkg/filters/filters_test.go | 37 ++++++++++++++++++++++ pkg/types/filterable_container.go | 1 + 6 files changed, 96 insertions(+), 8 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index 9041157..a350410 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -188,7 +188,7 @@ func Run(c *cobra.Command, names []string) { httpAPI := api.New(apiToken) if enableUpdateAPI { - updateHandler := update.New(func() { runUpdatesWithNotifications(filter) }, updateLock) + updateHandler := update.New(func(images []string) { runUpdatesWithNotifications(filters.FilterByImage(images, filter)) }, updateLock) httpAPI.RegisterFunc(updateHandler.Path, updateHandler.Handle) // If polling isn't enabled the scheduler is never started and // we need to trigger the startup messages manually. diff --git a/pkg/api/update/update.go b/pkg/api/update/update.go index 4721e3e..ba044ab 100644 --- a/pkg/api/update/update.go +++ b/pkg/api/update/update.go @@ -4,6 +4,7 @@ import ( "io" "net/http" "os" + "strings" log "github.com/sirupsen/logrus" ) @@ -13,7 +14,7 @@ var ( ) // New is a factory function creating a new Handler instance -func New(updateFn func(), updateLock chan bool) *Handler { +func New(updateFn func(images []string), updateLock chan bool) *Handler { if updateLock != nil { lock = updateLock } else { @@ -29,7 +30,7 @@ func New(updateFn func(), updateLock chan bool) *Handler { // Handler is an API handler used for triggering container update scans type Handler struct { - fn func() + fn func(images []string) Path string } @@ -43,12 +44,29 @@ func (handle *Handler) Handle(w http.ResponseWriter, r *http.Request) { return } - select { - case chanValue := <-lock: + var images []string + imageQueries, found := r.URL.Query()["image"] + if found { + for _, image := range imageQueries { + images = append(images, strings.Split(image, ",")...) + } + + } else { + images = nil + } + + if len(images) > 0 { + chanValue := <-lock defer func() { lock <- chanValue }() - handle.fn() - default: - log.Debug("Skipped. Another update already running.") + handle.fn(images) + } else { + select { + case chanValue := <-lock: + defer func() { lock <- chanValue }() + handle.fn(images) + default: + log.Debug("Skipped. Another update already running.") + } } } diff --git a/pkg/container/mocks/FilterableContainer.go b/pkg/container/mocks/FilterableContainer.go index 1ae8125..fa863b5 100644 --- a/pkg/container/mocks/FilterableContainer.go +++ b/pkg/container/mocks/FilterableContainer.go @@ -78,3 +78,17 @@ func (_m *FilterableContainer) Scope() (string, bool) { return r0, r1 } + +// ImageName provides a mock function with given fields: +func (_m *FilterableContainer) ImageName() string { + ret := _m.Called() + + var r0 string + if rf, ok := ret.Get(0).(func() string); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(string) + } + + return r0 +} diff --git a/pkg/filters/filters.go b/pkg/filters/filters.go index 18f39c2..a283301 100644 --- a/pkg/filters/filters.go +++ b/pkg/filters/filters.go @@ -70,6 +70,24 @@ func FilterByScope(scope string, baseFilter t.Filter) t.Filter { } } +// FilterByImage returns all containers that have a specific image +func FilterByImage(images []string, baseFilter t.Filter) t.Filter { + if images == nil { + return baseFilter + } + + return func(c t.FilterableContainer) bool { + image := strings.Split(c.ImageName(), ":")[0] + for _, targetImage := range images { + if image == targetImage { + return baseFilter(c) + } + } + + return false + } +} + // BuildFilter creates the needed filter of containers func BuildFilter(names []string, enableLabel bool, scope string) (t.Filter, string) { sb := strings.Builder{} diff --git a/pkg/filters/filters_test.go b/pkg/filters/filters_test.go index 3b52b5e..c07b181 100644 --- a/pkg/filters/filters_test.go +++ b/pkg/filters/filters_test.go @@ -110,6 +110,43 @@ func TestFilterByDisabledLabel(t *testing.T) { container.AssertExpectations(t) } +func TestFilterByImage(t *testing.T) { + filterEmpty := FilterByImage(nil, NoFilter) + filterSingle := FilterByImage([]string{"registry"}, NoFilter) + filterMultiple := FilterByImage([]string{"registry", "bla"}, NoFilter) + assert.NotNil(t, filterSingle) + assert.NotNil(t, filterMultiple) + + container := new(mocks.FilterableContainer) + container.On("ImageName").Return("registry:2") + assert.True(t, filterEmpty(container)) + assert.True(t, filterSingle(container)) + assert.True(t, filterMultiple(container)) + container.AssertExpectations(t) + + container = new(mocks.FilterableContainer) + container.On("ImageName").Return("registry:latest") + assert.True(t, filterEmpty(container)) + assert.True(t, filterSingle(container)) + assert.True(t, filterMultiple(container)) + container.AssertExpectations(t) + + container = new(mocks.FilterableContainer) + container.On("ImageName").Return("abcdef1234") + assert.True(t, filterEmpty(container)) + assert.False(t, filterSingle(container)) + assert.False(t, filterMultiple(container)) + container.AssertExpectations(t) + + container = new(mocks.FilterableContainer) + container.On("ImageName").Return("bla:latest") + assert.True(t, filterEmpty(container)) + assert.False(t, filterSingle(container)) + assert.True(t, filterMultiple(container)) + container.AssertExpectations(t) + +} + func TestBuildFilter(t *testing.T) { var names []string names = append(names, "test") diff --git a/pkg/types/filterable_container.go b/pkg/types/filterable_container.go index 3c46295..b410b1c 100644 --- a/pkg/types/filterable_container.go +++ b/pkg/types/filterable_container.go @@ -7,4 +7,5 @@ type FilterableContainer interface { IsWatchtower() bool Enabled() (bool, bool) Scope() (string, bool) + ImageName() string } From 30f36b3ca29f0e1b11d0be0d4ac0900faceeaeb4 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 14 Jun 2022 09:16:11 +0200 Subject: [PATCH 175/389] docs: add Foxite as a contributor for code (#1307) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 26e4d56..1f2b253 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -813,6 +813,15 @@ "contributions": [ "doc" ] + }, + { + "login": "Foxite", + "name": "Dirk Kok", + "avatar_url": "https://avatars.githubusercontent.com/u/20421657?v=4", + "profile": "https://ko-fi.com/foxite", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 81a9630..f9dee1c 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Igor Zibarev

💻
Patrice

💻
James White

📖 +
Dirk Kok

💻 From 2aa01da608199bc2761e24c8307e4885fd2c616c Mon Sep 17 00:00:00 2001 From: EDIflyer Date: Mon, 18 Jul 2022 10:54:34 +0100 Subject: [PATCH 176/389] docs: clarify container label usage (#1319) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- docs/container-selection.md | 56 ++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/docs/container-selection.md b/docs/container-selection.md index b5ccafb..4b6facd 100644 --- a/docs/container-selection.md +++ b/docs/container-selection.md @@ -7,29 +7,53 @@ There are two options: ## Full Exclude -If you need to exclude some containers, set the _com.centurylinklabs.watchtower.enable_ label to `false`. +If you need to exclude some containers, set the _com.centurylinklabs.watchtower.enable_ label to `false`. For clarity this should be set **on the container(s)** you wish to be ignored, this is not set on watchtower. -```docker -LABEL com.centurylinklabs.watchtower.enable="false" -``` +=== "dockerfile" -Or, it can be specified as part of the `docker run` command line: + ```docker + LABEL com.centurylinklabs.watchtower.enable="false" + ``` +=== "docker run" -```bash -docker run -d --label=com.centurylinklabs.watchtower.enable=false someimage -``` + ```bash + docker run -d --label=com.centurylinklabs.watchtower.enable=false someimage + ``` -If you need to [include only containers with the enable label](https://containrrr.github.io/watchtower/arguments/#filter_by_enable_label), pass the `--label-enable` flag or the `WATCHTOWER_LABEL_ENABLE` environment variable on startup and set the _com.centurylinklabs.watchtower.enable_ label with a value of `true` for the containers you want to watch. +=== "docker-compose" -```docker -LABEL com.centurylinklabs.watchtower.enable="true" -``` + ``` yaml + version: "3" + services: + someimage: + container_name: someimage + labels: + - "com.centurylinklabs.watchtower.enable=false" + ``` -Or, it can be specified as part of the `docker run` command line: +If instead you want to [only include containers with the enable label](https://containrrr.github.io/watchtower/arguments/#filter_by_enable_label), pass the `--label-enable` flag or the `WATCHTOWER_LABEL_ENABLE` environment variable on startup for watchtower and set the _com.centurylinklabs.watchtower.enable_ label with a value of `true` on the containers you want to watch. -```bash -docker run -d --label=com.centurylinklabs.watchtower.enable=true someimage -``` +=== "dockerfile" + + ```docker + LABEL com.centurylinklabs.watchtower.enable="true" + ``` +=== "docker run" + + ```bash + docker run -d --label=com.centurylinklabs.watchtower.enable=true someimage + ``` + +=== "docker-compose" + + ``` yaml + version: "3" + services: + someimage: + container_name: someimage + labels: + - "com.centurylinklabs.watchtower.enable=true" + ``` If you wish to create a monitoring scope, you will need to [run multiple instances and set a scope for each of them](https://containrrr.github.io/watchtower/running-multiple-instances). From ae33e77de54a8c4663394434bbca5d942bc49c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 19 Jul 2022 13:10:12 +0200 Subject: [PATCH 177/389] feat(shoutrrr): update shoutrrr to v0.6.1 (#1325) --- docs/notifications.md | 2 +- go.mod | 35 ++- go.sum | 669 +----------------------------------------- 3 files changed, 29 insertions(+), 677 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index 68647ab..7921e19 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -183,7 +183,7 @@ To send notifications via shoutrrr, the following command-line options, or their - `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. -Go to [containrrr.dev/shoutrrr/v0.5/services/overview](https://containrrr.dev/shoutrrr/v0.5/services/overview) to +Go to [containrrr.dev/shoutrrr/v0.6/services/overview](https://containrrr.dev/shoutrrr/v0.6/services/overview) to learn more about the different service URLs you can use. You can define multiple services by space separating the URLs. (See example below) diff --git a/go.mod b/go.mod index dc7f3b4..b6e92bd 100644 --- a/go.mod +++ b/go.mod @@ -2,21 +2,13 @@ module github.com/containrrr/watchtower go 1.12 -// Use non-vulnerable runc (until github.com/containerd/containerd v1.6.0 is stable) -replace github.com/opencontainers/runc => github.com/opencontainers/runc v1.0.3 - require ( - github.com/containerd/containerd v1.5.9 // indirect github.com/containrrr/shoutrrr v0.5.3 - github.com/docker/cli v20.10.8+incompatible + github.com/docker/cli v20.10.17+incompatible github.com/docker/distribution v2.8.0+incompatible - github.com/docker/docker v20.10.8+incompatible - github.com/docker/docker-credential-helpers v0.6.1 // indirect + github.com/docker/docker v20.10.17+incompatible github.com/docker/go-connections v0.4.0 - github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 - github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect - github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect github.com/onsi/ginkgo v1.14.2 github.com/onsi/gomega v1.10.3 github.com/prometheus/client_golang v1.7.1 @@ -27,5 +19,26 @@ require ( github.com/spf13/viper v1.6.3 github.com/stretchr/testify v1.6.1 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 - golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect +) + +require ( + github.com/Microsoft/go-winio v0.4.17 // indirect + github.com/docker/docker-credential-helpers v0.6.1 // indirect + github.com/docker/go-units v0.4.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect + github.com/kr/pretty v0.2.1 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect + github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.0.2 // indirect + github.com/pelletier/go-toml v1.8.1 // indirect + github.com/prometheus/procfs v0.6.0 // indirect + github.com/stretchr/objx v0.2.0 // indirect + golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect + golang.org/x/text v0.3.4 // indirect + golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect + google.golang.org/protobuf v1.27.1 // indirect + gotest.tools/v3 v3.0.3 // indirect ) diff --git a/go.sum b/go.sum index e5bf542..340bb91 100644 --- a/go.sum +++ b/go.sum @@ -1,459 +1,137 @@ -bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= -github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= -github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w= github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= -github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= -github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= -github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= -github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= -github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= -github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= -github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= -github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= -github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= -github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= -github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= -github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= -github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= -github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= -github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= -github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= -github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= -github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= -github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= -github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= -github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= -github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= -github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= -github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= -github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= -github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= -github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= -github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= -github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= -github.com/containerd/containerd v1.5.9 h1:rs6Xg1gtIxaeyG+Smsb/0xaSDu1VgFhOCKBXxMxbsF4= -github.com/containerd/containerd v1.5.9/go.mod h1:fvQqCfadDGga5HZyn3j4+dx56qj2I9YwBrlSdalvJYQ= -github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= -github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= -github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= -github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= -github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= -github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= -github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= -github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= -github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= -github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= -github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= -github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= -github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= -github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= -github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= -github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= -github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= -github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= -github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= -github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= -github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= -github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= -github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= -github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= github.com/containrrr/shoutrrr v0.5.3 h1:ndDN/cKl3cfmuHHjcTDiLTxxjl/1VTWTolOUTLUgiqc= github.com/containrrr/shoutrrr v0.5.3/go.mod h1:ye9jGX5YzMnJ76waaNVWlJ4luhMEyt1EWU5unYTQSb0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= -github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= -github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= -github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= -github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= -github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= -github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= -github.com/docker/cli v20.10.8+incompatible h1:/zO/6y9IOpcehE49yMRTV9ea0nBpb8OeqSskXLNfH1E= -github.com/docker/cli v20.10.8+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= -github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= +github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.0+incompatible h1:l9EaZDICImO1ngI+uTifW+ZYvvz7fKISBAKpg+MbWbY= github.com/docker/distribution v2.8.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.8+incompatible h1:RVqD337BgQicVCzYrrlhLDWhq6OAD2PJDUg2LsEUvKM= -github.com/docker/docker v20.10.8+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= -github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= -github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= -github.com/gorilla/mux v1.7.2 h1:zoNxOV7WjqXptQOVngLmcSQgXmgk4NMz1HibBchjl/I= -github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= github.com/jarcoal/httpmock v1.0.4 h1:jp+dy/+nonJE4g4xbVtl9QdrUNbn6/3hDT5R4nDIZnA= github.com/jarcoal/httpmock v1.0.4/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 h1:jKUP9TQ0c7X3w6+IPyMit07RE42MtTWNd77sN2cHngQ= github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22/go.mod h1:u0Jo4f2dNlTJeeOywkM6bLwxq6gC3pZ9rEFHn3AhTdk= github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 h1:+kBG/8rjCa6vxJZbUjAiE4MQmBEBYc8nLEb51frnvBY= github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07/go.mod h1:j1kV/8f3jowErEq4XyeypkCdvg5EeHkf0YCKCcq5Ybo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= -github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= -github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -462,122 +140,65 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.6 h1:11TGpSHY7Esh/i/qnq02Jo5oVrI1Gue8Slbq0ujPZFQ= github.com/nxadm/tail v1.4.6/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M= github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA= github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= -github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= -github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= -github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= -github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= -github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.7.1 h1:NTGy1Ja9pByO+xAeH/qiWnLrKtr3hJPNjaVUwnjpdpA= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.10.0 h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lNawc= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -588,30 +209,20 @@ github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTd github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= -github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -619,139 +230,47 @@ github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= -github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= -github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= -github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= -github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= -github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= -github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= -github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -760,115 +279,41 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e h1:XMgFehsDnnLGtjvjOfqWSUzt0alpTR1RSEuznObga2c= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e h1:EHBhcS0mlXEAVwNyO2dLfjToGsyY4j24pTs2ScHnX7s= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -876,95 +321,30 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a h1:pOwg4OoaRYScjmR4LlLgdtnyoHYTSAVhhqe5uPdpII8= -google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.55.0 h1:E8yzL5unfpW3M6fz/eB7Cb5MQAYSZ7GKo4Qth+N2sgQ= gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= @@ -978,48 +358,7 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= -k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= -k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= -k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= -k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= -k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= -k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= -k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= -k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= -k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= -k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= -k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= -k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= -k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= -k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= -k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= -k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= -k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= -k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= -k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= From 5f8565570c71d74d99dc24411218f6bb00aaf36d Mon Sep 17 00:00:00 2001 From: Frinze Erin Lapuz <44391389+frinzekt@users.noreply.github.com> Date: Tue, 19 Jul 2022 19:30:25 +0800 Subject: [PATCH 178/389] docs(private-regs): change example region to a replace-me token (#1264) --- docs/private-registries.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/private-registries.md b/docs/private-registries.md index 94f9a81..ee4ed41 100644 --- a/docs/private-registries.md +++ b/docs/private-registries.md @@ -145,7 +145,7 @@ in a volume that may be mounted onto your watchtower container. ``` 3. Create a configuration file for docker, and store it in $HOME/.docker/config.json (replace the - placeholders with your AWS Account ID): + placeholders with your AWS Account ID and with your AWS ECR Region): ```json { "credsStore" : "ecr-login", @@ -153,10 +153,10 @@ in a volume that may be mounted onto your watchtower container. "User-Agent" : "Docker-Client/19.03.1 (XXXXXX)" }, "auths" : { - ".dkr.ecr.us-west-1.amazonaws.com" : {} + ".dkr.ecr..amazonaws.com" : {} }, "credHelpers": { - ".dkr.ecr.us-west-1.amazonaws.com" : "ecr-login" + ".dkr.ecr..amazonaws.com" : "ecr-login" } } ``` From 08831f798ce222bbf0244253d84dbb0649b89f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 19 Jul 2022 18:05:36 +0200 Subject: [PATCH 179/389] feat(shoutrrr): update shoutrrr to v0.6.1 (#1326) --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b6e92bd..5182f5f 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/containrrr/watchtower go 1.12 require ( - github.com/containrrr/shoutrrr v0.5.3 + github.com/containrrr/shoutrrr v0.6.1 github.com/docker/cli v20.10.17+incompatible github.com/docker/distribution v2.8.0+incompatible github.com/docker/docker v20.10.17+incompatible diff --git a/go.sum b/go.sum index 340bb91..81228de 100644 --- a/go.sum +++ b/go.sum @@ -20,8 +20,8 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/containrrr/shoutrrr v0.5.3 h1:ndDN/cKl3cfmuHHjcTDiLTxxjl/1VTWTolOUTLUgiqc= -github.com/containrrr/shoutrrr v0.5.3/go.mod h1:ye9jGX5YzMnJ76waaNVWlJ4luhMEyt1EWU5unYTQSb0= +github.com/containrrr/shoutrrr v0.6.1 h1:6ih7jA6mo3t6C97MZbd3SxL/kRizOE3bI9CpBQZ6wzg= +github.com/containrrr/shoutrrr v0.6.1/go.mod h1:ye9jGX5YzMnJ76waaNVWlJ4luhMEyt1EWU5unYTQSb0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= From 489356aa421b674ebce1283f7a1a499f326b3522 Mon Sep 17 00:00:00 2001 From: Brian Choromanski Date: Mon, 1 Aug 2022 12:40:12 -0400 Subject: [PATCH 180/389] fix(notifications): include icon in slack legacy url (#1303) --- pkg/notifications/notifier_test.go | 23 +++++++++++++++++++++++ pkg/notifications/slack.go | 5 +++++ 2 files changed, 28 insertions(+) diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 3ddb7f8..1b004dc 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -149,6 +149,8 @@ var _ = Describe("notifications", func() { color := notifications.ColorInt data := notifications.GetTemplateData(command) title := url.QueryEscape(data.Title) + username := "containrrrbot" + iconURL := "https://containrrr.dev/watchtower-sq180.png" expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&title=%s&username=watchtower", token, channel, color, title) buildArgs := func(url string) []string { return []string{ @@ -167,6 +169,27 @@ var _ = Describe("notifications", func() { hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discordapp.com", channel, token) testURL(buildArgs(hookURL), expected, time.Duration(0)) }) + When("icon URL and username are specified", func() { + It("should return the expected URL", func() { + hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discord.com", channel, token) + expectedOutput := fmt.Sprintf("discord://%s@%s?avatar=%s&color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&title=%s&username=%s", token, channel, url.QueryEscape(iconURL), color, title, username) + expectedDelay := time.Duration(7) * time.Second + args := []string{ + "--notifications", + "slack", + "--notification-slack-hook-url", + hookURL, + "--notification-slack-identifier", + username, + "--notification-slack-icon-url", + iconURL, + "--notifications-delay", + fmt.Sprint(expectedDelay.Seconds()), + } + + testURL(args, expectedOutput, expectedDelay) + }) + }) }) When("converting a slack service config into a shoutrrr url", func() { command := cmd.NewRootCommand() diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index faff944..f4fa158 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -56,6 +56,11 @@ func (s *slackTypeNotifier) GetURL(c *cobra.Command, title string) (string, erro SplitLines: true, Username: s.Username, } + + if s.IconURL != "" { + conf.Avatar = s.IconURL + } + return conf.GetURL().String(), nil } From bd2adf6e5f0d79800e48ac3da2b0468e153d1891 Mon Sep 17 00:00:00 2001 From: James Laska <1051173+jlaska@users.noreply.github.com> Date: Mon, 1 Aug 2022 14:10:36 -0400 Subject: [PATCH 181/389] Support secrets for notification_url (#1300) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- docs/notifications.md | 3 ++- internal/flags/flags.go | 31 ++++++++++++++++++++++++++++--- internal/flags/flags_test.go | 30 +++++++++++++++++++++++++++--- 3 files changed, 57 insertions(+), 7 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index 7921e19..a69b00b 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -181,7 +181,8 @@ If you want to disable TLS verification for the Gotify instance, you can use eit To send notifications via shoutrrr, the following command-line options, or their corresponding environment variables, can be set: -- `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. +- `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. This option can also reference a file, in which case the contents of the file are used. + Go to [containrrr.dev/shoutrrr/v0.6/services/overview](https://containrrr.dev/shoutrrr/v0.6/services/overview) to learn more about the different service URLs you can use. You can define multiple services by space separating the diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 2af8678..531d5d2 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -1,6 +1,7 @@ package flags import ( + "bufio" "errors" "io/ioutil" "os" @@ -444,6 +445,7 @@ func GetSecretsFromFiles(rootCmd *cobra.Command) { "notification-slack-hook-url", "notification-msteams-hook", "notification-gotify-token", + "notification-url", } for _, secret := range secrets { getSecretFromFile(flags, secret) @@ -452,10 +454,33 @@ func GetSecretsFromFiles(rootCmd *cobra.Command) { // getSecretFromFile will check if the flag contains a reference to a file; if it does, replaces the value of the flag with the contents of the file. func getSecretFromFile(flags *pflag.FlagSet, secret string) { - value, err := flags.GetString(secret) - if err != nil { - log.Error(err) + flag := flags.Lookup(secret) + if sliceValue, ok := flag.Value.(pflag.SliceValue); ok { + oldValues := sliceValue.GetSlice() + values := make([]string, 0, len(oldValues)) + for _, value := range oldValues { + if value != "" && isFile(value) { + file, err := os.Open(value) + if err != nil { + log.Fatal(err) + } + scanner := bufio.NewScanner(file) + for scanner.Scan() { + line := scanner.Text() + if line == "" { + continue + } + values = append(values, line) + } + } else { + values = append(values, value) + } + } + sliceValue.Replace(values) + return } + + value := flag.Value.String() if value != "" && isFile(value) { file, err := ioutil.ReadFile(value) if err != nil { diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index 1a904dd..7d3c55e 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -50,6 +50,7 @@ func TestGetSecretsFromFilesWithString(t *testing.T) { err := os.Setenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD", value) require.NoError(t, err) + defer os.Unsetenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD") testGetSecretsFromFiles(t, "notification-email-server-password", value) } @@ -69,17 +70,40 @@ func TestGetSecretsFromFilesWithFile(t *testing.T) { err = os.Setenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD", file.Name()) require.NoError(t, err) + defer os.Unsetenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD") testGetSecretsFromFiles(t, "notification-email-server-password", value) } -func testGetSecretsFromFiles(t *testing.T, flagName string, expected string) { +func TestGetSliceSecretsFromFiles(t *testing.T) { + values := []string{"entry2", "", "entry3"} + + // Create the temporary file which will contain a secret. + file, err := ioutil.TempFile(os.TempDir(), "watchtower-") + require.NoError(t, err) + defer os.Remove(file.Name()) // Make sure to remove the temporary file later. + + // Write the secret to the temporary file. + for _, value := range values { + _, err = file.WriteString("\n" + value) + require.NoError(t, err) + } + file.Close() + + testGetSecretsFromFiles(t, "notification-url", `[entry1,entry2,entry3]`, + `--notification-url`, "entry1", + `--notification-url`, file.Name()) +} + +func testGetSecretsFromFiles(t *testing.T, flagName string, expected string, args ...string) { cmd := new(cobra.Command) SetDefaults() RegisterNotificationFlags(cmd) + require.NoError(t, cmd.ParseFlags(args)) GetSecretsFromFiles(cmd) - value, err := cmd.PersistentFlags().GetString(flagName) - require.NoError(t, err) + flag := cmd.PersistentFlags().Lookup(flagName) + require.NotNil(t, flag) + value := flag.Value.String() assert.Equal(t, expected, value) } From 1569445e6a82c13122fb95a6f524c2557b522225 Mon Sep 17 00:00:00 2001 From: EDIflyer Date: Thu, 4 Aug 2022 13:43:14 +0100 Subject: [PATCH 182/389] Expand docker.config section (#1316) Highlight the benefit of doing this if using 2FA on Docker Hub --- docs/usage-overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/usage-overview.md b/docs/usage-overview.md index 1462ba6..8c1e12f 100644 --- a/docs/usage-overview.md +++ b/docs/usage-overview.md @@ -27,12 +27,12 @@ docker run -d \ Also check out [this Stack Overflow answer](https://stackoverflow.com/a/30494145/7872793) for more options on how to pass environment variables. -Mounting the host's docker config file: +Alternatively if you 2FA authentication setup on Docker Hub then passing username and password will be insufficient. Instead you can run `docker login` to store your credentials in `$HOME/.docker/config.json` and then mount this config file to make it available to the Watchtower container: ```bash docker run -d \ --name watchtower \ - -v /home//.docker/config.json:/config.json \ + -v $HOME/.docker/config.json:/config.json \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower container_to_watch --debug ``` From 36d3569c4aebdbdda30d6f4250622bd0171eef54 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 4 Aug 2022 14:43:46 +0200 Subject: [PATCH 183/389] docs: add EDIflyer as a contributor for doc (#1339) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 1f2b253..c7f5407 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -822,6 +822,15 @@ "contributions": [ "code" ] + }, + { + "login": "EDIflyer", + "name": "EDIflyer", + "avatar_url": "https://avatars.githubusercontent.com/u/13610277?v=4", + "profile": "https://github.com/EDIflyer", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index f9dee1c..e34353f 100644 --- a/README.md +++ b/README.md @@ -155,6 +155,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Patrice

💻
James White

📖
Dirk Kok

💻 +
EDIflyer

📖 From a429c373ff0e9ba9aeab9b8581d5c369078ae4ab Mon Sep 17 00:00:00 2001 From: Mateusz Drab Date: Sun, 14 Aug 2022 09:08:45 +0100 Subject: [PATCH 184/389] feat: regex container name filtering (#1241) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Allow container name regex filtering * make regex names backwards compatible Co-authored-by: Mateusz Drab Co-authored-by: nils måsén --- pkg/filters/filters.go | 20 +++++++++++++++++--- pkg/filters/filters_test.go | 30 ++++++++++++++++++++++++++---- 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/pkg/filters/filters.go b/pkg/filters/filters.go index a283301..fa5ed2a 100644 --- a/pkg/filters/filters.go +++ b/pkg/filters/filters.go @@ -1,8 +1,10 @@ package filters import ( - t "github.com/containrrr/watchtower/pkg/types" + "regexp" "strings" + + t "github.com/containrrr/watchtower/pkg/types" ) // WatchtowerContainersFilter filters only watchtower containers @@ -19,9 +21,21 @@ func FilterByNames(names []string, baseFilter t.Filter) t.Filter { return func(c t.FilterableContainer) bool { for _, name := range names { - if (name == c.Name()) || (name == c.Name()[1:]) { + if name == c.Name() || name == c.Name()[1:] { return baseFilter(c) } + + if re, err := regexp.Compile(name); err == nil { + indices := re.FindStringIndex(c.Name()) + if indices == nil { + continue + } + start := indices[0] + end := indices[1] + if start <= 1 && end >= len(c.Name())-1 { + return baseFilter(c) + } + } } return false } @@ -95,7 +109,7 @@ func BuildFilter(names []string, enableLabel bool, scope string) (t.Filter, stri filter = FilterByNames(names, filter) if len(names) > 0 { - sb.WriteString("with name \"") + sb.WriteString("which name matches \"") for i, n := range names { sb.WriteString(n) if i < len(names)-1 { diff --git a/pkg/filters/filters_test.go b/pkg/filters/filters_test.go index c07b181..951e7ca 100644 --- a/pkg/filters/filters_test.go +++ b/pkg/filters/filters_test.go @@ -47,6 +47,28 @@ func TestFilterByNames(t *testing.T) { container.AssertExpectations(t) } +func TestFilterByNamesRegex(t *testing.T) { + names := []string{`ba(b|ll)oon`} + + filter := FilterByNames(names, NoFilter) + assert.NotNil(t, filter) + + container := new(mocks.FilterableContainer) + container.On("Name").Return("balloon") + assert.True(t, filter(container)) + container.AssertExpectations(t) + + container = new(mocks.FilterableContainer) + container.On("Name").Return("spoon") + assert.False(t, filter(container)) + container.AssertExpectations(t) + + container = new(mocks.FilterableContainer) + container.On("Name").Return("baboonious") + assert.False(t, filter(container)) + container.AssertExpectations(t) +} + func TestFilterByEnableLabel(t *testing.T) { filter := FilterByEnableLabel(NoFilter) assert.NotNil(t, filter) @@ -68,8 +90,7 @@ func TestFilterByEnableLabel(t *testing.T) { } func TestFilterByScope(t *testing.T) { - var scope string - scope = "testscope" + scope := "testscope" filter := FilterByScope(scope, NoFilter) assert.NotNil(t, filter) @@ -148,11 +169,12 @@ func TestFilterByImage(t *testing.T) { } func TestBuildFilter(t *testing.T) { - var names []string - names = append(names, "test") + names := []string{"test", "valid"} filter, desc := BuildFilter(names, false, "") assert.Contains(t, desc, "test") + assert.Contains(t, desc, "or") + assert.Contains(t, desc, "valid") container := new(mocks.FilterableContainer) container.On("Name").Return("Invalid") From 7900471f88fe418d7c54c15a9252fd16303faccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 14 Aug 2022 10:11:31 +0200 Subject: [PATCH 185/389] feat: add porcelain output (#1337) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add porcaline output * feat(du-cli): add create-stale action add create-stale action Signed-off-by: nils måsén * test(flags): add alias tests * fix stray format string ref * fix shell liniting problems * feat(du-cli): remove created images * add test for common template * fix interval/schedule logic * use porcelain arg as template version * fix editor save artifacts * use simpler v1 template Signed-off-by: nils måsén --- cmd/root.go | 19 ++----- internal/flags/flags.go | 72 +++++++++++++++++++++++++++ internal/flags/flags_test.go | 69 +++++++++++++++++++++++++ pkg/notifications/common_templates.go | 39 +++++++++++++++ pkg/notifications/email.go | 1 - pkg/notifications/notifier.go | 7 +-- pkg/notifications/shoutrrr.go | 58 +++++++++------------ pkg/notifications/shoutrrr_test.go | 21 +++++--- pkg/notifications/slack.go | 2 +- pkg/session/report.go | 30 ++++++++++- pkg/types/report.go | 1 + scripts/docker-util.sh | 61 +++++++++++++++++++++++ scripts/du-cli.sh | 27 ++++++++-- 13 files changed, 344 insertions(+), 63 deletions(-) create mode 100644 pkg/notifications/common_templates.go mode change 100644 => 100755 scripts/du-cli.sh diff --git a/cmd/root.go b/cmd/root.go index a350410..daa9437 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -39,7 +39,6 @@ var ( lifecycleHooks bool rollingRestart bool scope string - // Set on build using ldflags ) var rootCmd = NewRootCommand() @@ -75,6 +74,7 @@ func Execute() { // PreRun is a lifecycle hook that runs before the command is executed. func PreRun(cmd *cobra.Command, _ []string) { f := cmd.PersistentFlags() + flags.ProcessFlagAliases(f) if enabled, _ := f.GetBool("no-color"); enabled { log.SetFormatter(&log.TextFormatter{ @@ -94,18 +94,7 @@ func PreRun(cmd *cobra.Command, _ []string) { log.SetLevel(log.TraceLevel) } - pollingSet := f.Changed("interval") - schedule, _ := f.GetString("schedule") - cronLen := len(schedule) - - if pollingSet && cronLen > 0 { - log.Fatal("Only schedule or interval can be defined, not both.") - } else if cronLen > 0 { - scheduleSpec, _ = f.GetString("schedule") - } else { - interval, _ := f.GetInt("interval") - scheduleSpec = "@every " + strconv.Itoa(interval) + "s" - } + scheduleSpec, _ = f.GetString("schedule") flags.GetSecretsFromFiles(cmd) cleanup, noRestart, monitorOnly, timeout = flags.ReadFlags(cmd) @@ -119,7 +108,9 @@ func PreRun(cmd *cobra.Command, _ []string) { rollingRestart, _ = f.GetBool("rolling-restart") scope, _ = f.GetString("scope") - log.Debug(scope) + if scope != "" { + log.Debugf(`Using scope %q`, scope) + } // configure environment vars for client err := flags.EnvConfig(cmd) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 531d5d2..bae02a8 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -3,6 +3,7 @@ package flags import ( "bufio" "errors" + "fmt" "io/ioutil" "os" "strings" @@ -153,22 +154,32 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { "", viper.GetString("WATCHTOWER_HTTP_API_TOKEN"), "Sets an authentication token to HTTP API requests.") + flags.BoolP( "http-api-periodic-polls", "", viper.GetBool("WATCHTOWER_HTTP_API_PERIODIC_POLLS"), "Also run periodic updates (specified with --interval and --schedule) if HTTP API is enabled") + // https://no-color.org/ flags.BoolP( "no-color", "", viper.IsSet("NO_COLOR"), "Disable ANSI color escape codes in log output") + flags.StringP( "scope", "", viper.GetString("WATCHTOWER_SCOPE"), "Defines a monitoring scope for the Watchtower instance.") + + flags.StringP( + "porcelain", + "P", + viper.GetString("WATCHTOWER_PORCELAIN"), + `Write session results to stdout using a stable versioned format. Supported values: "v1"`) + } // RegisterNotificationFlags that are used by watchtower to send notifications @@ -343,6 +354,10 @@ Should only be used for testing.`) viper.GetString("WATCHTOWER_WARN_ON_HEAD_FAILURE"), "When to warn about HEAD pull requests failing. Possible values: always, auto or never") + flags.Bool( + "notification-log-stdout", + viper.GetBool("WATCHTOWER_NOTIFICATION_LOG_STDOUT"), + "Write notification logs to stdout instead of logging (to stderr)") } // SetDefaults provides default values for environment variables @@ -504,3 +519,60 @@ func isFile(s string) bool { _, err := os.Stat(s) return !errors.Is(err, os.ErrNotExist) } + +// ProcessFlagAliases updates the value of flags that are being set by helper flags +func ProcessFlagAliases(flags *pflag.FlagSet) { + + porcelain, err := flags.GetString(`porcelain`) + if err != nil { + log.Fatalf(`Failed to get flag: %v`, err) + } + if porcelain != "" { + if porcelain != "v1" { + log.Fatalf(`Unknown porcelain version %q. Supported values: "v1"`, porcelain) + } + if err = appendFlagValue(flags, `notification-url`, `logger://`); err != nil { + log.Errorf(`Failed to set flag: %v`, err) + } + setFlagIfDefault(flags, `notification-log-stdout`, `true`) + setFlagIfDefault(flags, `notification-report`, `true`) + tpl := fmt.Sprintf(`porcelain.%s.summary-no-log`, porcelain) + setFlagIfDefault(flags, `notification-template`, tpl) + } + + if flags.Changed(`interval`) && flags.Changed(`schedule`) { + log.Fatal(`Only schedule or interval can be defined, not both.`) + } + + // update schedule flag to match interval if it's set, or to the default if none of them are + if flags.Changed(`interval`) || !flags.Changed(`schedule`) { + interval, _ := flags.GetInt(`interval`) + flags.Set(`schedule`, fmt.Sprintf(`@every %ds`, interval)) + } +} + +func appendFlagValue(flags *pflag.FlagSet, name string, values ...string) error { + flag := flags.Lookup(name) + if flag == nil { + return fmt.Errorf(`invalid flag name %q`, name) + } + + if flagValues, ok := flag.Value.(pflag.SliceValue); ok { + for _, value := range values { + flagValues.Append(value) + } + } else { + return fmt.Errorf(`the value for flag %q is not a slice value`, name) + } + + return nil +} + +func setFlagIfDefault(flags *pflag.FlagSet, name string, value string) { + if flags.Changed(name) { + return + } + if err := flags.Set(name, value); err != nil { + log.Errorf(`Failed to set flag: %v`, err) + } +} diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index 7d3c55e..570ebf5 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -5,6 +5,7 @@ import ( "os" "testing" + "github.com/sirupsen/logrus" "github.com/spf13/cobra" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -127,3 +128,71 @@ func TestIsFile(t *testing.T) { assert.False(t, isFile("https://google.com"), "an URL should never be considered a file") assert.True(t, isFile(os.Args[0]), "the currently running binary path should always be considered a file") } + +func TestReadFlags(t *testing.T) { + logrus.StandardLogger().ExitFunc = func(_ int) { t.FailNow() } + +} + +func TestProcessFlagAliases(t *testing.T) { + logrus.StandardLogger().ExitFunc = func(_ int) { t.FailNow() } + cmd := new(cobra.Command) + SetDefaults() + RegisterDockerFlags(cmd) + RegisterSystemFlags(cmd) + RegisterNotificationFlags(cmd) + + require.NoError(t, cmd.ParseFlags([]string{ + `--porcelain`, `v1`, + `--interval`, `10`, + })) + flags := cmd.Flags() + ProcessFlagAliases(flags) + + urls, _ := flags.GetStringArray(`notification-url`) + assert.Contains(t, urls, `logger://`) + + logStdout, _ := flags.GetBool(`notification-log-stdout`) + assert.True(t, logStdout) + + report, _ := flags.GetBool(`notification-report`) + assert.True(t, report) + + template, _ := flags.GetString(`notification-template`) + assert.Equal(t, `porcelain.v1.summary-no-log`, template) + + sched, _ := flags.GetString(`schedule`) + assert.Equal(t, `@every 10s`, sched) +} + +func TestProcessFlagAliasesSchedAndInterval(t *testing.T) { + logrus.StandardLogger().ExitFunc = func(_ int) { panic(`FATAL`) } + cmd := new(cobra.Command) + SetDefaults() + RegisterDockerFlags(cmd) + RegisterSystemFlags(cmd) + RegisterNotificationFlags(cmd) + + require.NoError(t, cmd.ParseFlags([]string{`--schedule`, `@now`, `--interval`, `10`})) + flags := cmd.Flags() + + assert.PanicsWithValue(t, `FATAL`, func() { + ProcessFlagAliases(flags) + }) +} + +func TestProcessFlagAliasesInvalidPorcelaineVersion(t *testing.T) { + logrus.StandardLogger().ExitFunc = func(_ int) { panic(`FATAL`) } + cmd := new(cobra.Command) + SetDefaults() + RegisterDockerFlags(cmd) + RegisterSystemFlags(cmd) + RegisterNotificationFlags(cmd) + + require.NoError(t, cmd.ParseFlags([]string{`--porcelain`, `cowboy`})) + flags := cmd.Flags() + + assert.PanicsWithValue(t, `FATAL`, func() { + ProcessFlagAliases(flags) + }) +} diff --git a/pkg/notifications/common_templates.go b/pkg/notifications/common_templates.go new file mode 100644 index 0000000..64a53c0 --- /dev/null +++ b/pkg/notifications/common_templates.go @@ -0,0 +1,39 @@ +package notifications + +var commonTemplates = map[string]string{ + `default-legacy`: "{{range .}}{{.Message}}{{println}}{{end}}", + + `default`: ` +{{- if .Report -}} + {{- with .Report -}} + {{- if ( or .Updated .Failed ) -}} +{{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed + {{- range .Updated}} +- {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}} + {{- end -}} + {{- range .Fresh}} +- {{.Name}} ({{.ImageName}}): {{.State}} + {{- end -}} + {{- range .Skipped}} +- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- range .Failed}} +- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- end -}} + {{- end -}} +{{- else -}} + {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}} +{{- end -}}`, + + `porcelain.v1.summary-no-log`: ` +{{- if .Report -}} + {{- range .Report.All }} + {{- .Name}} ({{.ImageName}}): {{.State -}} + {{- with .Error}} Error: {{.}}{{end}}{{ println }} + {{- else -}} + no containers matched filter + {{- end -}} +{{- end -}}`, +} + diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index e162209..3ebb4c0 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -15,7 +15,6 @@ const ( ) type emailTypeNotifier struct { - url string From, To string Server, User, Password, SubjectTag string Port int diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index d4c8601..fba5dc0 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -21,20 +21,21 @@ func NewNotifier(c *cobra.Command) ty.Notifier { log.Fatalf("Notifications invalid log level: %s", err.Error()) } - acceptedLogLevels := slackrus.LevelThreshold(logLevel) + levels := slackrus.LevelThreshold(logLevel) // slackrus does not allow log level TRACE, even though it's an accepted log level for logrus - if len(acceptedLogLevels) == 0 { + if len(levels) == 0 { log.Fatalf("Unsupported notification log level provided: %s", level) } reportTemplate, _ := f.GetBool("notification-report") + stdout, _ := f.GetBool("notification-log-stdout") tplString, _ := f.GetString("notification-template") urls, _ := f.GetStringArray("notification-url") data := GetTemplateData(c) urls, delay := AppendLegacyUrls(urls, c, data.Title) - return newShoutrrrNotifier(tplString, acceptedLogLevels, !reportTemplate, data, delay, urls...) + return newShoutrrrNotifier(tplString, levels, !reportTemplate, data, delay, stdout, urls...) } // AppendLegacyUrls creates shoutrrr equivalent URLs from legacy notification flags diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index 3940d22..e816cf7 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -3,6 +3,7 @@ package notifications import ( "bytes" stdlog "log" + "os" "strings" "text/template" "time" @@ -11,35 +12,14 @@ import ( "github.com/containrrr/shoutrrr/pkg/types" t "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" + "golang.org/x/text/cases" + "golang.org/x/text/language" ) // LocalLog is a logrus logger that does not send entries as notifications var LocalLog = log.WithField("notify", "no") const ( - shoutrrrDefaultLegacyTemplate = "{{range .}}{{.Message}}{{println}}{{end}}" - shoutrrrDefaultTemplate = ` -{{- if .Report -}} - {{- with .Report -}} - {{- if ( or .Updated .Failed ) -}} -{{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed - {{- range .Updated}} -- {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}} - {{- end -}} - {{- range .Fresh}} -- {{.Name}} ({{.ImageName}}): {{.State}} - {{- end -}} - {{- range .Skipped}} -- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} - {{- end -}} - {{- range .Failed}} -- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} - {{- end -}} - {{- end -}} - {{- end -}} -{{- else -}} - {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}} -{{- end -}}` shoutrrrType = "shoutrrr" ) @@ -79,9 +59,9 @@ func (n *shoutrrrTypeNotifier) GetNames() []string { return names } -func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy bool, data StaticData, delay time.Duration, urls ...string) t.Notifier { +func newShoutrrrNotifier(tplString string, levels []log.Level, legacy bool, data StaticData, delay time.Duration, stdout bool, urls ...string) t.Notifier { - notifier := createNotifier(urls, acceptedLogLevels, tplString, legacy, data) + notifier := createNotifier(urls, levels, tplString, legacy, data, stdout) log.AddHook(notifier) // Do the sending in a separate goroutine so we don't block the main process. @@ -90,14 +70,19 @@ func newShoutrrrNotifier(tplString string, acceptedLogLevels []log.Level, legacy return notifier } -func createNotifier(urls []string, levels []log.Level, tplString string, legacy bool, data StaticData) *shoutrrrTypeNotifier { +func createNotifier(urls []string, levels []log.Level, tplString string, legacy bool, data StaticData, stdout bool) *shoutrrrTypeNotifier { tpl, err := getShoutrrrTemplate(tplString, legacy) if err != nil { log.Errorf("Could not use configured notification template: %s. Using default template", err) } - traceWriter := log.StandardLogger().WriterLevel(log.TraceLevel) - r, err := shoutrrr.NewSender(stdlog.New(traceWriter, "Shoutrrr: ", 0), urls...) + var logger types.StdLogger + if stdout { + logger = stdlog.New(os.Stdout, ``, 0) + } else { + logger = stdlog.New(log.StandardLogger().WriterLevel(log.TraceLevel), "Shoutrrr: ", 0) + } + r, err := shoutrrr.NewSender(logger, urls...) if err != nil { log.Fatalf("Failed to initialize Shoutrrr notifications: %s\n", err.Error()) } @@ -190,7 +175,7 @@ func (n *shoutrrrTypeNotifier) Close() { // Use fmt so it doesn't trigger another notification. LocalLog.Info("Waiting for the notification goroutine to finish") - _ = <-n.done + <-n.done } // Levels return what log levels trigger notifications @@ -217,10 +202,15 @@ func getShoutrrrTemplate(tplString string, legacy bool) (tpl *template.Template, funcs := template.FuncMap{ "ToUpper": strings.ToUpper, "ToLower": strings.ToLower, - "Title": strings.Title, + "Title": cases.Title(language.AmericanEnglish).String, } tplBase := template.New("").Funcs(funcs) + if builtin, found := commonTemplates[tplString]; found { + log.WithField(`template`, tplString).Debug(`Using common template`) + tplString = builtin + } + // If we succeed in getting a non-empty template configuration // try to parse the template string. if tplString != "" { @@ -228,16 +218,16 @@ func getShoutrrrTemplate(tplString string, legacy bool) (tpl *template.Template, } // If we had an error (either from parsing the template string - // or from getting the template configuration) or we a + // or from getting the template configuration) or a // template wasn't configured (the empty template string) // fallback to using the default template. if err != nil || tplString == "" { - defaultTemplate := shoutrrrDefaultTemplate + defaultKey := `default` if legacy { - defaultTemplate = shoutrrrDefaultLegacyTemplate + defaultKey = `default-legacy` } - tpl = template.Must(tplBase.Parse(defaultTemplate)) + tpl = template.Must(tplBase.Parse(commonTemplates[defaultKey])) } return diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index 46ab78d..0a10eb1 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -73,6 +73,16 @@ var _ = Describe("Shoutrrr", func() { }) }) + When("passing a common template name", func() { + It("should format using that template", func() { + expected := ` +updt1 (mock/updt1:latest): Updated +`[1:] + data := mockDataFromStates(s.UpdatedState) + Expect(getTemplatedResult(`porcelain.v1.summary-no-log`, false, data)).To(Equal(expected)) + }) + }) + When("using legacy templates", func() { When("no custom template is provided", func() { @@ -80,7 +90,7 @@ var _ = Describe("Shoutrrr", func() { cmd := new(cobra.Command) flags.RegisterNotificationFlags(cmd) - shoutrrr := createNotifier([]string{}, logrus.AllLevels, "", true, StaticData{}) + shoutrrr := createNotifier([]string{}, logrus.AllLevels, "", true, StaticData{}, false) entries := []*logrus.Entry{ { @@ -168,7 +178,6 @@ var _ = Describe("Shoutrrr", func() { }) When("using report templates", func() { - When("no custom template is provided", func() { It("should format the messages using the default template", func() { expected := `4 Scanned, 2 Updated, 1 Failed @@ -236,7 +245,7 @@ Turns out everything is on fire When("batching notifications", func() { When("no messages are queued", func() { It("should not send any notification", func() { - shoutrrr := newShoutrrrNotifier("", allButTrace, true, StaticData{}, time.Duration(0), "logger://") + shoutrrr := newShoutrrrNotifier("", allButTrace, true, StaticData{}, time.Duration(0), false, "logger://") shoutrrr.StartNotification() shoutrrr.SendNotification(nil) Consistently(logBuffer).ShouldNot(gbytes.Say(`Shoutrrr:`)) @@ -244,7 +253,7 @@ Turns out everything is on fire }) When("at least one message is queued", func() { It("should send a notification", func() { - shoutrrr := newShoutrrrNotifier("", allButTrace, true, StaticData{}, time.Duration(0), "logger://") + shoutrrr := newShoutrrrNotifier("", allButTrace, true, StaticData{}, time.Duration(0), false, "logger://") shoutrrr.StartNotification() logrus.Info("This log message is sponsored by ContainrrrVPN") shoutrrr.SendNotification(nil) @@ -258,7 +267,7 @@ Turns out everything is on fire shoutrrr := createNotifier([]string{"logger://"}, allButTrace, "", true, StaticData{ Host: "test.host", Title: "", - }) + }, false) _, found := shoutrrr.params.Title() Expect(found).ToNot(BeTrue()) }) @@ -290,7 +299,7 @@ type blockingRouter struct { } func (b blockingRouter) Send(_ string, _ *types.Params) []error { - _ = <-b.unlock + <-b.unlock b.sent <- true return nil } diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index f4fa158..34d21a3 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -43,7 +43,7 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert func (s *slackTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { trimmedURL := strings.TrimRight(s.HookURL, "/") - trimmedURL = strings.TrimLeft(trimmedURL, "https://") + trimmedURL = strings.TrimPrefix(trimmedURL, "https://") parts := strings.Split(trimmedURL, "/") if parts[0] == "discord.com" || parts[0] == "discordapp.com" { diff --git a/pkg/session/report.go b/pkg/session/report.go index 646a0c0..707eb91 100644 --- a/pkg/session/report.go +++ b/pkg/session/report.go @@ -1,8 +1,9 @@ package session import ( - "github.com/containrrr/watchtower/pkg/types" "sort" + + "github.com/containrrr/watchtower/pkg/types" ) type report struct { @@ -32,6 +33,33 @@ func (r *report) Stale() []types.ContainerReport { func (r *report) Fresh() []types.ContainerReport { return r.fresh } +func (r *report) All() []types.ContainerReport { + allLen := len(r.scanned) + len(r.updated) + len(r.failed) + len(r.skipped) + len(r.stale) + len(r.fresh) + all := make([]types.ContainerReport, 0, allLen) + + presentIds := map[types.ContainerID][]string{} + + appendUnique := func(reports []types.ContainerReport) { + for _, cr := range reports { + if _, found := presentIds[cr.ID()]; found { + continue + } + all = append(all, cr) + presentIds[cr.ID()] = nil + } + } + + appendUnique(r.updated) + appendUnique(r.failed) + appendUnique(r.skipped) + appendUnique(r.stale) + appendUnique(r.fresh) + appendUnique(r.scanned) + + sort.Sort(sortableContainers(all)) + + return all +} // NewReport creates a types.Report from the supplied Progress func NewReport(progress Progress) types.Report { diff --git a/pkg/types/report.go b/pkg/types/report.go index 8013b58..f454fc6 100644 --- a/pkg/types/report.go +++ b/pkg/types/report.go @@ -8,6 +8,7 @@ type Report interface { Skipped() []ContainerReport Stale() []ContainerReport Fresh() []ContainerReport + All() []ContainerReport } // ContainerReport represents a container that was included in watchtower session diff --git a/scripts/docker-util.sh b/scripts/docker-util.sh index 13a84ca..bd0dbda 100644 --- a/scripts/docker-util.sh +++ b/scripts/docker-util.sh @@ -122,4 +122,65 @@ function container-started() { return 1 fi docker container inspect "$Name" | jq -r .[].State.StartedAt +} + + +function container-exists() { + local Name=$1 + if [ -z "$Name" ]; then + echo "NAME missing" + return 1 + fi + + docker container inspect "$Name" 1> /dev/null 2> /dev/null +} + +function registry-exists() { + container-exists "$CONTAINER_PREFIX-registry" +} + +function create-container() { + local container_name=$1 + if [ -z "$container_name" ]; then + echo "NAME missing" + return 1 + fi + local image_name="${2:-$container_name}" + + echo -en "Creating \e[94m$container_name\e[0m container... " + local result + result=$(docker run -d --name "$container_name" "$(registry-host)/$image_name" 2>&1) + if [ "${#result}" -eq 64 ]; then + echo -e "\e[92m${result:0:12}\e[0m" + return 0 + else + echo -e "\e[91mFailed!\n\e[97m$result\e[0m" + return 1 + fi +} + +function remove-images() { + local image_name=$1 + if [ -z "$image_name" ]; then + echo "NAME missing" + return 1 + fi + + local images + mapfile -t images < <(docker images -q "$image_name" | uniq) + if [ -n "${images[*]}" ]; then + docker image rm "${images[@]}" + else + echo "No images matched \"$image_name\"" + fi +} + +function remove-repo-images() { + local image_name=$1 + if [ -z "$image_name" ]; then + echo "NAME missing" + return 1 + fi + + remove-images "$(registry-host)/images/$image_name" } \ No newline at end of file diff --git a/scripts/du-cli.sh b/scripts/du-cli.sh old mode 100644 new mode 100755 index 973dec5..611f720 --- a/scripts/du-cli.sh +++ b/scripts/du-cli.sh @@ -16,7 +16,7 @@ case $1 in registry-host ;; *) - echo "Unknown keyword \"$2\"" + echo "Unknown registry action \"$2\"" ;; esac ;; @@ -28,8 +28,11 @@ case $1 in latest) latest-image-rev "$3" ;; + rm) + remove-repo-images "$3" + ;; *) - echo "Unknown keyword \"$2\"" + echo "Unknown image action \"$2\"" ;; esac ;; @@ -47,8 +50,26 @@ case $1 in started) container-started "$3" ;; + create) + create-container "${@:3:2}" + ;; + create-stale) + if [ -z "$3" ]; then + echo "NAME missing" + exit 1 + fi + if ! registry-exists; then + echo "Registry container missing! Creating..." + start-registry || exit 1 + fi + image_name="images/$3" + container_name=$3 + $0 image rev "$image_name" || exit 1 + $0 container create "$container_name" "$image_name" || exit 1 + $0 image rev "$image_name" || exit 1 + ;; *) - echo "Unknown keyword \"$2\"" + echo "Unknown container action \"$2\"" ;; esac ;; From 27e936c16dc47d670b6243eefa5abbaafc452cce Mon Sep 17 00:00:00 2001 From: Jauder Ho Date: Tue, 23 Aug 2022 02:28:47 -0700 Subject: [PATCH 186/389] Create dependabot.yml to update versions for GitHub Actions, Go modules and Docker images (#1347) --- .github/dependabot.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..fe53bc9 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,21 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "github-actions" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + + - package-ecosystem: "gomod" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + + - package-ecosystem: "docker" # See documentation for possible values + directory: "/dockerfiles" # Location of package manifests + schedule: + interval: "weekly" From 3849b484682f1505e78501bad6b2abf3ad026f7e Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 11:29:05 +0200 Subject: [PATCH 187/389] docs: add jauderho as a contributor for code (#1350) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 +++++++++ README.md | 1 + 2 files changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index c7f5407..d43d9b4 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -831,6 +831,15 @@ "contributions": [ "doc" ] + }, + { + "login": "jauderho", + "name": "Jauder Ho", + "avatar_url": "https://avatars.githubusercontent.com/u/13562?v=4", + "profile": "https://github.com/jauderho", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index e34353f..fd22ae7 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
James White

📖
Dirk Kok

💻
EDIflyer

📖 +
Jauder Ho

💻 From e316f9eaae816bb951c15ae49e67193bba1f89e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 20:00:58 +0200 Subject: [PATCH 188/389] chore(deps): bump github.com/onsi/ginkgo from 1.14.2 to 1.16.5 (#1361) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 5182f5f..9239dc8 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v20.10.17+incompatible github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 - github.com/onsi/ginkgo v1.14.2 + github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.10.3 github.com/prometheus/client_golang v1.7.1 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 @@ -37,7 +37,7 @@ require ( github.com/prometheus/procfs v0.6.0 // indirect github.com/stretchr/objx v0.2.0 // indirect golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect - golang.org/x/text v0.3.4 // indirect + golang.org/x/text v0.3.4 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect google.golang.org/protobuf v1.27.1 // indirect gotest.tools/v3 v3.0.3 // indirect diff --git a/go.sum b/go.sum index 81228de..5b93ac6 100644 --- a/go.sum +++ b/go.sum @@ -58,6 +58,7 @@ github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -142,13 +143,15 @@ github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8d github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.6 h1:11TGpSHY7Esh/i/qnq02Jo5oVrI1Gue8Slbq0ujPZFQ= github.com/nxadm/tail v1.4.6/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M= github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA= @@ -226,6 +229,7 @@ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoH github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= @@ -293,6 +297,7 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -315,6 +320,7 @@ golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 54f19df4916ed6d15cdf5ed98573d00bf07b0542 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 20:01:32 +0200 Subject: [PATCH 189/389] chore(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 (#1359) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 9239dc8..e8b45ef 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/prometheus/client_golang v1.7.1 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.8.1 - github.com/spf13/cobra v1.4.0 + github.com/spf13/cobra v1.5.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.6.3 github.com/stretchr/testify v1.6.1 diff --git a/go.sum b/go.sum index 5b93ac6..00a42a2 100644 --- a/go.sum +++ b/go.sum @@ -28,6 +28,7 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -212,8 +213,9 @@ github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTd github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU= +github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= From e02227fed0a57d5f1d06522336511b4c83c21f4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 20:03:03 +0200 Subject: [PATCH 190/389] chore(deps): bump docker/login-action from 1 to 2 (#1355) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 919783b..adec1b8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,12 +72,12 @@ jobs: with: go-version: 1.15.x - name: Login to Docker Hub - uses: docker/login-action@v1 + uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to GHCR - uses: docker/login-action@v1 + uses: docker/login-action@v2 with: username: ${{ secrets.BOT_USERNAME }} password: ${{ secrets.BOT_GHCR_PAT }} From d8600163353d6528b7e14f45940253b6a6a5bb59 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 20:03:13 +0200 Subject: [PATCH 191/389] chore(deps): bump actions/setup-python from 3 to 4 (#1356) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 1c4fd2c..2ab48c9 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -18,7 +18,7 @@ jobs: with: fetch-depth: 0 - name: Install mkdocs - uses: actions/setup-python@v3 + uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' From 6b2ef10ab23ad565cb265cc687c2eaa5fb292e50 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 20:07:02 +0200 Subject: [PATCH 192/389] chore(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 (#1358) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 5 ++--- go.sum | 12 ++++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index e8b45ef..fe498ec 100644 --- a/go.mod +++ b/go.mod @@ -13,11 +13,11 @@ require ( github.com/onsi/gomega v1.10.3 github.com/prometheus/client_golang v1.7.1 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 - github.com/sirupsen/logrus v1.8.1 + github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.5.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.6.3 - github.com/stretchr/testify v1.6.1 + github.com/stretchr/testify v1.7.0 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 ) @@ -36,7 +36,6 @@ require ( github.com/pelletier/go-toml v1.8.1 // indirect github.com/prometheus/procfs v0.6.0 // indirect github.com/stretchr/objx v0.2.0 // indirect - golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e // indirect golang.org/x/text v0.3.4 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect google.golang.org/protobuf v1.27.1 // indirect diff --git a/go.sum b/go.sum index 00a42a2..0703f97 100644 --- a/go.sum +++ b/go.sum @@ -199,8 +199,8 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= @@ -232,8 +232,8 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -303,8 +303,8 @@ golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e h1:XMgFehsDnnLGtjvjOfqWSUzt0alpTR1RSEuznObga2c= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= From 063e7247b9adc7cb0fc7e4f42979063e856ea9a0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Aug 2022 09:03:06 +0200 Subject: [PATCH 193/389] chore(deps): bump github.com/onsi/gomega from 1.10.3 to 1.20.0 (#1360) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: nils måsén --- go.mod | 7 ++--- go.sum | 55 ++++++++++++++++++++++++++++-------- pkg/container/client_test.go | 8 +++--- 3 files changed, 50 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index fe498ec..566c011 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.10.3 + github.com/onsi/gomega v1.20.0 github.com/prometheus/client_golang v1.7.1 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 @@ -18,7 +18,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.6.3 github.com/stretchr/testify v1.7.0 - golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 + golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 ) require ( @@ -36,8 +36,7 @@ require ( github.com/pelletier/go-toml v1.8.1 // indirect github.com/prometheus/procfs v0.6.0 // indirect github.com/stretchr/objx v0.2.0 // indirect - golang.org/x/text v0.3.4 + golang.org/x/text v0.3.7 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect - google.golang.org/protobuf v1.27.1 // indirect gotest.tools/v3 v3.0.3 // indirect ) diff --git a/go.sum b/go.sum index 0703f97..39f1b5a 100644 --- a/go.sum +++ b/go.sum @@ -19,6 +19,9 @@ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/containrrr/shoutrrr v0.6.1 h1:6ih7jA6mo3t6C97MZbd3SxL/kRizOE3bI9CpBQZ6wzg= github.com/containrrr/shoutrrr v0.6.1/go.mod h1:ye9jGX5YzMnJ76waaNVWlJ4luhMEyt1EWU5unYTQSb0= @@ -76,17 +79,20 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= @@ -96,6 +102,7 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jarcoal/httpmock v1.0.4 h1:jp+dy/+nonJE4g4xbVtl9QdrUNbn6/3hDT5R4nDIZnA= @@ -151,12 +158,18 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA= -github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -241,6 +254,7 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -249,10 +263,12 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -266,10 +282,13 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -279,6 +298,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -291,6 +311,7 @@ golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -302,15 +323,23 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e h1:EHBhcS0mlXEAVwNyO2dLfjToGsyY4j24pTs2ScHnX7s= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -324,10 +353,10 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -341,8 +370,9 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -364,8 +394,9 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 2487bb3..02b31eb 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -14,7 +14,7 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - . "github.com/onsi/gomega/types" + gt "github.com/onsi/gomega/types" "context" "net/http" @@ -223,7 +223,7 @@ var _ = Describe("the client", func() { // Gomega matcher helpers -func withContainerImageName(matcher GomegaMatcher) GomegaMatcher { +func withContainerImageName(matcher gt.GomegaMatcher) gt.GomegaMatcher { return WithTransform(containerImageName, matcher) } @@ -231,13 +231,13 @@ func containerImageName(container Container) string { return container.ImageName() } -func havingRestartingState(expected bool) GomegaMatcher { +func havingRestartingState(expected bool) gt.GomegaMatcher { return WithTransform(func(container Container) bool { return container.containerInfo.State.Restarting }, Equal(expected)) } -func havingRunningState(expected bool) GomegaMatcher { +func havingRunningState(expected bool) gt.GomegaMatcher { return WithTransform(func(container Container) bool { return container.containerInfo.State.Running }, Equal(expected)) From cf307db4736a7a52239d83eddd7a856251e63b49 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Aug 2022 09:08:13 +0200 Subject: [PATCH 194/389] chore(deps): bump alpine from 3.15 to 3.16.2 in /dockerfiles (#1352) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dockerfiles/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index c3ed14b..2d5a181 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM alpine:3.15 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.16.2 as alpine RUN apk add --no-cache \ ca-certificates \ From 7f808d8b1c3fd3f8267be4fd7e2bf1e9bdf426fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Aug 2022 09:08:26 +0200 Subject: [PATCH 195/389] chore(deps): bump goreleaser/goreleaser-action from 2 to 3 (#1351) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 80eb3e3..8bd15a6 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -66,7 +66,7 @@ jobs: with: go-version: 1.15.x - name: Build - uses: goreleaser/goreleaser-action@v2 + uses: goreleaser/goreleaser-action@v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index adec1b8..24b9232 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -83,7 +83,7 @@ jobs: password: ${{ secrets.BOT_GHCR_PAT }} registry: ghcr.io - name: Build - uses: goreleaser/goreleaser-action@v2 + uses: goreleaser/goreleaser-action@v3 with: version: v0.155.0 args: --debug From 146576818c5480ab76758455fc501e10fe5e3089 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Aug 2022 09:08:38 +0200 Subject: [PATCH 196/389] chore(deps): bump github.com/stretchr/testify from 1.6.1 to 1.8.0 (#1357) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 3 +-- go.sum | 8 +++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 566c011..a04d9a3 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/cobra v1.5.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.6.3 - github.com/stretchr/testify v1.7.0 + github.com/stretchr/testify v1.8.0 golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 ) @@ -35,7 +35,6 @@ require ( github.com/opencontainers/image-spec v1.0.2 // indirect github.com/pelletier/go-toml v1.8.1 // indirect github.com/prometheus/procfs v0.6.0 // indirect - github.com/stretchr/objx v0.2.0 // indirect golang.org/x/text v0.3.7 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect gotest.tools/v3 v3.0.3 // indirect diff --git a/go.sum b/go.sum index 39f1b5a..1178dbe 100644 --- a/go.sum +++ b/go.sum @@ -239,14 +239,16 @@ github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= From 77b8f826786fb3090f3b1febc4949d63c5462d71 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:46:57 +0200 Subject: [PATCH 197/389] chore(deps): bump github.com/onsi/gomega from 1.20.0 to 1.20.1 (#1364) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a04d9a3..18db7eb 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.20.0 + github.com/onsi/gomega v1.20.1 github.com/prometheus/client_golang v1.7.1 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 diff --git a/go.sum b/go.sum index 1178dbe..d287c51 100644 --- a/go.sum +++ b/go.sum @@ -168,8 +168,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= -github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= -github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/onsi/gomega v1.20.1 h1:PA/3qinGoukvymdIDV8pii6tiZgC8kbmJO6Z5+b002Q= +github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From 1745704163bc7c39a4107f577189a9ec9fb1baed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:48:07 +0200 Subject: [PATCH 198/389] chore(deps): bump codecov/codecov-action from 1 to 3 (#1369) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release-dev.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 8bd15a6..c3d6a1f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -50,7 +50,7 @@ jobs: run: | go test -v -coverprofile coverage.out -covermode atomic ./... - name: Publish coverage - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} build: diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 4b8f238..b239ba5 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -28,7 +28,7 @@ jobs: - name: Test run: go test -v -coverprofile coverage.out -covermode atomic ./... - name: Publish coverage - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} publish: From ccc7878179c6926b27780fec38b2c82f7e7e45c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Aug 2022 15:24:29 +0200 Subject: [PATCH 199/389] chore(deps): bump github.com/docker/distribution from 2.8.0+incompatible to 2.8.1+incompatible (#1366) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 18db7eb..8d18627 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.12 require ( github.com/containrrr/shoutrrr v0.6.1 github.com/docker/cli v20.10.17+incompatible - github.com/docker/distribution v2.8.0+incompatible + github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.17+incompatible github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 diff --git a/go.sum b/go.sum index d287c51..694804b 100644 --- a/go.sum +++ b/go.sum @@ -41,8 +41,8 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.8.0+incompatible h1:l9EaZDICImO1ngI+uTifW+ZYvvz7fKISBAKpg+MbWbY= -github.com/docker/distribution v2.8.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= From a15c0e344003b1f3f036a40d9569798e8fac0f14 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:18:35 +0200 Subject: [PATCH 200/389] chore(deps): bump github.com/spf13/viper from 1.6.3 to 1.12.0 (#1367) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.6.3 to 1.12.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.6.3...v1.12.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 10 +- go.sum | 684 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 664 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index 8d18627..786a183 100644 --- a/go.mod +++ b/go.mod @@ -11,30 +11,26 @@ require ( github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.20.1 - github.com/prometheus/client_golang v1.7.1 + github.com/prometheus/client_golang v1.11.1 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.5.0 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.6.3 + github.com/spf13/viper v1.12.0 github.com/stretchr/testify v1.8.0 - golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 + golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 ) require ( github.com/Microsoft/go-winio v0.4.17 // indirect github.com/docker/docker-credential-helpers v0.6.1 // indirect github.com/docker/go-units v0.4.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect - github.com/kr/pretty v0.2.1 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect - github.com/pelletier/go-toml v1.8.1 // indirect - github.com/prometheus/procfs v0.6.0 // indirect golang.org/x/text v0.3.7 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect gotest.tools/v3 v3.0.3 // indirect diff --git a/go.sum b/go.sum index 694804b..3173289 100644 --- a/go.sum +++ b/go.sum @@ -1,8 +1,64 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w= github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -10,11 +66,20 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= @@ -22,16 +87,30 @@ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/containrrr/shoutrrr v0.6.1 h1:6ih7jA6mo3t6C97MZbd3SxL/kRizOE3bI9CpBQZ6wzg= github.com/containrrr/shoutrrr v0.6.1/go.mod h1:ye9jGX5YzMnJ76waaNVWlJ4luhMEyt1EWU5unYTQSb0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -51,57 +130,164 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= @@ -112,44 +298,74 @@ github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22/go.mod h1:u0Jo4 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 h1:+kBG/8rjCa6vxJZbUjAiE4MQmBEBYc8nLEb51frnvBY= github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07/go.mod h1:j1kV/8f3jowErEq4XyeypkCdvg5EeHkf0YCKCcq5Ybo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= +github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.2.2 h1:dxe5oCinTXiTIcfgmZecdCzPmAJKd46KsCWc35r0TV4= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.6/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= @@ -174,33 +390,46 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= -github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= +github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU= +github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1 h1:NTGy1Ja9pByO+xAeH/qiWnLrKtr3hJPNjaVUwnjpdpA= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s= +github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0 h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lNawc= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= @@ -208,24 +437,32 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= +github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU= github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= @@ -235,8 +472,9 @@ github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0 github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.6.3 h1:pDDu1OyEDTKzpJwdq4TiuLyMsUgRa/BT5cn5O62NoHs= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= +github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ= +github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= @@ -245,31 +483,89 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI= +github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= +go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= +go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -277,102 +573,429 @@ golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 h1:NWy5+hlRbC7HK+PmcXVUmW1IMyFce7to56IUvhUFm7Y= +golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e h1:EHBhcS0mlXEAVwNyO2dLfjToGsyY4j24pTs2ScHnX7s= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.81.0/go.mod h1:FA6Mb/bZxj706H2j+j2d6mHEEaHBmbbWnkfvmorOCko= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -380,16 +1003,19 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.55.0 h1:E8yzL5unfpW3M6fz/eB7Cb5MQAYSZ7GKo4Qth+N2sgQ= gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -397,9 +1023,21 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= From ab7f8233bb3a4ada2fd405d361dbbdc349a3e358 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:19:44 +0200 Subject: [PATCH 201/389] chore(deps): bump actions/checkout from 2 to 3 (#1368) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/publish-docs.yml | 2 +- .github/workflows/pull-request.yml | 6 +++--- .github/workflows/release-dev.yaml | 6 +++--- .github/workflows/release.yml | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 2437bb2..eca1e4f 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -31,7 +31,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 2ab48c9..2ec5423 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install mkdocs diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index c3d6a1f..f31d0a1 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go @@ -39,7 +39,7 @@ jobs: runs-on: ${{ matrix.platform }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go @@ -58,7 +58,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index b239ba5..5ee9a55 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -10,7 +10,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v2 with: @@ -20,7 +20,7 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v2 with: @@ -37,7 +37,7 @@ jobs: - test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Publish to Docker Hub uses: jerray/publish-docker-action@master with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 24b9232..1befa26 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go @@ -42,7 +42,7 @@ jobs: runs-on: ${{ matrix.platform }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go @@ -64,7 +64,7 @@ jobs: TAG: ${{ github.event.release.tag_name }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go From 964879d22865d83889395120addc5640083cf3e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 4 Sep 2022 12:52:25 +0200 Subject: [PATCH 202/389] chore(deps): bump actions/setup-go from 2 to 3 (#1354) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 6 +++--- .github/workflows/release-dev.yaml | 4 ++-- .github/workflows/release.yml | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index f31d0a1..b9cc6c4 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -16,7 +16,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: 1.15.x - name: Install linter @@ -43,7 +43,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: 1.15.x - name: Run tests @@ -62,7 +62,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: 1.15.x - name: Build diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 5ee9a55..c23d343 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: 1.15 - name: Build @@ -22,7 +22,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: 1.15 - name: Test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1befa26..1912114 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: 1.15.x - name: Install linter @@ -46,7 +46,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: 1.15.x - name: Run tests @@ -68,7 +68,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v3 with: go-version: 1.15.x - name: Login to Docker Hub From e04a107694b4cf93bc80bce5f278ce6a28d6963c Mon Sep 17 00:00:00 2001 From: Jauder Ho Date: Sun, 4 Sep 2022 04:56:29 -0700 Subject: [PATCH 203/389] chore(deps): update go version to 1.18 (#1363) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- .github/workflows/pull-request.yml | 17 +- .github/workflows/release-dev.yaml | 4 +- .github/workflows/release.yml | 8 +- go.mod | 36 +++- go.sum | 303 ----------------------------- internal/actions/mocks/progress.go | 4 +- pkg/container/client.go | 4 +- pkg/container/errors.go | 1 - pkg/registry/auth/auth.go | 15 +- pkg/registry/trust.go | 2 +- 10 files changed, 60 insertions(+), 334 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index b9cc6c4..56b59c4 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -18,20 +18,17 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.15.x - - name: Install linter - run: | - go get -u golang.org/x/lint/golint - - name: Lint files - run: | - golint -set_exit_status ./... + go-version: 1.18.x + - uses: dominikh/staticcheck-action@v1.2.0 + with: + version: "2022.1.1" test: name: Test strategy: fail-fast: false matrix: go-version: - - 1.15.x + - 1.18.x platform: - macos-latest - windows-latest @@ -45,7 +42,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.15.x + go-version: 1.18.x - name: Run tests run: | go test -v -coverprofile coverage.out -covermode atomic ./... @@ -64,7 +61,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.15.x + go-version: 1.18.x - name: Build uses: goreleaser/goreleaser-action@v3 with: diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index c23d343..0aa6828 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -14,7 +14,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.15 + go-version: 1.18 - name: Build run: ./build.sh test: @@ -24,7 +24,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.15 + go-version: 1.18 - name: Test run: go test -v -coverprofile coverage.out -covermode atomic ./... - name: Publish coverage diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1912114..2a00499 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.15.x + go-version: 1.18.x - name: Install linter run: | go get -u golang.org/x/lint/golint @@ -34,7 +34,7 @@ jobs: strategy: matrix: go-version: - - 1.15.x + - 1.18.x platform: - ubuntu-latest - macos-latest @@ -48,7 +48,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.15.x + go-version: 1.18.x - name: Run tests run: | go test ./... -coverprofile coverage.out @@ -70,7 +70,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.15.x + go-version: 1.18.x - name: Login to Docker Hub uses: docker/login-action@v2 with: diff --git a/go.mod b/go.mod index 786a183..bbf7254 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/containrrr/watchtower -go 1.12 +go 1.18 require ( github.com/containrrr/shoutrrr v0.6.1 @@ -22,6 +22,40 @@ require ( ) require ( + github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/fatih/color v1.13.0 // indirect + github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/google/go-cmp v0.5.8 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/magiconair/properties v1.8.6 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/nxadm/tail v1.4.8 // indirect + github.com/pelletier/go-toml v1.9.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.1 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.26.0 // indirect + github.com/prometheus/procfs v0.6.0 // indirect + github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/stretchr/objx v0.4.0 // indirect + github.com/subosito/gotenv v1.3.0 // indirect + golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + google.golang.org/protobuf v1.28.0 // indirect + gopkg.in/ini.v1 v1.66.4 // indirect + gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect github.com/Microsoft/go-winio v0.4.17 // indirect github.com/docker/docker-credential-helpers v0.6.1 // indirect github.com/docker/go-units v0.4.0 // indirect diff --git a/go.sum b/go.sum index 3173289..327f285 100644 --- a/go.sum +++ b/go.sum @@ -17,32 +17,14 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -58,7 +40,6 @@ github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOEl github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w= github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -67,50 +48,31 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/containrrr/shoutrrr v0.6.1 h1:6ih7jA6mo3t6C97MZbd3SxL/kRizOE3bI9CpBQZ6wzg= github.com/containrrr/shoutrrr v0.6.1/go.mod h1:ye9jGX5YzMnJ76waaNVWlJ4luhMEyt1EWU5unYTQSb0= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -130,24 +92,16 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= @@ -164,7 +118,6 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -174,7 +127,6 @@ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -182,8 +134,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -199,10 +149,8 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -213,18 +161,14 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -235,57 +179,20 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -303,7 +210,6 @@ github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCV github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= @@ -317,42 +223,25 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxv github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= @@ -361,7 +250,6 @@ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -374,24 +262,17 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= -github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.20.1 h1:PA/3qinGoukvymdIDV8pii6tiZgC8kbmJO6Z5+b002Q= github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= @@ -405,12 +286,9 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= @@ -422,14 +300,12 @@ github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6T github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= @@ -437,14 +313,9 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= @@ -483,7 +354,6 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= @@ -492,45 +362,30 @@ github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69 github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI= github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= -go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= -go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -554,7 +409,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -565,8 +419,6 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -584,7 +436,6 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -602,23 +453,9 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 h1:NWy5+hlRbC7HK+PmcXVUmW1IMyFce7to56IUvhUFm7Y= golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -630,17 +467,6 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -651,16 +477,12 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -670,11 +492,8 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -683,7 +502,6 @@ golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -707,53 +525,23 @@ golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -777,7 +565,6 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -815,18 +602,10 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -846,26 +625,6 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.81.0/go.mod h1:FA6Mb/bZxj706H2j+j2d6mHEEaHBmbbWnkfvmorOCko= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -896,7 +655,6 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= @@ -909,48 +667,7 @@ google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -965,24 +682,9 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -995,7 +697,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1015,7 +716,6 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1023,8 +723,6 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= @@ -1040,4 +738,3 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/internal/actions/mocks/progress.go b/internal/actions/mocks/progress.go index 6883b48..23fc441 100644 --- a/internal/actions/mocks/progress.go +++ b/internal/actions/mocks/progress.go @@ -2,6 +2,7 @@ package mocks import ( "errors" + "github.com/containrrr/watchtower/pkg/session" wt "github.com/containrrr/watchtower/pkg/types" ) @@ -21,16 +22,13 @@ func CreateMockProgressReport(states ...session.State) wt.Report { case session.SkippedState: c, _ := CreateContainerForProgress(index, 41, "skip%d") progress.AddSkipped(c, errors.New("unpossible")) - break case session.FreshState: c, _ := CreateContainerForProgress(index, 31, "frsh%d") progress.AddScanned(c, c.ImageID()) - break case session.UpdatedState: c, newImage := CreateContainerForProgress(index, 11, "updt%d") progress.AddScanned(c, newImage) progress.MarkForUpdate(c.ID()) - break case session.FailedState: c, newImage := CreateContainerForProgress(index, 21, "fail%d") progress.AddScanned(c, newImage) diff --git a/pkg/container/client.go b/pkg/container/client.go index df4b8da..f534bd0 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -454,7 +454,7 @@ func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, e if err != nil { return false, err } - if execInspect.Running == true { + if execInspect.Running { time.Sleep(1 * time.Second) continue } @@ -467,7 +467,7 @@ func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, e } if execInspect.ExitCode > 0 { - return false, fmt.Errorf("Command exited with code %v %s", execInspect.ExitCode, execOutput) + return false, fmt.Errorf("command exited with code %v %s", execInspect.ExitCode, execOutput) } break } diff --git a/pkg/container/errors.go b/pkg/container/errors.go index 1937430..0b72067 100644 --- a/pkg/container/errors.go +++ b/pkg/container/errors.go @@ -4,5 +4,4 @@ import "errors" var errorNoImageInfo = errors.New("no available image info") var errorNoContainerInfo = errors.New("no available container info") -var errorNoExposedPorts = errors.New("exposed ports does not match port bindings") var errorInvalidConfig = errors.New("container configuration missing or invalid") diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index 99e307c..23aef60 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -4,14 +4,15 @@ import ( "encoding/json" "errors" "fmt" - "github.com/containrrr/watchtower/pkg/registry/helpers" - "github.com/containrrr/watchtower/pkg/types" - "github.com/docker/distribution/reference" - "github.com/sirupsen/logrus" "io/ioutil" "net/http" "net/url" "strings" + + "github.com/containrrr/watchtower/pkg/registry/helpers" + "github.com/containrrr/watchtower/pkg/types" + "github.com/docker/distribution/reference" + "github.com/sirupsen/logrus" ) // ChallengeHeader is the HTTP Header containing challenge instructions @@ -54,7 +55,7 @@ func GetToken(container types.Container, registryAuth string) (string, error) { return fmt.Sprintf("Basic %s", registryAuth), nil } if strings.HasPrefix(challenge, "bearer") { - return GetBearerHeader(challenge, container.ImageName(), err, registryAuth) + return GetBearerHeader(challenge, container.ImageName(), registryAuth) } return "", errors.New("unsupported challenge type from registry") @@ -72,7 +73,7 @@ func GetChallengeRequest(URL url.URL) (*http.Request, error) { } // GetBearerHeader tries to fetch a bearer token from the registry based on the challenge instructions -func GetBearerHeader(challenge string, img string, err error, registryAuth string) (string, error) { +func GetBearerHeader(challenge string, img string, registryAuth string) (string, error) { client := http.Client{} if strings.Contains(img, ":") { img = strings.Split(img, ":")[0] @@ -136,7 +137,7 @@ func GetAuthURL(challenge string, img string) (*url.URL, error) { return nil, fmt.Errorf("challenge header did not include all values needed to construct an auth url") } - authURL, _ := url.Parse(fmt.Sprintf("%s", values["realm"])) + authURL, _ := url.Parse(values["realm"]) q := authURL.Query() q.Add("service", values["service"]) diff --git a/pkg/registry/trust.go b/pkg/registry/trust.go index ab9e353..fa17bbc 100644 --- a/pkg/registry/trust.go +++ b/pkg/registry/trust.go @@ -41,7 +41,7 @@ func EncodedEnvAuth(ref string) (string, error) { log.Tracef("Using auth password %s", auth.Password) return EncodeAuth(auth) } - return "", errors.New("Registry auth environment variables (REPO_USER, REPO_PASS) not set") + return "", errors.New("registry auth environment variables (REPO_USER, REPO_PASS) not set") } // EncodedConfigAuth returns an encoded auth config for the given registry From f047d75dccb401f7224ac439b2676a4dc2ce1246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 4 Sep 2022 20:05:13 +0200 Subject: [PATCH 204/389] fix(flags): detect schedule set from env (#1373) --- internal/flags/flags.go | 28 ++++++++++++++++++++-------- internal/flags/flags_test.go | 26 +++++++++++++++++++++++--- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index bae02a8..5abd69c 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -19,6 +19,8 @@ import ( // use watchtower const DockerAPIMinVersion string = "1.25" +var defaultInterval = int((time.Hour * 24).Seconds()) + // RegisterDockerFlags that are used directly by the docker api client func RegisterDockerFlags(rootCmd *cobra.Command) { flags := rootCmd.PersistentFlags() @@ -179,7 +181,7 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { "P", viper.GetString("WATCHTOWER_PORCELAIN"), `Write session results to stdout using a stable versioned format. Supported values: "v1"`) - + } // RegisterNotificationFlags that are used by watchtower to send notifications @@ -362,11 +364,10 @@ Should only be used for testing.`) // SetDefaults provides default values for environment variables func SetDefaults() { - day := (time.Hour * 24).Seconds() viper.AutomaticEnv() viper.SetDefault("DOCKER_HOST", "unix:///var/run/docker.sock") viper.SetDefault("DOCKER_API_VERSION", DockerAPIMinVersion) - viper.SetDefault("WATCHTOWER_POLL_INTERVAL", day) + viper.SetDefault("WATCHTOWER_POLL_INTERVAL", defaultInterval) viper.SetDefault("WATCHTOWER_TIMEOUT", time.Second*10) viper.SetDefault("WATCHTOWER_NOTIFICATIONS", []string{}) viper.SetDefault("WATCHTOWER_NOTIFICATIONS_LEVEL", "info") @@ -528,9 +529,9 @@ func ProcessFlagAliases(flags *pflag.FlagSet) { log.Fatalf(`Failed to get flag: %v`, err) } if porcelain != "" { - if porcelain != "v1" { - log.Fatalf(`Unknown porcelain version %q. Supported values: "v1"`, porcelain) - } + if porcelain != "v1" { + log.Fatalf(`Unknown porcelain version %q. Supported values: "v1"`, porcelain) + } if err = appendFlagValue(flags, `notification-url`, `logger://`); err != nil { log.Errorf(`Failed to set flag: %v`, err) } @@ -540,12 +541,23 @@ func ProcessFlagAliases(flags *pflag.FlagSet) { setFlagIfDefault(flags, `notification-template`, tpl) } - if flags.Changed(`interval`) && flags.Changed(`schedule`) { + scheduleChanged := flags.Changed(`schedule`) + intervalChanged := flags.Changed(`interval`) + // FIXME: snakeswap + // due to how viper is integrated by swapping the defaults for the flags, we need this hack: + if val, _ := flags.GetString(`schedule`); val != `` { + scheduleChanged = true + } + if val, _ := flags.GetInt(`interval`); val != defaultInterval { + intervalChanged = true + } + + if intervalChanged && scheduleChanged { log.Fatal(`Only schedule or interval can be defined, not both.`) } // update schedule flag to match interval if it's set, or to the default if none of them are - if flags.Changed(`interval`) || !flags.Changed(`schedule`) { + if intervalChanged || !scheduleChanged { interval, _ := flags.GetInt(`interval`) flags.Set(`schedule`, fmt.Sprintf(`@every %ds`, interval)) } diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index 570ebf5..c7f0b80 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -143,8 +143,8 @@ func TestProcessFlagAliases(t *testing.T) { RegisterNotificationFlags(cmd) require.NoError(t, cmd.ParseFlags([]string{ - `--porcelain`, `v1`, - `--interval`, `10`, + `--porcelain`, `v1`, + `--interval`, `10`, })) flags := cmd.Flags() ProcessFlagAliases(flags) @@ -173,7 +173,7 @@ func TestProcessFlagAliasesSchedAndInterval(t *testing.T) { RegisterSystemFlags(cmd) RegisterNotificationFlags(cmd) - require.NoError(t, cmd.ParseFlags([]string{`--schedule`, `@now`, `--interval`, `10`})) + require.NoError(t, cmd.ParseFlags([]string{`--schedule`, `@hourly`, `--interval`, `10`})) flags := cmd.Flags() assert.PanicsWithValue(t, `FATAL`, func() { @@ -181,6 +181,26 @@ func TestProcessFlagAliasesSchedAndInterval(t *testing.T) { }) } +func TestProcessFlagAliasesScheduleFromEnvironment(t *testing.T) { + cmd := new(cobra.Command) + + err := os.Setenv("WATCHTOWER_SCHEDULE", `@hourly`) + require.NoError(t, err) + defer os.Unsetenv("WATCHTOWER_SCHEDULE") + + SetDefaults() + RegisterDockerFlags(cmd) + RegisterSystemFlags(cmd) + RegisterNotificationFlags(cmd) + + require.NoError(t, cmd.ParseFlags([]string{})) + flags := cmd.Flags() + ProcessFlagAliases(flags) + + sched, _ := flags.GetString(`schedule`) + assert.Equal(t, `@hourly`, sched) +} + func TestProcessFlagAliasesInvalidPorcelaineVersion(t *testing.T) { logrus.StandardLogger().ExitFunc = func(_ int) { panic(`FATAL`) } cmd := new(cobra.Command) From 6c215cc4f84be140c2f835e80a3a22f2acf5637b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 4 Sep 2022 20:07:01 +0200 Subject: [PATCH 205/389] chore(deps): bump github.com/prometheus/client_golang from 1.7.1 to 1.13.0 (#1365) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 32 ++++++++++++++++---------------- go.sum | 35 ++++++++++++++++++++++++++++------- 2 files changed, 44 insertions(+), 23 deletions(-) diff --git a/go.mod b/go.mod index bbf7254..2882600 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.20.1 - github.com/prometheus/client_golang v1.11.1 + github.com/prometheus/client_golang v1.13.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.5.0 @@ -23,9 +23,12 @@ require ( require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect + github.com/Microsoft/go-winio v0.4.17 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/docker/docker-credential-helpers v0.6.1 // indirect + github.com/docker/go-units v0.4.0 // indirect github.com/fatih/color v1.13.0 // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -33,39 +36,36 @@ require ( github.com/google/go-cmp v0.5.8 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect + github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect github.com/nxadm/tail v1.4.8 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.0.2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.26.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect + github.com/prometheus/common v0.37.0 // indirect + github.com/prometheus/procfs v0.8.0 // indirect github.com/spf13/afero v1.8.2 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.4.0 // indirect github.com/subosito/gotenv v1.3.0 // indirect golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect - google.golang.org/protobuf v1.28.0 // indirect + golang.org/x/text v0.3.7 + golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect + google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - github.com/Microsoft/go-winio v0.4.17 // indirect - github.com/docker/docker-credential-helpers v0.6.1 // indirect - github.com/docker/go-units v0.4.0 // indirect - github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect - github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect - github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.0.2 // indirect - golang.org/x/text v0.3.7 - golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect gotest.tools/v3 v3.0.3 // indirect ) diff --git a/go.sum b/go.sum index 327f285..4767a26 100644 --- a/go.sum +++ b/go.sum @@ -55,8 +55,9 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -113,9 +114,11 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -210,6 +213,7 @@ github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCV github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= @@ -250,6 +254,7 @@ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -290,8 +295,10 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= +github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -301,14 +308,18 @@ github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7q github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= +github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= @@ -456,6 +467,9 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 h1:NWy5+hlRbC7HK+PmcXVUmW1IMyFce7to56IUvhUFm7Y= golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -467,6 +481,8 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -526,22 +542,27 @@ golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -697,8 +718,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 626bd547e9be5283bb53e112f437436dc659f934 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 11:33:48 +0200 Subject: [PATCH 206/389] chore(deps): bump github.com/onsi/gomega from 1.20.1 to 1.20.2 (#1375) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 13 +++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 2882600..11ae178 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.20.1 + github.com/onsi/gomega v1.20.2 github.com/prometheus/client_golang v1.13.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 @@ -18,7 +18,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.12.0 github.com/stretchr/testify v1.8.0 - golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 + golang.org/x/net v0.0.0-20220722155237-a158d28d115b ) require ( @@ -59,7 +59,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.4.0 // indirect github.com/subosito/gotenv v1.3.0 // indirect - golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect + golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect golang.org/x/text v0.3.7 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect google.golang.org/protobuf v1.28.1 // indirect diff --git a/go.sum b/go.sum index 4767a26..416ccea 100644 --- a/go.sum +++ b/go.sum @@ -269,11 +269,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= +github.com/onsi/ginkgo/v2 v2.1.6 h1:Fx2POJZfKRQcM1pH49qSZiYeu319wji004qX+GDovrU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.20.1 h1:PA/3qinGoukvymdIDV8pii6tiZgC8kbmJO6Z5+b002Q= -github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/onsi/gomega v1.20.2 h1:8uQq0zMgLEfa0vRrrBgaJF2gyW9Da9BmfGV+OyUzfkY= +github.com/onsi/gomega v1.20.2/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -470,8 +470,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 h1:NWy5+hlRbC7HK+PmcXVUmW1IMyFce7to56IUvhUFm7Y= -golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -552,8 +552,9 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From cbbdbb7ad6f79917a12da7edee59f29979d0479e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 17:55:17 +0200 Subject: [PATCH 207/389] chore(deps): bump github/codeql-action from 1 to 2 (#1353) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index eca1e4f..98f8387 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -44,7 +44,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -55,7 +55,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + uses: github/codeql-action/autobuild@v2 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -69,4 +69,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v2 From 1f0fc7209b9c87355ca6a3fb973ea7f35b03f0b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Sep 2022 09:32:23 +0200 Subject: [PATCH 208/389] chore(deps): bump github.com/docker/docker from 20.10.17+incompatible to 20.10.18+incompatible (#1384) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 11ae178..224e40f 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.6.1 github.com/docker/cli v20.10.17+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v20.10.17+incompatible + github.com/docker/docker v20.10.18+incompatible github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 diff --git a/go.sum b/go.sum index 416ccea..dcf36a6 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,8 @@ github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32Paq github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= -github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.18+incompatible h1:SN84VYXTBNGn92T/QwIRPlum9zfemfitN7pbsp26WSc= +github.com/docker/docker v20.10.18+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 230312fb508c04b8d6a7e7da91ecf738628fe4dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Sep 2022 09:33:09 +0200 Subject: [PATCH 209/389] chore(deps): bump github.com/docker/cli from 20.10.17+incompatible to 20.10.18+incompatible (#1382) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 224e40f..e6b45ae 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.6.1 - github.com/docker/cli v20.10.17+incompatible + github.com/docker/cli v20.10.18+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.18+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index dcf36a6..ec313d5 100644 --- a/go.sum +++ b/go.sum @@ -81,8 +81,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= -github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.18+incompatible h1:f/GQLsVpo10VvToRay2IraVA1wHz9KktZyjev3SIVDU= +github.com/docker/cli v20.10.18+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.18+incompatible h1:SN84VYXTBNGn92T/QwIRPlum9zfemfitN7pbsp26WSc= From 0fddbfb7ed260a8685eaa7f00a6939740c866c21 Mon Sep 17 00:00:00 2001 From: Matthew McNeely Date: Sat, 17 Sep 2022 06:12:24 -0400 Subject: [PATCH 210/389] feat: allow log level to be set to any level (#1345) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- cmd/root.go | 10 +++++----- docs/arguments.md | 21 ++++++++++++++++++++- internal/flags/flags.go | 22 ++++++++++++++++++++++ internal/flags/flags_test.go | 28 +++++++++++++++++++++++----- 4 files changed, 70 insertions(+), 11 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index daa9437..f79b660 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -87,11 +87,11 @@ func PreRun(cmd *cobra.Command, _ []string) { }) } - if enabled, _ := f.GetBool("debug"); enabled { - log.SetLevel(log.DebugLevel) - } - if enabled, _ := f.GetBool("trace"); enabled { - log.SetLevel(log.TraceLevel) + rawLogLevel, _ := f.GetString(`log-level`) + if logLevel, err := log.ParseLevel(rawLogLevel); err != nil { + log.Fatalf("Invalid log level: %s", err.Error()) + } else { + log.SetLevel(logLevel) } scheduleSpec, _ = f.GetString("schedule") diff --git a/docs/arguments.md b/docs/arguments.md index 7280631..58e7e7b 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -71,6 +71,10 @@ Environment Variable: WATCHTOWER_REMOVE_VOLUMES ## Debug Enable debug mode with verbose logging. +!!! note "Notes" + Alias for `--log-level debug`. See [Maximum log level](#maximum-log-level). + Does _not_ take an argument when used as an argument. Using `--debug true` will **not** work. + ```text Argument: --debug, -d Environment Variable: WATCHTOWER_DEBUG @@ -81,6 +85,10 @@ Environment Variable: WATCHTOWER_DEBUG ## Trace Enable trace mode with very verbose logging. Caution: exposes credentials! +!!! note "Notes" + Alias for `--log-level trace`. See [Maximum log level](#maximum-log-level). + Does _not_ take an argument when used as an argument. Using `--trace true` will **not** work. + ```text Argument: --trace Environment Variable: WATCHTOWER_TRACE @@ -88,6 +96,17 @@ Environment Variable: WATCHTOWER_TRACE Default: false ``` +## Maximum log level + +The maximum log level that will be written to STDERR (shown in `docker log` when used in a container). + +```text + Argument: --log-level +Environment Variable: WATCHTOWER_LOG_LEVEL + Possible values: panic, fatal, error, warn, info, debug or trace + Default: info +``` + ## ANSI colors Disable ANSI color escape codes in log output. @@ -341,4 +360,4 @@ requests and may rate limit pull requests (mainly docker.io). Environment Variable: WATCHTOWER_WARN_ON_HEAD_FAILURE Possible values: always, auto, never Default: auto -``` +``` \ No newline at end of file diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 5abd69c..5428b95 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -182,6 +182,10 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { viper.GetString("WATCHTOWER_PORCELAIN"), `Write session results to stdout using a stable versioned format. Supported values: "v1"`) + flags.String( + "log-level", + viper.GetString("WATCHTOWER_LOG_LEVEL"), + "The maximum log level that will be written to STDERR. Possible values: panic, fatal, error, warn, info, debug or trace") } // RegisterNotificationFlags that are used by watchtower to send notifications @@ -374,6 +378,7 @@ func SetDefaults() { viper.SetDefault("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT", 25) viper.SetDefault("WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG", "") viper.SetDefault("WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER", "watchtower") + viper.SetDefault("WATCHTOWER_LOG_LEVEL", "info") } // EnvConfig translates the command-line options into environment variables @@ -561,6 +566,23 @@ func ProcessFlagAliases(flags *pflag.FlagSet) { interval, _ := flags.GetInt(`interval`) flags.Set(`schedule`, fmt.Sprintf(`@every %ds`, interval)) } + + if flagIsEnabled(flags, `debug`) { + flags.Set(`log-level`, `debug`) + } + + if flagIsEnabled(flags, `trace`) { + flags.Set(`log-level`, `trace`) + } + +} + +func flagIsEnabled(flags *pflag.FlagSet, name string) bool { + value, err := flags.GetBool(name) + if err != nil { + log.Fatalf(`The flag %q is not defined`, name) + } + return value } func appendFlagValue(flags *pflag.FlagSet, name string, values ...string) error { diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index c7f0b80..ca6f4ae 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -129,11 +129,6 @@ func TestIsFile(t *testing.T) { assert.True(t, isFile(os.Args[0]), "the currently running binary path should always be considered a file") } -func TestReadFlags(t *testing.T) { - logrus.StandardLogger().ExitFunc = func(_ int) { t.FailNow() } - -} - func TestProcessFlagAliases(t *testing.T) { logrus.StandardLogger().ExitFunc = func(_ int) { t.FailNow() } cmd := new(cobra.Command) @@ -145,6 +140,7 @@ func TestProcessFlagAliases(t *testing.T) { require.NoError(t, cmd.ParseFlags([]string{ `--porcelain`, `v1`, `--interval`, `10`, + `--trace`, })) flags := cmd.Flags() ProcessFlagAliases(flags) @@ -163,6 +159,28 @@ func TestProcessFlagAliases(t *testing.T) { sched, _ := flags.GetString(`schedule`) assert.Equal(t, `@every 10s`, sched) + + logLevel, _ := flags.GetString(`log-level`) + assert.Equal(t, `trace`, logLevel) +} + +func TestProcessFlagAliasesLogLevelFromEnvironment(t *testing.T) { + cmd := new(cobra.Command) + err := os.Setenv("WATCHTOWER_DEBUG", `true`) + require.NoError(t, err) + defer os.Unsetenv("WATCHTOWER_DEBUG") + + SetDefaults() + RegisterDockerFlags(cmd) + RegisterSystemFlags(cmd) + RegisterNotificationFlags(cmd) + + require.NoError(t, cmd.ParseFlags([]string{})) + flags := cmd.Flags() + ProcessFlagAliases(flags) + + logLevel, _ := flags.GetString(`log-level`) + assert.Equal(t, `debug`, logLevel) } func TestProcessFlagAliasesSchedAndInterval(t *testing.T) { From c1fb00a567fd68c707f5dc32681ad8737b210e16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Sep 2022 14:15:59 +0200 Subject: [PATCH 211/389] chore(deps): bump github.com/spf13/viper from 1.12.0 to 1.13.0 (#1383) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index e6b45ae..11e1ef8 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.5.0 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.12.0 + github.com/spf13/viper v1.13.0 github.com/stretchr/testify v1.8.0 golang.org/x/net v0.0.0-20220722155237-a158d28d115b ) @@ -48,7 +48,7 @@ require ( github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.1 // indirect + github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.2.0 // indirect @@ -58,12 +58,12 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.4.0 // indirect - github.com/subosito/gotenv v1.3.0 // indirect + github.com/subosito/gotenv v1.4.1 // indirect golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect golang.org/x/text v0.3.7 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/ini.v1 v1.66.4 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index ec313d5..1bf25ff 100644 --- a/go.sum +++ b/go.sum @@ -282,8 +282,8 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU= -github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= +github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -355,8 +355,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= -github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ= -github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI= +github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= +github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= @@ -370,8 +370,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI= -github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs= +github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= +github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= @@ -730,8 +730,8 @@ gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= -gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= From 9cee9e02d0f6a002f3b865420bd0c8d259a9701f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 19 Sep 2022 14:19:38 +0200 Subject: [PATCH 212/389] ci: fix docs generation --- .github/workflows/publish-docs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 2ec5423..e7ac0c7 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -17,13 +17,14 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Install mkdocs + - name: Setup python uses: actions/setup-python@v4 with: python-version: '3.10' cache: 'pip' cache-dependency-path: | docs-requirements.txt + - name: Install mkdocs run: | pip install -r docs-requirements.txt - name: Generate docs From b50e76580e867c69cd73dc150db66189412ba9cd Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Wed, 28 Sep 2022 10:52:58 +0200 Subject: [PATCH 213/389] Delete FUNDING.yml --- .github/FUNDING.yml | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 419e96c..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -custom: https://www.amazon.com/hz/wishlist/ls/F94JJV822VX6 -github: simskij From 57e14ac34cb1e627d8d97512bb5efe63a025ea10 Mon Sep 17 00:00:00 2001 From: Tamal Das Date: Mon, 3 Oct 2022 14:09:29 +0530 Subject: [PATCH 214/389] feat : added new issue templates (#1404) --- .github/ISSUE_TEMPLATE/bug.yml | 74 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug_report.md | 53 ---------------- .github/ISSUE_TEMPLATE/feature_request.md | 20 ------ .github/ISSUE_TEMPLATE/feature_request.yml | 36 +++++++++++ 4 files changed, 110 insertions(+), 73 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug.yml delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000..7439254 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,74 @@ +name: 🐛 Bug report +description: Create a report to help us improve +labels: ["Priority: Medium, Status: Available, Type: Bug"] + +body: + - type: markdown + attributes: + value: Before submitting your issue, please make sure you're using the containrrr/watchtower:latest image. If not, switch to this image prior to posting your report. Other forks, or the old `v2tec` image are **not** supported. + + - type: textarea + id: description + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is + validations: + required: true + + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: Steps to reproduce the behavior + value: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: A clear and concise description of what you expected to happen. + validations: + required: true + + - type: textarea + id: screenshots + attributes: + label: Screenshots + description: Please add screenshots if applicable + validations: + required: false + + - type: textarea + attributes: + label: Environment + description: We would want to know the following things + value: | + - Platform + - Architecture + - Docker Version + validations: + required: true + + - type: textarea + attributes: + label: Your logs + description: Paste the Logs from running watchtower with the `--debug` option between the backticks. + value: | + ``` + + ``` + validations: + required: true + + - type: textarea + attributes: + label: Additional context + description: Add any other context about the problem here. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 53e1a53..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: 'Priority: Medium, Status: Available, Type: Bug' -assignees: '' - ---- - - -**Describe the bug** - - -**To Reproduce** - - -**Expected behavior** - - -**Screenshots** - -**Environment** - - -
- Logs from running watchtower with the --debug option - -``` - -``` - -
- -**Additional context** - diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index ca13f1d..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: 'Priority: Low, Status: Available, Type: Enhancement' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..c1cc511 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,36 @@ +name: 💡 Feature request +description: Have a new idea/feature ? Please suggest! +labels: ["Priority: Low, Status: Available, Type: Enhancement"] +body: + - type: textarea + id: description + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: true + + - type: textarea + id: extrainfo + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. + validations: + required: false + From 4c4c27574c01657f9cef556262709b059c136915 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 10:41:56 +0200 Subject: [PATCH 215/389] add IAmTamal as a contributor for doc (#1405) * update README.md [skip ci] * update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 ++ README.md | 238 +++++++++++++++++++++++--------------------- 2 files changed, 131 insertions(+), 116 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index d43d9b4..d50406c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -840,6 +840,15 @@ "contributions": [ "code" ] + }, + { + "login": "IAmTamal", + "name": "Tamal Das ", + "avatar_url": "https://avatars.githubusercontent.com/u/72851613?v=4", + "profile": "https://tamal.vercel.app/", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index fd22ae7..cc8c0bb 100644 --- a/README.md +++ b/README.md @@ -42,122 +42,128 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

James

⚠️ 🤔

Florian

👀 📖

Brian DeHamer

💻 🚧

Ross Cadogan

💻

stffabi

💻 🚧

Austin

📖

David Gardner

👀 📖

Tanguy ⧓ Herrmann

💻

Rodrigo Damazio Bovendorp

💻 📖

Ryan Kuba

🚇

cnrmck

📖

Harry Walter

💻

Robotex

📖

Gerald Pape

📖

fomk

💻

Sven Gottwald

🚇

techknowlogick

💻

waja

📖

Scott Albertson

📖

Jason Huddleston

📖

Napster

💻

Maxim

💻 📖

Max Schmitt

📖

cron410

📖

Paulo Henrique

📖

Kaleb Elwert

📖

Bill Butler

📖

Mario Tacke

💻

Mark Woodbridge

💻

Simon Aronsson

💻 🚧 👀 📖

Ansem93

📖

Luka Peschke

💻 📖

Zois Pagoulatos

💻 👀 🚧

Alexandre Menif

💻

Andrey

📖

Armando Lüscher

📖

Ryan Budke

📖

Kaloyan Raev

💻 ⚠️

sixth

📖

Gina Häußge

💻

Max H.

💻

Jungkook Park

📖

Jan Kristof Nidzwetzki

📖

lukas

💻

Ameya Shenoy

💻

Raymon de Looff

💻

John Clayton

💻

Germs2004

📖

Lukas Willburger

💻

Oliver Cervera

📖

Victor Moura

⚠️ 💻 📖

Maximilian Brandau

💻 ⚠️

Andrew

📖

sixcorners

📖

nils måsén

📖 💻

Arne Jørgensen

⚠️ 👀

PatSki123

📖

Valentine Zavadsky

💻 📖 ⚠️

Alexander Voronin

💻 🐛

Oliver Mueller

📖

Sebastiaan Tammer

💻

miosame

📖

Andrew Metzger

🐛 💡

Pierre Grimaud

📖

Matt Doran

📖

MihailITPlace

💻

bugficks

💻 📖

Michael

💻

D. Domig

📖

Ben Osheroff

💻

David H.

💻

Chander Ganesan

📖

yrien30

💻

ksurl

📖 💻 🚇

rg9400

💻

Turtle Kalus

💻

Srihari Thalla

📖

Thomas Gaudin

📖

hydrargyrum

📖

Reinout van Rees

📖

DasSkelett

💻

zenjabba

📖

Dan Quan

📖

modem7

📖

Igor Zibarev

💻

Patrice

💻

James White

📖

Dirk Kok

💻

EDIflyer

📖

Jauder Ho

💻
James
James

⚠️ 🤔
Florian
Florian

👀 📖
Brian DeHamer
Brian DeHamer

💻 🚧
Ross Cadogan
Ross Cadogan

💻
stffabi
stffabi

💻 🚧
Austin
Austin

📖
David Gardner
David Gardner

👀 📖
Tanguy ⧓ Herrmann
Tanguy ⧓ Herrmann

💻
Rodrigo Damazio Bovendorp
Rodrigo Damazio Bovendorp

💻 📖
Ryan Kuba
Ryan Kuba

🚇
cnrmck
cnrmck

📖
Harry Walter
Harry Walter

💻
Robotex
Robotex

📖
Gerald Pape
Gerald Pape

📖
fomk
fomk

💻
Sven Gottwald
Sven Gottwald

🚇
techknowlogick
techknowlogick

💻
waja
waja

📖
Scott Albertson
Scott Albertson

📖
Jason Huddleston
Jason Huddleston

📖
Napster
Napster

💻
Maxim
Maxim

💻 📖
Max Schmitt
Max Schmitt

📖
cron410
cron410

📖
Paulo Henrique
Paulo Henrique

📖
Kaleb Elwert
Kaleb Elwert

📖
Bill Butler
Bill Butler

📖
Mario Tacke
Mario Tacke

💻
Mark Woodbridge
Mark Woodbridge

💻
Simon Aronsson
Simon Aronsson

💻 🚧 👀 📖
Ansem93
Ansem93

📖
Luka Peschke
Luka Peschke

💻 📖
Zois Pagoulatos
Zois Pagoulatos

💻 👀 🚧
Alexandre Menif
Alexandre Menif

💻
Andrey
Andrey

📖
Armando Lüscher
Armando Lüscher

📖
Ryan Budke
Ryan Budke

📖
Kaloyan Raev
Kaloyan Raev

💻 ⚠️
sixth
sixth

📖
Gina Häußge
Gina Häußge

💻
Max H.
Max H.

💻
Jungkook Park
Jungkook Park

📖
Jan Kristof Nidzwetzki
Jan Kristof Nidzwetzki

📖
lukas
lukas

💻
Ameya Shenoy
Ameya Shenoy

💻
Raymon de Looff
Raymon de Looff

💻
John Clayton
John Clayton

💻
Germs2004
Germs2004

📖
Lukas Willburger
Lukas Willburger

💻
Oliver Cervera
Oliver Cervera

📖
Victor Moura
Victor Moura

⚠️ 💻 📖
Maximilian Brandau
Maximilian Brandau

💻 ⚠️
Andrew
Andrew

📖
sixcorners
sixcorners

📖
nils måsén
nils måsén

📖 💻
Arne Jørgensen
Arne Jørgensen

⚠️ 👀
PatSki123
PatSki123

📖
Valentine Zavadsky
Valentine Zavadsky

💻 📖 ⚠️
Alexander Voronin
Alexander Voronin

💻 🐛
Oliver Mueller
Oliver Mueller

📖
Sebastiaan Tammer
Sebastiaan Tammer

💻
miosame
miosame

📖
Andrew Metzger
Andrew Metzger

🐛 💡
Pierre Grimaud
Pierre Grimaud

📖
Matt Doran
Matt Doran

📖
MihailITPlace
MihailITPlace

💻
bugficks
bugficks

💻 📖
Michael
Michael

💻
D. Domig
D. Domig

📖
Ben Osheroff
Ben Osheroff

💻
David H.
David H.

💻
Chander Ganesan
Chander Ganesan

📖
yrien30
yrien30

💻
ksurl
ksurl

📖 💻 🚇
rg9400
rg9400

💻
Turtle Kalus
Turtle Kalus

💻
Srihari Thalla
Srihari Thalla

📖
Thomas Gaudin
Thomas Gaudin

📖
hydrargyrum
hydrargyrum

📖
Reinout van Rees
Reinout van Rees

📖
DasSkelett
DasSkelett

💻
zenjabba
zenjabba

📖
Dan Quan
Dan Quan

📖
modem7
modem7

📖
Igor Zibarev
Igor Zibarev

💻
Patrice
Patrice

💻
James White
James White

📖
Dirk Kok
Dirk Kok

💻
EDIflyer
EDIflyer

📖
Jauder Ho
Jauder Ho

💻
Tamal Das
Tamal Das

📖
From 1fc24f691e318ad49f431e2869b1a92a4de0bf8c Mon Sep 17 00:00:00 2001 From: Brian Choromanski Date: Tue, 4 Oct 2022 06:59:15 -0400 Subject: [PATCH 216/389] chore(github): add text render and remove default value (#1407) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- .github/ISSUE_TEMPLATE/bug.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 7439254..d4b87f1 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -58,11 +58,8 @@ body: - type: textarea attributes: label: Your logs - description: Paste the Logs from running watchtower with the `--debug` option between the backticks. - value: | - ``` - - ``` + description: Paste the logs from running watchtower with the `--debug` option. + render: text validations: required: true From fc401dae750d0c61cc39f743f8686e2cc245c9dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Oct 2022 21:22:28 +0200 Subject: [PATCH 217/389] chore(deps): bump github.com/onsi/gomega from 1.20.2 to 1.21.1 (#1419) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 11e1ef8..97ebf30 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.20.2 + github.com/onsi/gomega v1.21.1 github.com/prometheus/client_golang v1.13.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 diff --git a/go.sum b/go.sum index 1bf25ff..362067a 100644 --- a/go.sum +++ b/go.sum @@ -272,8 +272,8 @@ github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042 github.com/onsi/ginkgo/v2 v2.1.6 h1:Fx2POJZfKRQcM1pH49qSZiYeu319wji004qX+GDovrU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.20.2 h1:8uQq0zMgLEfa0vRrrBgaJF2gyW9Da9BmfGV+OyUzfkY= -github.com/onsi/gomega v1.20.2/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= +github.com/onsi/gomega v1.21.1 h1:OB/euWYIExnPBohllTicTHmGTrMaqJ67nIu80j0/uEM= +github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From faa94c4fd1aaff47d4c834814048f87655959c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Fri, 14 Oct 2022 12:26:37 +0200 Subject: [PATCH 218/389] ci: use pull_request_target for greeting --- .github/workflows/greetings.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml index cf3b5a0..83ff8a0 100644 --- a/.github/workflows/greetings.yml +++ b/.github/workflows/greetings.yml @@ -1,10 +1,11 @@ name: Greetings on: - pull_request: {} + # Runs in the context of the target (containrrr/watchtower) repository, and as such has access to GITHUB_TOKEN + pull_request_target: + types: [opened] issues: - types: - - opened + types: [opened] jobs: greeting: From a19887546b4319970607d36e7553fae957837387 Mon Sep 17 00:00:00 2001 From: Carlos Rueda Date: Fri, 14 Oct 2022 03:41:56 -0700 Subject: [PATCH 219/389] docs: add dark mode (#1412) --- docs/stylesheets/theme.css | 6 +++++- mkdocs.yml | 13 +++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/docs/stylesheets/theme.css b/docs/stylesheets/theme.css index 34f507d..29344ba 100644 --- a/docs/stylesheets/theme.css +++ b/docs/stylesheets/theme.css @@ -6,6 +6,10 @@ --md-accent-fg-color--transparent: #00334310; } +[data-md-color-scheme="slate"] { + --md-typeset-a-color: #7f9ece; +} + .md-header-nav__button.md-logo { padding: 0; } @@ -13,4 +17,4 @@ .md-header-nav__button.md-logo img { width: 1.6rem; height: 1.6rem; -} \ No newline at end of file +} diff --git a/mkdocs.yml b/mkdocs.yml index 57b2f7b..ed4ffd2 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -5,7 +5,16 @@ edit_uri: edit/main/docs/ theme: name: 'material' palette: - scheme: containrrr + - media: "(prefers-color-scheme: light)" + scheme: containrrr + toggle: + icon: material/weather-night + name: Switch to dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/weather-sunny + name: Switch to light mode logo: images/logo-450px.png favicon: images/favicon.ico extra_css: @@ -24,7 +33,7 @@ markdown_extensions: repo: watchtower - pymdownx.saneheaders - pymdownx.tabbed: - alternate_style: true + alternate_style: true nav: - 'Home': 'index.md' - 'Introduction': 'introduction.md' From 0a0998f83ccbc3ebc9c88cebe4b336a31c8fbaa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Fri, 14 Oct 2022 15:06:13 +0200 Subject: [PATCH 220/389] docs: add containrrr-dark color scheme (#1427) --- .editorconfig | 14 ++++++ docs/stylesheets/theme.css | 87 +++++++++++++++++++++++++++++++++----- mkdocs.yml | 2 +- 3 files changed, 92 insertions(+), 11 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..fa2b0d3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 + +[*.css] +indent_style = space +indent_size = 2 + +[{go.mod,go.sum,*.go}] +indent_style = tab +indent_size = 4 \ No newline at end of file diff --git a/docs/stylesheets/theme.css b/docs/stylesheets/theme.css index 29344ba..fb5e675 100644 --- a/docs/stylesheets/theme.css +++ b/docs/stylesheets/theme.css @@ -1,20 +1,87 @@ [data-md-color-scheme="containrrr"] { - --md-primary-fg-color: #406170; - --md-primary-fg-color--light:#acbfc7; - --md-primary-fg-color--dark: #003343; - --md-accent-fg-color: #003343; - --md-accent-fg-color--transparent: #00334310; + /* Primary and accent */ + --md-primary-fg-color: #406170; + --md-primary-fg-color--light:#acbfc7; + --md-primary-fg-color--dark: #003343; + --md-accent-fg-color: #003343; + --md-accent-fg-color--transparent: #00334310; + + /* Typeset overrides */ + --md-typeset-a-color: var(--md-primary-fg-color); } -[data-md-color-scheme="slate"] { - --md-typeset-a-color: #7f9ece; +[data-md-color-scheme="containrrr-dark"] { + --md-hue: 199; + + /* Primary and accent */ + --md-primary-fg-color: hsla(199deg 27% 35% 100%); + --md-primary-fg-color--link: hsla(199deg 45% 65% 100%); + --md-primary-fg-color--light: hsla(198deg 19% 73% 100%); + --md-primary-fg-color--dark: hsla(194deg 100% 13% 100%); + --md-accent-fg-color: hsla(194deg 45% 50% 100%); + --md-accent-fg-color--transparent: hsla(194deg 45% 50% 6.3%); + + /* Default */ + --md-default-fg-color: hsla(var(--md-hue) 75% 95% 100%); + --md-default-fg-color--light: hsla(var(--md-hue) 75% 90% 62%); + --md-default-fg-color--lighter: hsla(var(--md-hue) 75% 90% 32%); + --md-default-fg-color--lightest: hsla(var(--md-hue) 75% 90% 12%); + --md-default-bg-color: hsla(var(--md-hue) 15% 21% 100%); + --md-default-bg-color--light: hsla(var(--md-hue) 15% 21% 54%); + --md-default-bg-color--lighter: hsla(var(--md-hue) 15% 21% 26%); + --md-default-bg-color--lightest: hsla(var(--md-hue) 15% 21% 7%); + + /* Code */ + --md-code-fg-color: hsla(var(--md-hue) 18% 86% 100%); + --md-code-bg-color: hsla(var(--md-hue) 15% 15% 100%); + --md-code-hl-color: hsla(218deg 100% 63% 15%); + --md-code-hl-number-color: hsla(346deg 74% 63% 100%); + --md-code-hl-special-color: hsla(320deg 83% 66% 100%); + --md-code-hl-function-color: hsla(271deg 57% 65% 100%); + --md-code-hl-constant-color: hsla(230deg 62% 70% 100%); + --md-code-hl-keyword-color: hsla(199deg 33% 64% 100%); + --md-code-hl-string-color: hsla( 50deg 34% 74% 100%); + --md-code-hl-name-color: var(--md-code-fg-color); + --md-code-hl-operator-color: var(--md-default-fg-color--light); + --md-code-hl-punctuation-color: var(--md-default-fg-color--light); + --md-code-hl-comment-color: var(--md-default-fg-color--light); + --md-code-hl-generic-color: var(--md-default-fg-color--light); + --md-code-hl-variable-color: hsla(241deg 22% 60% 100%); + + /* Typeset */ + --md-typeset-color: var(--md-default-fg-color); + --md-typeset-a-color: var(--md-primary-fg-color--link); + --md-typeset-mark-color: hsla(218deg 100% 63% 30%); + --md-typeset-kbd-color: hsla(var(--md-hue) 15% 94% 12%); + --md-typeset-kbd-accent-color: hsla(var(--md-hue) 15% 94% 20%); + --md-typeset-kbd-border-color: hsla(var(--md-hue) 15% 14% 100%); + --md-typeset-table-color: hsla(var(--md-hue) 75% 95% 12%); + + /* Admonition */ + --md-admonition-fg-color: var(--md-default-fg-color); + --md-admonition-bg-color: var(--md-default-bg-color); + + /* Footer */ + --md-footer-bg-color: hsla(var(--md-hue) 15% 12% 87%); + --md-footer-bg-color--dark: hsla(var(--md-hue) 15% 10% 100%); + + /* Shadows */ + --md-shadow-z1: + 0 0.2rem 0.50rem rgba(0 0 0 20%), + 0 0 0.05rem rgba(0 0 0 10%); + --md-shadow-z2: + 0 0.2rem 0.50rem rgba(0 0 0 30%), + 0 0 0.05rem rgba(0 0 0 25%); + --md-shadow-z3: + 0 0.2rem 0.50rem rgba(0 0 0 40%), + 0 0 0.05rem rgba(0 0 0 35%); } .md-header-nav__button.md-logo { - padding: 0; + padding: 0; } .md-header-nav__button.md-logo img { - width: 1.6rem; - height: 1.6rem; + width: 1.6rem; + height: 1.6rem; } diff --git a/mkdocs.yml b/mkdocs.yml index ed4ffd2..f87708f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -11,7 +11,7 @@ theme: icon: material/weather-night name: Switch to dark mode - media: "(prefers-color-scheme: dark)" - scheme: slate + scheme: containrrr-dark toggle: icon: material/weather-sunny name: Switch to light mode From 9a2f9c48c739ddb93a322f77d4681d9d8aa05ab2 Mon Sep 17 00:00:00 2001 From: Step Security Bot Date: Sun, 16 Oct 2022 05:13:42 -0700 Subject: [PATCH 221/389] [StepSecurity] ci: Harden GitHub Actions (#1426) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- .github/workflows/pull-request.yml | 4 ++-- .github/workflows/release-dev.yaml | 4 ++-- .github/workflows/release.yml | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 56b59c4..02434cd 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -19,7 +19,7 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.18.x - - uses: dominikh/staticcheck-action@v1.2.0 + - uses: dominikh/staticcheck-action@a3513ade2e5cb8075ba1c1ed1890a989cf0f2aa0 #v1.2.0 with: version: "2022.1.1" test: @@ -63,7 +63,7 @@ jobs: with: go-version: 1.18.x - name: Build - uses: goreleaser/goreleaser-action@v3 + uses: goreleaser/goreleaser-action@ff11ca24a9b39f2d36796d1fbd7a4e39c182630a #v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 0aa6828..1aa1373 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -39,7 +39,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Publish to Docker Hub - uses: jerray/publish-docker-action@master + uses: jerray/publish-docker-action@87d84711629b0dc9f6bb127b568413cc92a2088e #master@2022-10-14 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} @@ -47,7 +47,7 @@ jobs: repository: containrrr/watchtower tags: latest-dev - name: Publish to GHCR - uses: jerray/publish-docker-action@master + uses: jerray/publish-docker-action@87d84711629b0dc9f6bb127b568413cc92a2088e #master@2022-10-14 with: username: ${{ secrets.BOT_USERNAME }} password: ${{ secrets.BOT_GHCR_PAT }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2a00499..d21de12 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,18 +72,18 @@ jobs: with: go-version: 1.18.x - name: Login to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a #v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to GHCR - uses: docker/login-action@v2 + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a #v2 with: username: ${{ secrets.BOT_USERNAME }} password: ${{ secrets.BOT_GHCR_PAT }} registry: ghcr.io - name: Build - uses: goreleaser/goreleaser-action@v3 + uses: goreleaser/goreleaser-action@ff11ca24a9b39f2d36796d1fbd7a4e39c182630a #v3 with: version: v0.155.0 args: --debug @@ -193,7 +193,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Pull new module version - uses: andrewslotin/go-proxy-pull-action@master + uses: andrewslotin/go-proxy-pull-action@bfc19ec6536e1638181b2ad6a03e16c7ccfb122f #master@2022-10-14 From 9ea5d3b5e8971b5dca72cb18d7291e7136321451 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:02:01 +0200 Subject: [PATCH 222/389] chore(deps): bump golang.org/x/text from 0.3.7 to 0.3.8 (#1430) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 97ebf30..63ae805 100644 --- a/go.mod +++ b/go.mod @@ -60,7 +60,7 @@ require ( github.com/stretchr/objx v0.4.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect - golang.org/x/text v0.3.7 + golang.org/x/text v0.3.8 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 362067a..fb22f94 100644 --- a/go.sum +++ b/go.sum @@ -564,8 +564,9 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From b855675b9f798ca26803b16901c0d61f71740ac9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:26:52 +0200 Subject: [PATCH 223/389] chore(deps): bump github.com/onsi/gomega from 1.21.1 to 1.22.1 (#1432) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 63ae805..7cd7065 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.21.1 + github.com/onsi/gomega v1.22.1 github.com/prometheus/client_golang v1.13.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 diff --git a/go.sum b/go.sum index fb22f94..1bd6a9f 100644 --- a/go.sum +++ b/go.sum @@ -269,11 +269,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.6 h1:Fx2POJZfKRQcM1pH49qSZiYeu319wji004qX+GDovrU= +github.com/onsi/ginkgo/v2 v2.3.0 h1:kUMoxMoQG3ogk/QWyKh3zibV7BKZ+xBpWil1cTylVqc= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.21.1 h1:OB/euWYIExnPBohllTicTHmGTrMaqJ67nIu80j0/uEM= -github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= +github.com/onsi/gomega v1.22.1 h1:pY8O4lBfsHKZHM/6nrxkhVPUznOlIu3quZcKP/M20KI= +github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From c3f9d778b05d291da67bcffc60a30018bf0dac81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:27:19 +0200 Subject: [PATCH 224/389] chore(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 (#1431) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 7cd7065..5ab19f6 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/prometheus/client_golang v1.13.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 - github.com/spf13/cobra v1.5.0 + github.com/spf13/cobra v1.6.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.13.0 github.com/stretchr/testify v1.8.0 @@ -35,7 +35,7 @@ require ( github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.8 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mattn/go-colorable v0.1.12 // indirect diff --git a/go.sum b/go.sum index 1bd6a9f..d3f4f9a 100644 --- a/go.sum +++ b/go.sum @@ -199,8 +199,9 @@ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jarcoal/httpmock v1.0.4 h1:jp+dy/+nonJE4g4xbVtl9QdrUNbn6/3hDT5R4nDIZnA= github.com/jarcoal/httpmock v1.0.4/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 h1:jKUP9TQ0c7X3w6+IPyMit07RE42MtTWNd77sN2cHngQ= @@ -346,8 +347,8 @@ github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= -github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU= -github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= +github.com/spf13/cobra v1.6.0 h1:42a0n6jwCot1pUmomAp4T7DeMD+20LFv4Q54pxLf2LI= +github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= From 425684c761459f7d9bd940fe254afb81420a9804 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:28:12 +0200 Subject: [PATCH 225/389] chore(deps): bump github.com/docker/docker from 20.10.18+incompatible to 20.10.19+incompatible (#1433) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5ab19f6..fc61575 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.6.1 github.com/docker/cli v20.10.18+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v20.10.18+incompatible + github.com/docker/docker v20.10.19+incompatible github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 diff --git a/go.sum b/go.sum index d3f4f9a..2b76bfe 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,8 @@ github.com/docker/cli v20.10.18+incompatible h1:f/GQLsVpo10VvToRay2IraVA1wHz9Kkt github.com/docker/cli v20.10.18+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.18+incompatible h1:SN84VYXTBNGn92T/QwIRPlum9zfemfitN7pbsp26WSc= -github.com/docker/docker v20.10.18+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= +github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 398d2713d6049c8ddb73f7c6fe97fe1fdaae946c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Oct 2022 11:34:59 +0200 Subject: [PATCH 226/389] chore(deps): bump github.com/docker/cli from 20.10.18+incompatible to 20.10.19+incompatible (#1434) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fc61575..f4e5d2c 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.6.1 - github.com/docker/cli v20.10.18+incompatible + github.com/docker/cli v20.10.19+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.19+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index 2b76bfe..59a299d 100644 --- a/go.sum +++ b/go.sum @@ -81,8 +81,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/cli v20.10.18+incompatible h1:f/GQLsVpo10VvToRay2IraVA1wHz9KktZyjev3SIVDU= -github.com/docker/cli v20.10.18+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.19+incompatible h1:VKVBUb0KY/bx0FUCrCiNCL8wqgy8VxQli1dtNTn38AE= +github.com/docker/cli v20.10.19+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= From ef44ae9ba7c45c215f9a5202f1786a13609664b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 31 Oct 2022 23:54:56 +0100 Subject: [PATCH 227/389] chore(deps): bulk update dependencies (#1453) --- go.mod | 10 +++++----- go.sum | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index f4e5d2c..d73d2e0 100644 --- a/go.mod +++ b/go.mod @@ -4,9 +4,9 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.6.1 - github.com/docker/cli v20.10.19+incompatible + github.com/docker/cli v20.10.20+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v20.10.19+incompatible + github.com/docker/docker v20.10.20+incompatible github.com/docker/go-connections v0.4.0 github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 @@ -17,7 +17,7 @@ require ( github.com/spf13/cobra v1.6.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.13.0 - github.com/stretchr/testify v1.8.0 + github.com/stretchr/testify v1.8.1 golang.org/x/net v0.0.0-20220722155237-a158d28d115b ) @@ -57,10 +57,10 @@ require ( github.com/spf13/afero v1.8.2 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/stretchr/objx v0.4.0 // indirect + github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect - golang.org/x/text v0.3.8 + golang.org/x/text v0.4.0 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 59a299d..602f82b 100644 --- a/go.sum +++ b/go.sum @@ -81,12 +81,12 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/cli v20.10.19+incompatible h1:VKVBUb0KY/bx0FUCrCiNCL8wqgy8VxQli1dtNTn38AE= -github.com/docker/cli v20.10.19+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.20+incompatible h1:lWQbHSHUFs7KraSN2jOJK7zbMS2jNCHI4mt4xUFUVQ4= +github.com/docker/cli v20.10.20+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= -github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.20+incompatible h1:kH9tx6XO+359d+iAkumyKDc5Q1kOwPuAUaeri48nD6E= +github.com/docker/docker v20.10.20+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= @@ -360,16 +360,18 @@ github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= @@ -566,8 +568,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 2102a056dea413352b8ac295dca5cac9c030a979 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 23:58:07 +0100 Subject: [PATCH 228/389] chore(deps): bump goreleaser/goreleaser-action from 3.1.0 to 3.2.0 (#1447) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 02434cd..88b2b0f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -63,7 +63,7 @@ jobs: with: go-version: 1.18.x - name: Build - uses: goreleaser/goreleaser-action@ff11ca24a9b39f2d36796d1fbd7a4e39c182630a #v3 + uses: goreleaser/goreleaser-action@b508e2e3ef3b19d4e4146d4f8fb3ba9db644a757 #v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d21de12..4f56d65 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -83,7 +83,7 @@ jobs: password: ${{ secrets.BOT_GHCR_PAT }} registry: ghcr.io - name: Build - uses: goreleaser/goreleaser-action@ff11ca24a9b39f2d36796d1fbd7a4e39c182630a #v3 + uses: goreleaser/goreleaser-action@b508e2e3ef3b19d4e4146d4f8fb3ba9db644a757 #v3 with: version: v0.155.0 args: --debug From cb555f539d9662b7e9232d1dc2bed5abd3da3a92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 1 Nov 2022 00:00:00 +0100 Subject: [PATCH 229/389] preparations for soft deprecation of legacy notification args (#1377) Co-authored-by: Simon Aronsson --- cmd/notify-upgrade.go | 111 ++++++++++++ cmd/root.go | 2 + docs/notifications.md | 264 +++++++++++++++++++++++------ go.mod | 2 - go.sum | 4 - pkg/container/cgroup_id.go | 29 ++++ pkg/container/cgroup_id_test.go | 40 +++++ pkg/container/container.go | 1 + pkg/notifications/email.go | 31 +--- pkg/notifications/gotify.go | 9 +- pkg/notifications/msteams.go | 9 +- pkg/notifications/notifier.go | 25 +-- pkg/notifications/notifier_test.go | 32 +--- pkg/notifications/shoutrrr.go | 38 +++-- pkg/notifications/shoutrrr_test.go | 38 ++++- pkg/notifications/slack.go | 28 ++- pkg/types/convertible_notifier.go | 7 +- pkg/types/notifier.go | 2 + 18 files changed, 505 insertions(+), 167 deletions(-) create mode 100644 cmd/notify-upgrade.go create mode 100644 pkg/container/cgroup_id.go create mode 100644 pkg/container/cgroup_id_test.go diff --git a/cmd/notify-upgrade.go b/cmd/notify-upgrade.go new file mode 100644 index 0000000..9991ee6 --- /dev/null +++ b/cmd/notify-upgrade.go @@ -0,0 +1,111 @@ +// Package cmd contains the watchtower (sub-)commands +package cmd + +import ( + "fmt" + "os" + "os/signal" + "strings" + "syscall" + "time" + + "github.com/containrrr/watchtower/internal/flags" + "github.com/containrrr/watchtower/pkg/container" + "github.com/containrrr/watchtower/pkg/notifications" + "github.com/spf13/cobra" +) + +var notifyUpgradeCommand = NewNotifyUpgradeCommand() + +// NewNotifyUpgradeCommand creates the notify upgrade command for watchtower +func NewNotifyUpgradeCommand() *cobra.Command { + return &cobra.Command{ + Use: "notify-upgrade", + Short: "Upgrade legacy notification configuration to shoutrrr URLs", + Run: runNotifyUpgrade, + } +} + +func runNotifyUpgrade(cmd *cobra.Command, args []string) { + if err := runNotifyUpgradeE(cmd, args); err != nil { + logf("Notification upgrade failed: %v", err) + } +} + +func runNotifyUpgradeE(cmd *cobra.Command, _ []string) error { + f := cmd.Flags() + flags.ProcessFlagAliases(f) + + notifier = notifications.NewNotifier(cmd) + urls := notifier.GetURLs() + + logf("Found notification configurations for: %v", strings.Join(notifier.GetNames(), ", ")) + + outFile, err := os.CreateTemp("/", "watchtower-notif-urls-*") + if err != nil { + return fmt.Errorf("failed to create output file: %v", err) + } + logf("Writing notification URLs to %v", outFile.Name()) + logf("") + + sb := strings.Builder{} + sb.WriteString("WATCHTOWER_NOTIFICATION_URL=") + + for i, u := range urls { + if i != 0 { + sb.WriteRune(' ') + } + sb.WriteString(u) + } + + _, err = fmt.Fprint(outFile, sb.String()) + tryOrLog(err, "Failed to write to output file") + + tryOrLog(outFile.Sync(), "Failed to sync output file") + tryOrLog(outFile.Close(), "Failed to close output file") + + containerID := "" + cid, err := container.GetRunningContainerID() + tryOrLog(err, "Failed to get running container ID") + if cid != "" { + containerID = cid.ShortID() + } + logf("To get the environment file, use:") + logf("cp %v:%v ./watchtower-notifications.env", containerID, outFile.Name()) + logf("") + logf("Note: This file will be removed in 5 minutes or when this container is stopped!") + + signalChannel := make(chan os.Signal, 1) + time.AfterFunc(5*time.Minute, func() { + signalChannel <- syscall.SIGALRM + }) + + signal.Notify(signalChannel, os.Interrupt) + signal.Notify(signalChannel, syscall.SIGTERM) + + switch <-signalChannel { + case syscall.SIGALRM: + logf("Timed out!") + case os.Interrupt, syscall.SIGTERM: + logf("Stopping...") + default: + } + + if err := os.Remove(outFile.Name()); err != nil { + logf("Failed to remove file, it may still be present in the container image! Error: %v", err) + } else { + logf("Environment file has been removed.") + } + + return nil +} + +func tryOrLog(err error, message string) { + if err != nil { + logf("%v: %v\n", message, err) + } +} + +func logf(format string, v ...interface{}) { + fmt.Fprintln(os.Stderr, fmt.Sprintf(format, v...)) +} diff --git a/cmd/root.go b/cmd/root.go index f79b660..838465b 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -66,6 +66,7 @@ func init() { // Execute the root func and exit in case of errors func Execute() { + rootCmd.AddCommand(notifyUpgradeCommand) if err := rootCmd.Execute(); err != nil { log.Fatal(err) } @@ -139,6 +140,7 @@ func PreRun(cmd *cobra.Command, _ []string) { }) notifier = notifications.NewNotifier(cmd) + notifier.AddLogHook() } // Run is the main execution flow of the command diff --git a/docs/notifications.md b/docs/notifications.md index a69b00b..3905abf 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -1,15 +1,7 @@ # Notifications Watchtower can send notifications when containers are updated. Notifications are sent via hooks in the logging -system, [logrus](http://github.com/sirupsen/logrus). The types of notifications to send are set by passing a -comma-separated list of values to the `--notifications` option -(or corresponding environment variable `WATCHTOWER_NOTIFICATIONS`), which has the following valid values: - -- `email` to send notifications via e-mail -- `slack` to send notifications through a Slack webhook -- `msteams` to send notifications via MSTeams webhook -- `gotify` to send notifications via Gotify -- `shoutrrr` to send notifications via [containrrr/shoutrrr](https://github.com/containrrr/shoutrrr) +system, [logrus](http://github.com/sirupsen/logrus). !!! note "Using multiple notifications with environment variables" There is currently a bug in Viper (https://github.com/spf13/viper/issues/380), which prevents comma-separated slices to @@ -31,7 +23,221 @@ comma-separated list of values to the `--notifications` option - `notification-title-tag` (env. `WATCHTOWER_NOTIFICATION_TITLE_TAG`): Prefix to include in the title. Useful when running multiple watchtowers. - `notification-skip-title` (env. `WATCHTOWER_NOTIFICATION_SKIP_TITLE`): Do not pass the title param to notifications. This will not pass a dynamic title override to notification services. If no title is configured for the service, it will remove the title all together. -## Available services +## [shoutrrr](https://github.com/containrrr/shoutrrr) notifications + +To send notifications via shoutrrr, the following command-line options, or their corresponding environment variables, can be set: + +- `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. This option can also reference a file, in which case the contents of the file are used. + + +Go to [containrrr.dev/shoutrrr/v0.6/services/overview](https://containrrr.dev/shoutrrr/v0.6/services/overview) to +learn more about the different service URLs you can use. You can define multiple services by space separating the +URLs. (See example below) + +You can customize the message posted by setting a template. + +- `--notification-template` (env. `WATCHTOWER_NOTIFICATION_TEMPLATE`): The template used for the message. + +The template is a Go [template](https://golang.org/pkg/text/template/) that either format a list +of [log entries](https://pkg.go.dev/github.com/sirupsen/logrus?tab=doc#Entry) or a `notification.Data` struct. + +Simple templates are used unless the `notification-report` flag is specified: + +- `--notification-report` (env. `WATCHTOWER_NOTIFICATION_REPORT`): Use the session report as the notification template data. + +## Simple templates + +The default value if not set is `{{range .}}{{.Message}}{{println}}{{end}}`. The example below uses a template that also +outputs timestamp and log level. + +!!! tip "Custom date format" + If you want to adjust the date/time format it must show how the + [reference time](https://golang.org/pkg/time/#pkg-constants) (_Mon Jan 2 15:04:05 MST 2006_) would be displayed in your + custom format. + i.e., The day of the year has to be 1, the month has to be 2 (february), the hour 3 (or 15 for 24h time) etc. + +Example: + +```bash +docker run -d \ + --name watchtower \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -e WATCHTOWER_NOTIFICATION_URL="discord://token@channel slack://watchtower@token-a/token-b/token-c" \ + -e WATCHTOWER_NOTIFICATION_TEMPLATE="{{range .}}{{.Time.Format \"2006-01-02 15:04:05\"}} ({{.Level}}): {{.Message}}{{println}}{{end}}" \ + containrrr/watchtower +``` + +## Report templates + +The default template for report notifications are the following: +```go +{{- if .Report -}} + {{- with .Report -}} + {{- if ( or .Updated .Failed ) -}} +{{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed + {{- range .Updated}} +- {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}} + {{- end -}} + {{- range .Fresh}} +- {{.Name}} ({{.ImageName}}): {{.State}} + {{- end -}} + {{- range .Skipped}} +- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- range .Failed}} +- {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- end -}} + {{- end -}} +{{- else -}} + {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}} +{{- end -}} +``` + +It will be used to send a summary of every session if there are any containers that were updated or which failed to update. + +!!! note "Skipping notifications" + Whenever the result of applying the template results in an empty string, no notifications will + be sent. This is by default used to limit the notifications to only be sent when there something noteworthy occurred. + + You can replace `{{- if ( or .Updated .Failed ) -}}` with any logic you want to decide when to send the notifications. + +Example using a custom report template that always sends a session report after each run: + +=== "docker run" + + ```bash + docker run -d \ + --name watchtower \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -e WATCHTOWER_NOTIFICATION_REPORT="true" + -e WATCHTOWER_NOTIFICATION_URL="discord://token@channel slack://watchtower@token-a/token-b/token-c" \ + -e WATCHTOWER_NOTIFICATION_TEMPLATE=" + {{- if .Report -}} + {{- with .Report -}} + {{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed + {{- range .Updated}} + - {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}} + {{- end -}} + {{- range .Fresh}} + - {{.Name}} ({{.ImageName}}): {{.State}} + {{- end -}} + {{- range .Skipped}} + - {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- range .Failed}} + - {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- end -}} + {{- else -}} + {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}} + {{- end -}} + " \ + containrrr/watchtower + ``` + +=== "docker-compose" + + ``` yaml + version: "3" + services: + watchtower: + image: containrrr/watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + env: + WATCHTOWER_NOTIFICATION_REPORT: "true" + WATCHTOWER_NOTIFICATION_URL: > + discord://token@channel + slack://watchtower@token-a/token-b/token-c + WATCHTOWER_NOTIFICATION_TEMPLATE: | + {{- if .Report -}} + {{- with .Report -}} + {{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed + {{- range .Updated}} + - {{.Name}} ({{.ImageName}}): {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}} + {{- end -}} + {{- range .Fresh}} + - {{.Name}} ({{.ImageName}}): {{.State}} + {{- end -}} + {{- range .Skipped}} + - {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- range .Failed}} + - {{.Name}} ({{.ImageName}}): {{.State}}: {{.Error}} + {{- end -}} + {{- end -}} + {{- else -}} + {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}} + {{- end -}} + ``` + +## Legacy notifications + +For backwards compatibility, the notifications can also be configured using legacy notification options. These will automatically be converted to shoutrrr URLs when used. +The types of notifications to send are set by passing a comma-separated list of values to the `--notifications` option +(or corresponding environment variable `WATCHTOWER_NOTIFICATIONS`), which has the following valid values: + +- `email` to send notifications via e-mail +- `slack` to send notifications through a Slack webhook +- `msteams` to send notifications via MSTeams webhook +- `gotify` to send notifications via Gotify + +### `notify-upgrade` +If watchtower is started with `notify-upgrade` as it's first argument, it will generate a .env file with your current legacy notification options converted to shoutrrr URLs. + +=== "docker run" + + ```bash + $ docker run -d \ + --name watchtower \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -e WATCHTOWER_NOTIFICATIONS=slack \ + -e WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL="https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy" \ + containrrr/watchtower \ + notify-upgrade + ``` + +=== "docker-compose.yml" + + ```yaml + version: "3" + services: + watchtower: + image: containrrr/watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + env: + WATCHTOWER_NOTIFICATIONS: slack + WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL: https://hooks.slack.com/services/xxx/yyyyyyyyyyyyyyy + command: notify-upgrade + ``` + + +You can then copy this file from the container (a message with the full command to do so will be logged) and use it with your current setup: + +=== "docker run" + + ```bash + $ docker run -d \ + --name watchtower \ + -v /var/run/docker.sock:/var/run/docker.sock \ + --env-file watchtower-notifications.env \ + containrrr/watchtower + ``` + +=== "docker-compose.yml" + + ```yaml + version: "3" + services: + watchtower: + image: containrrr/watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + env_file: + - watchtower-notifications.env + ``` ### Email @@ -177,41 +383,3 @@ docker run -d \ If you want to disable TLS verification for the Gotify instance, you can use either `-e WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY=true` or `--notification-gotify-tls-skip-verify`. -### [containrrr/shoutrrr](https://github.com/containrrr/shoutrrr) - -To send notifications via shoutrrr, the following command-line options, or their corresponding environment variables, can be set: - -- `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. This option can also reference a file, in which case the contents of the file are used. - - -Go to [containrrr.dev/shoutrrr/v0.6/services/overview](https://containrrr.dev/shoutrrr/v0.6/services/overview) to -learn more about the different service URLs you can use. You can define multiple services by space separating the -URLs. (See example below) - -You can customize the message posted by setting a template. - -- `--notification-template` (env. `WATCHTOWER_NOTIFICATION_TEMPLATE`): The template used for the message. - -The template is a Go [template](https://golang.org/pkg/text/template/) and that format a list -of [log entries](https://pkg.go.dev/github.com/sirupsen/logrus?tab=doc#Entry). - -The default value if not set is `{{range .}}{{.Message}}{{println}}{{end}}`. The example below uses a template that also -outputs timestamp and log level. - -!!! tip "Custom date format" - If you want to adjust the date/time format it must show how the - [reference time](https://golang.org/pkg/time/#pkg-constants) (_Mon Jan 2 15:04:05 MST 2006_) would be displayed in your - custom format. - i.e., The day of the year has to be 1, the month has to be 2 (february), the hour 3 (or 15 for 24h time) etc. - -Example: - -```bash -docker run -d \ - --name watchtower \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -e WATCHTOWER_NOTIFICATIONS=shoutrrr \ - -e WATCHTOWER_NOTIFICATION_URL="discord://token@channel slack://watchtower@token-a/token-b/token-c" \ - -e WATCHTOWER_NOTIFICATION_TEMPLATE="{{range .}}{{.Time.Format \"2006-01-02 15:04:05\"}} ({{.Level}}): {{.Message}}{{println}}{{end}}" \ - containrrr/watchtower -``` diff --git a/go.mod b/go.mod index d73d2e0..4ae46c2 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,6 @@ require ( github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.20+incompatible github.com/docker/go-connections v0.4.0 - github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.22.1 github.com/prometheus/client_golang v1.13.0 @@ -36,7 +35,6 @@ require ( github.com/google/go-cmp v0.5.8 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect diff --git a/go.sum b/go.sum index 602f82b..61a82c1 100644 --- a/go.sum +++ b/go.sum @@ -204,10 +204,6 @@ github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7P github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jarcoal/httpmock v1.0.4 h1:jp+dy/+nonJE4g4xbVtl9QdrUNbn6/3hDT5R4nDIZnA= github.com/jarcoal/httpmock v1.0.4/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= -github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22 h1:jKUP9TQ0c7X3w6+IPyMit07RE42MtTWNd77sN2cHngQ= -github.com/johntdyer/slack-go v0.0.0-20180213144715-95fac1160b22/go.mod h1:u0Jo4f2dNlTJeeOywkM6bLwxq6gC3pZ9rEFHn3AhTdk= -github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07 h1:+kBG/8rjCa6vxJZbUjAiE4MQmBEBYc8nLEb51frnvBY= -github.com/johntdyer/slackrus v0.0.0-20180518184837-f7aae3243a07/go.mod h1:j1kV/8f3jowErEq4XyeypkCdvg5EeHkf0YCKCcq5Ybo= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= diff --git a/pkg/container/cgroup_id.go b/pkg/container/cgroup_id.go new file mode 100644 index 0000000..1da1dfe --- /dev/null +++ b/pkg/container/cgroup_id.go @@ -0,0 +1,29 @@ +package container + +import ( + "fmt" + "os" + "regexp" + + "github.com/containrrr/watchtower/pkg/types" +) + +var dockerContainerPattern = regexp.MustCompile(`[0-9]+:.*:/docker/([a-f|0-9]{64})`) + +// GetRunningContainerID tries to resolve the current container ID from the current process cgroup information +func GetRunningContainerID() (cid types.ContainerID, err error) { + file, err := os.ReadFile(fmt.Sprintf("/proc/%d/cgroup", os.Getpid())) + if err != nil { + return + } + + return getRunningContainerIDFromString(string(file)), nil +} + +func getRunningContainerIDFromString(s string) types.ContainerID { + matches := dockerContainerPattern.FindStringSubmatch(s) + if len(matches) < 2 { + return "" + } + return types.ContainerID(matches[1]) +} diff --git a/pkg/container/cgroup_id_test.go b/pkg/container/cgroup_id_test.go new file mode 100644 index 0000000..5f694e3 --- /dev/null +++ b/pkg/container/cgroup_id_test.go @@ -0,0 +1,40 @@ +package container + +import ( + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +var _ = Describe("GetRunningContainerID", func() { + When("a matching container ID is found", func() { + It("should return that container ID", func() { + cid := getRunningContainerIDFromString(` +15:name=systemd:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +14:misc:/ +13:rdma:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +12:pids:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +11:hugetlb:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +10:net_prio:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +9:perf_event:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +8:net_cls:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +7:freezer:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +6:devices:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +5:blkio:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +4:cpuacct:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +3:cpu:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +2:cpuset:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +1:memory:/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 +0::/docker/991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377 + `) + Expect(cid).To(BeEquivalentTo(`991b6b42691449d3ce90192ff9f006863dcdafc6195e227aeefa298235004377`)) + }) + }) + When("no matching container ID could be found", func() { + It("should return that container ID", func() { + cid := getRunningContainerIDFromString(`14:misc:/`) + Expect(cid).To(BeEmpty()) + }) + }) +}) + +// diff --git a/pkg/container/container.go b/pkg/container/container.go index 82ae205..0bbea16 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -1,3 +1,4 @@ +// Package container contains code related to dealing with docker containers package container import ( diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index 3ebb4c0..b6883a2 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -15,17 +15,16 @@ const ( ) type emailTypeNotifier struct { - From, To string - Server, User, Password, SubjectTag string - Port int - tlsSkipVerify bool - entries []*log.Entry - logLevels []log.Level - delay time.Duration + From, To string + Server, User, Password string + Port int + tlsSkipVerify bool + entries []*log.Entry + delay time.Duration } -func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { - flags := c.PersistentFlags() +func newEmailNotifier(c *cobra.Command) t.ConvertibleNotifier { + flags := c.Flags() from, _ := flags.GetString("notification-email-from") to, _ := flags.GetString("notification-email-to") @@ -35,7 +34,6 @@ func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert port, _ := flags.GetInt("notification-email-server-port") tlsSkipVerify, _ := flags.GetBool("notification-email-server-tls-skip-verify") delay, _ := flags.GetInt("notification-email-delay") - subjecttag, _ := flags.GetString("notification-email-subjecttag") n := &emailTypeNotifier{ entries: []*log.Entry{}, @@ -46,22 +44,19 @@ func newEmailNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert Password: password, Port: port, tlsSkipVerify: tlsSkipVerify, - logLevels: acceptedLogLevels, delay: time.Duration(delay) * time.Second, - SubjectTag: subjecttag, } return n } -func (e *emailTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { +func (e *emailTypeNotifier) GetURL(c *cobra.Command) (string, error) { conf := &shoutrrrSmtp.Config{ FromAddress: e.From, FromName: "Watchtower", ToAddresses: []string{e.To}, Port: uint16(e.Port), Host: e.Server, - Subject: e.getSubject(c, title), Username: e.User, Password: e.Password, UseStartTLS: !e.tlsSkipVerify, @@ -84,11 +79,3 @@ func (e *emailTypeNotifier) GetURL(c *cobra.Command, title string) (string, erro func (e *emailTypeNotifier) GetDelay() time.Duration { return e.delay } - -func (e *emailTypeNotifier) getSubject(_ *cobra.Command, title string) string { - if e.SubjectTag != "" { - return e.SubjectTag + " " + title - } - - return title -} diff --git a/pkg/notifications/gotify.go b/pkg/notifications/gotify.go index a8c9ac4..c36eb4b 100644 --- a/pkg/notifications/gotify.go +++ b/pkg/notifications/gotify.go @@ -19,11 +19,10 @@ type gotifyTypeNotifier struct { gotifyURL string gotifyAppToken string gotifyInsecureSkipVerify bool - logLevels []log.Level } -func newGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertibleNotifier { - flags := c.PersistentFlags() +func newGotifyNotifier(c *cobra.Command) t.ConvertibleNotifier { + flags := c.Flags() apiURL := getGotifyURL(flags) token := getGotifyToken(flags) @@ -34,7 +33,6 @@ func newGotifyNotifier(c *cobra.Command, levels []log.Level) t.ConvertibleNotifi gotifyURL: apiURL, gotifyAppToken: token, gotifyInsecureSkipVerify: skipVerify, - logLevels: levels, } return n @@ -62,7 +60,7 @@ func getGotifyURL(flags *pflag.FlagSet) string { return gotifyURL } -func (n *gotifyTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { +func (n *gotifyTypeNotifier) GetURL(c *cobra.Command) (string, error) { apiURL, err := url.Parse(n.gotifyURL) if err != nil { return "", err @@ -72,7 +70,6 @@ func (n *gotifyTypeNotifier) GetURL(c *cobra.Command, title string) (string, err Host: apiURL.Host, Path: apiURL.Path, DisableTLS: apiURL.Scheme == "http", - Title: title, Token: n.gotifyAppToken, } diff --git a/pkg/notifications/msteams.go b/pkg/notifications/msteams.go index be67d3b..cfca30e 100644 --- a/pkg/notifications/msteams.go +++ b/pkg/notifications/msteams.go @@ -15,13 +15,12 @@ const ( type msTeamsTypeNotifier struct { webHookURL string - levels []log.Level data bool } -func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { +func newMsTeamsNotifier(cmd *cobra.Command) t.ConvertibleNotifier { - flags := cmd.PersistentFlags() + flags := cmd.Flags() webHookURL, _ := flags.GetString("notification-msteams-hook") if len(webHookURL) <= 0 { @@ -30,7 +29,6 @@ func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Con withData, _ := flags.GetBool("notification-msteams-data") n := &msTeamsTypeNotifier{ - levels: acceptedLogLevels, webHookURL: webHookURL, data: withData, } @@ -38,7 +36,7 @@ func newMsTeamsNotifier(cmd *cobra.Command, acceptedLogLevels []log.Level) t.Con return n } -func (n *msTeamsTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { +func (n *msTeamsTypeNotifier) GetURL(c *cobra.Command) (string, error) { webhookURL, err := url.Parse(n.webHookURL) if err != nil { return "", err @@ -50,7 +48,6 @@ func (n *msTeamsTypeNotifier) GetURL(c *cobra.Command, title string) (string, er } config.Color = ColorHex - config.Title = title return config.GetURL().String(), nil } diff --git a/pkg/notifications/notifier.go b/pkg/notifications/notifier.go index fba5dc0..ff7b6b5 100644 --- a/pkg/notifications/notifier.go +++ b/pkg/notifications/notifier.go @@ -6,14 +6,13 @@ import ( "time" ty "github.com/containrrr/watchtower/pkg/types" - "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) // NewNotifier creates and returns a new Notifier, using global configuration. func NewNotifier(c *cobra.Command) ty.Notifier { - f := c.PersistentFlags() + f := c.Flags() level, _ := f.GetString("notifications-level") logLevel, err := log.ParseLevel(level) @@ -21,25 +20,19 @@ func NewNotifier(c *cobra.Command) ty.Notifier { log.Fatalf("Notifications invalid log level: %s", err.Error()) } - levels := slackrus.LevelThreshold(logLevel) - // slackrus does not allow log level TRACE, even though it's an accepted log level for logrus - if len(levels) == 0 { - log.Fatalf("Unsupported notification log level provided: %s", level) - } - reportTemplate, _ := f.GetBool("notification-report") stdout, _ := f.GetBool("notification-log-stdout") tplString, _ := f.GetString("notification-template") urls, _ := f.GetStringArray("notification-url") data := GetTemplateData(c) - urls, delay := AppendLegacyUrls(urls, c, data.Title) + urls, delay := AppendLegacyUrls(urls, c) - return newShoutrrrNotifier(tplString, levels, !reportTemplate, data, delay, stdout, urls...) + return createNotifier(urls, logLevel, tplString, !reportTemplate, data, stdout, delay) } // AppendLegacyUrls creates shoutrrr equivalent URLs from legacy notification flags -func AppendLegacyUrls(urls []string, cmd *cobra.Command, title string) ([]string, time.Duration) { +func AppendLegacyUrls(urls []string, cmd *cobra.Command) ([]string, time.Duration) { // Parse types and create notifiers. types, err := cmd.Flags().GetStringSlice("notifications") @@ -56,13 +49,13 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command, title string) ([]string switch t { case emailType: - legacyNotifier = newEmailNotifier(cmd, []log.Level{}) + legacyNotifier = newEmailNotifier(cmd) case slackType: - legacyNotifier = newSlackNotifier(cmd, []log.Level{}) + legacyNotifier = newSlackNotifier(cmd) case msTeamsType: - legacyNotifier = newMsTeamsNotifier(cmd, []log.Level{}) + legacyNotifier = newMsTeamsNotifier(cmd) case gotifyType: - legacyNotifier = newGotifyNotifier(cmd, []log.Level{}) + legacyNotifier = newGotifyNotifier(cmd) case shoutrrrType: continue default: @@ -71,7 +64,7 @@ func AppendLegacyUrls(urls []string, cmd *cobra.Command, title string) ([]string continue } - shoutrrrURL, err := legacyNotifier.GetURL(cmd, title) + shoutrrrURL, err := legacyNotifier.GetURL(cmd) if err != nil { log.Fatal("failed to create notification config: ", err) } diff --git a/pkg/notifications/notifier_test.go b/pkg/notifications/notifier_test.go index 1b004dc..96d513c 100644 --- a/pkg/notifications/notifier_test.go +++ b/pkg/notifications/notifier_test.go @@ -3,7 +3,6 @@ package notifications_test import ( "fmt" "net/url" - "os" "time" "github.com/containrrr/watchtower/cmd" @@ -147,11 +146,9 @@ var _ = Describe("notifications", func() { channel := "123456789" token := "abvsihdbau" color := notifications.ColorInt - data := notifications.GetTemplateData(command) - title := url.QueryEscape(data.Title) username := "containrrrbot" iconURL := "https://containrrr.dev/watchtower-sq180.png" - expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&title=%s&username=watchtower", token, channel, color, title) + expected := fmt.Sprintf("discord://%s@%s?color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&username=watchtower", token, channel, color) buildArgs := func(url string) []string { return []string{ "--notifications", @@ -172,7 +169,7 @@ var _ = Describe("notifications", func() { When("icon URL and username are specified", func() { It("should return the expected URL", func() { hookURL := fmt.Sprintf("https://%s/api/webhooks/%s/%s/slack", "discord.com", channel, token) - expectedOutput := fmt.Sprintf("discord://%s@%s?avatar=%s&color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&title=%s&username=%s", token, channel, url.QueryEscape(iconURL), color, title, username) + expectedOutput := fmt.Sprintf("discord://%s@%s?avatar=%s&color=0x%x&colordebug=0x0&colorerror=0x0&colorinfo=0x0&colorwarn=0x0&username=%s", token, channel, url.QueryEscape(iconURL), color, username) expectedDelay := time.Duration(7) * time.Second args := []string{ "--notifications", @@ -199,8 +196,6 @@ var _ = Describe("notifications", func() { tokenB := "BBBBBBBBB" tokenC := "123456789123456789123456" color := url.QueryEscape(notifications.ColorHex) - data := notifications.GetTemplateData(command) - title := url.QueryEscape(data.Title) iconURL := "https://containrrr.dev/watchtower-sq180.png" iconEmoji := "whale" @@ -208,7 +203,7 @@ var _ = Describe("notifications", func() { It("should return the expected URL", func() { hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) - expectedOutput := fmt.Sprintf("slack://hook:%s-%s-%s@webhook?botname=%s&color=%s&icon=%s&title=%s", tokenA, tokenB, tokenC, username, color, url.QueryEscape(iconURL), title) + expectedOutput := fmt.Sprintf("slack://hook:%s-%s-%s@webhook?botname=%s&color=%s&icon=%s", tokenA, tokenB, tokenC, username, color, url.QueryEscape(iconURL)) expectedDelay := time.Duration(7) * time.Second args := []string{ @@ -231,7 +226,7 @@ var _ = Describe("notifications", func() { When("icon emoji is specified", func() { It("should return the expected URL", func() { hookURL := fmt.Sprintf("https://hooks.slack.com/services/%s/%s/%s", tokenA, tokenB, tokenC) - expectedOutput := fmt.Sprintf("slack://hook:%s-%s-%s@webhook?botname=%s&color=%s&icon=%s&title=%s", tokenA, tokenB, tokenC, username, color, iconEmoji, title) + expectedOutput := fmt.Sprintf("slack://hook:%s-%s-%s@webhook?botname=%s&color=%s&icon=%s", tokenA, tokenB, tokenC, username, color, iconEmoji) args := []string{ "--notifications", @@ -258,10 +253,8 @@ var _ = Describe("notifications", func() { token := "aaa" host := "shoutrrr.local" - data := notifications.GetTemplateData(command) - title := url.QueryEscape(data.Title) - expectedOutput := fmt.Sprintf("gotify://%s/%s?title=%s", host, token, title) + expectedOutput := fmt.Sprintf("gotify://%s/%s?title=", host, token) args := []string{ "--notifications", @@ -287,11 +280,9 @@ var _ = Describe("notifications", func() { tokenB := "33333333012222222222333333333344" tokenC := "44444444-4444-4444-8444-cccccccccccc" color := url.QueryEscape(notifications.ColorHex) - data := notifications.GetTemplateData(command) - title := url.QueryEscape(data.Title) hookURL := fmt.Sprintf("https://outlook.office.com/webhook/%s/IncomingWebhook/%s/%s", tokenA, tokenB, tokenC) - expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s&title=%s", tokenA, tokenB, tokenC, color, title) + expectedOutput := fmt.Sprintf("teams://%s/%s/%s?color=%s", tokenA, tokenB, tokenC, color) args := []string{ "--notifications", @@ -362,18 +353,12 @@ var _ = Describe("notifications", func() { }) func buildExpectedURL(username string, password string, host string, port int, from string, to string, auth string) string { - hostname, err := os.Hostname() - Expect(err).NotTo(HaveOccurred()) - - subject := fmt.Sprintf("Watchtower updates on %s", hostname) - - var template = "smtp://%s:%s@%s:%d/?auth=%s&fromaddress=%s&fromname=Watchtower&subject=%s&toaddresses=%s" + var template = "smtp://%s:%s@%s:%d/?auth=%s&fromaddress=%s&fromname=Watchtower&subject=&toaddresses=%s" return fmt.Sprintf(template, url.QueryEscape(username), url.QueryEscape(password), host, port, auth, url.QueryEscape(from), - url.QueryEscape(subject), url.QueryEscape(to)) } @@ -385,8 +370,7 @@ func testURL(args []string, expectedURL string, expectedDelay time.Duration) { Expect(command.ParseFlags(args)).To(Succeed()) - data := notifications.GetTemplateData(command) - urls, delay := notifications.AppendLegacyUrls([]string{}, command, data.Title) + urls, delay := notifications.AppendLegacyUrls([]string{}, command) Expect(urls).To(ContainElement(expectedURL)) Expect(delay).To(Equal(expectedDelay)) diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index e816cf7..47141e8 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -32,13 +32,15 @@ type shoutrrrTypeNotifier struct { Urls []string Router router entries []*log.Entry - logLevels []log.Level + logLevel log.Level template *template.Template messages chan string done chan bool legacyTemplate bool params *types.Params data StaticData + receiving bool + delay time.Duration } // GetScheme returns the scheme part of a Shoutrrr URL @@ -59,18 +61,24 @@ func (n *shoutrrrTypeNotifier) GetNames() []string { return names } -func newShoutrrrNotifier(tplString string, levels []log.Level, legacy bool, data StaticData, delay time.Duration, stdout bool, urls ...string) t.Notifier { - - notifier := createNotifier(urls, levels, tplString, legacy, data, stdout) - log.AddHook(notifier) - - // Do the sending in a separate goroutine so we don't block the main process. - go sendNotifications(notifier, delay) - - return notifier +// GetNames returns a list of URLs for notification services that has been added +func (n *shoutrrrTypeNotifier) GetURLs() []string { + return n.Urls } -func createNotifier(urls []string, levels []log.Level, tplString string, legacy bool, data StaticData, stdout bool) *shoutrrrTypeNotifier { +// AddLogHook adds the notifier as a receiver of log messages and starts a go func for processing them +func (n *shoutrrrTypeNotifier) AddLogHook() { + if n.receiving { + return + } + n.receiving = true + log.AddHook(n) + + // Do the sending in a separate goroutine so we don't block the main process. + go sendNotifications(n) +} + +func createNotifier(urls []string, level log.Level, tplString string, legacy bool, data StaticData, stdout bool, delay time.Duration) *shoutrrrTypeNotifier { tpl, err := getShoutrrrTemplate(tplString, legacy) if err != nil { log.Errorf("Could not use configured notification template: %s. Using default template", err) @@ -97,7 +105,7 @@ func createNotifier(urls []string, levels []log.Level, tplString string, legacy Router: r, messages: make(chan string, 1), done: make(chan bool), - logLevels: levels, + logLevel: level, template: tpl, legacyTemplate: legacy, data: data, @@ -105,9 +113,9 @@ func createNotifier(urls []string, levels []log.Level, tplString string, legacy } } -func sendNotifications(n *shoutrrrTypeNotifier, delay time.Duration) { +func sendNotifications(n *shoutrrrTypeNotifier) { for msg := range n.messages { - time.Sleep(delay) + time.Sleep(n.delay) errs := n.Router.Send(msg, n.params) for i, err := range errs { @@ -180,7 +188,7 @@ func (n *shoutrrrTypeNotifier) Close() { // Levels return what log levels trigger notifications func (n *shoutrrrTypeNotifier) Levels() []log.Level { - return n.logLevels + return log.AllLevels[:n.logLevel+1] } // Fire is the hook that logrus calls on a new log message diff --git a/pkg/notifications/shoutrrr_test.go b/pkg/notifications/shoutrrr_test.go index 0a10eb1..703958b 100644 --- a/pkg/notifications/shoutrrr_test.go +++ b/pkg/notifications/shoutrrr_test.go @@ -14,7 +14,7 @@ import ( "github.com/spf13/cobra" ) -var allButTrace = logrus.AllLevels[0:logrus.TraceLevel] +var allButTrace = logrus.DebugLevel var legacyMockData = Data{ Entries: []*logrus.Entry{ @@ -83,6 +83,30 @@ updt1 (mock/updt1:latest): Updated }) }) + When("adding a log hook", func() { + When("it has not been added before", func() { + It("should be added to the logrus hooks", func() { + level := logrus.TraceLevel + hooksBefore := len(logrus.StandardLogger().Hooks[level]) + shoutrrr := createNotifier([]string{}, level, "", true, StaticData{}, false, time.Second) + shoutrrr.AddLogHook() + hooksAfter := len(logrus.StandardLogger().Hooks[level]) + Expect(hooksAfter).To(BeNumerically(">", hooksBefore)) + }) + }) + When("it is being added a second time", func() { + It("should not be added to the logrus hooks", func() { + level := logrus.TraceLevel + shoutrrr := createNotifier([]string{}, level, "", true, StaticData{}, false, time.Second) + shoutrrr.AddLogHook() + hooksBefore := len(logrus.StandardLogger().Hooks[level]) + shoutrrr.AddLogHook() + hooksAfter := len(logrus.StandardLogger().Hooks[level]) + Expect(hooksAfter).To(Equal(hooksBefore)) + }) + }) + }) + When("using legacy templates", func() { When("no custom template is provided", func() { @@ -90,7 +114,7 @@ updt1 (mock/updt1:latest): Updated cmd := new(cobra.Command) flags.RegisterNotificationFlags(cmd) - shoutrrr := createNotifier([]string{}, logrus.AllLevels, "", true, StaticData{}, false) + shoutrrr := createNotifier([]string{}, logrus.TraceLevel, "", true, StaticData{}, false, time.Second) entries := []*logrus.Entry{ { @@ -245,7 +269,7 @@ Turns out everything is on fire When("batching notifications", func() { When("no messages are queued", func() { It("should not send any notification", func() { - shoutrrr := newShoutrrrNotifier("", allButTrace, true, StaticData{}, time.Duration(0), false, "logger://") + shoutrrr := createNotifier([]string{"logger://"}, allButTrace, "", true, StaticData{}, false, time.Duration(0)) shoutrrr.StartNotification() shoutrrr.SendNotification(nil) Consistently(logBuffer).ShouldNot(gbytes.Say(`Shoutrrr:`)) @@ -253,7 +277,8 @@ Turns out everything is on fire }) When("at least one message is queued", func() { It("should send a notification", func() { - shoutrrr := newShoutrrrNotifier("", allButTrace, true, StaticData{}, time.Duration(0), false, "logger://") + shoutrrr := createNotifier([]string{"logger://"}, allButTrace, "", true, StaticData{}, false, time.Duration(0)) + shoutrrr.AddLogHook() shoutrrr.StartNotification() logrus.Info("This log message is sponsored by ContainrrrVPN") shoutrrr.SendNotification(nil) @@ -267,7 +292,7 @@ Turns out everything is on fire shoutrrr := createNotifier([]string{"logger://"}, allButTrace, "", true, StaticData{ Host: "test.host", Title: "", - }, false) + }, false, time.Second) _, found := shoutrrr.params.Title() Expect(found).ToNot(BeTrue()) }) @@ -321,13 +346,14 @@ func sendNotificationsWithBlockingRouter(legacy bool) (*shoutrrrTypeNotifier, *b Router: router, legacyTemplate: legacy, params: &types.Params{}, + delay: time.Duration(0), } entry := &logrus.Entry{ Message: "foo bar", } - go sendNotifications(shoutrrr, time.Duration(0)) + go sendNotifications(shoutrrr) shoutrrr.StartNotification() _ = shoutrrr.Fire(entry) diff --git a/pkg/notifications/slack.go b/pkg/notifications/slack.go index 34d21a3..9118527 100644 --- a/pkg/notifications/slack.go +++ b/pkg/notifications/slack.go @@ -6,7 +6,6 @@ import ( shoutrrrDisco "github.com/containrrr/shoutrrr/pkg/services/discord" shoutrrrSlack "github.com/containrrr/shoutrrr/pkg/services/slack" t "github.com/containrrr/watchtower/pkg/types" - "github.com/johntdyer/slackrus" log "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -16,11 +15,15 @@ const ( ) type slackTypeNotifier struct { - slackrus.SlackrusHook + HookURL string + Username string + Channel string + IconEmoji string + IconURL string } -func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.ConvertibleNotifier { - flags := c.PersistentFlags() +func newSlackNotifier(c *cobra.Command) t.ConvertibleNotifier { + flags := c.Flags() hookURL, _ := flags.GetString("notification-slack-hook-url") userName, _ := flags.GetString("notification-slack-identifier") @@ -29,19 +32,16 @@ func newSlackNotifier(c *cobra.Command, acceptedLogLevels []log.Level) t.Convert iconURL, _ := flags.GetString("notification-slack-icon-url") n := &slackTypeNotifier{ - SlackrusHook: slackrus.SlackrusHook{ - HookURL: hookURL, - Username: userName, - Channel: channel, - IconEmoji: emoji, - IconURL: iconURL, - AcceptedLevels: acceptedLogLevels, - }, + HookURL: hookURL, + Username: userName, + Channel: channel, + IconEmoji: emoji, + IconURL: iconURL, } return n } -func (s *slackTypeNotifier) GetURL(c *cobra.Command, title string) (string, error) { +func (s *slackTypeNotifier) GetURL(c *cobra.Command) (string, error) { trimmedURL := strings.TrimRight(s.HookURL, "/") trimmedURL = strings.TrimPrefix(trimmedURL, "https://") parts := strings.Split(trimmedURL, "/") @@ -52,7 +52,6 @@ func (s *slackTypeNotifier) GetURL(c *cobra.Command, title string) (string, erro WebhookID: parts[len(parts)-3], Token: parts[len(parts)-2], Color: ColorInt, - Title: title, SplitLines: true, Username: s.Username, } @@ -70,7 +69,6 @@ func (s *slackTypeNotifier) GetURL(c *cobra.Command, title string) (string, erro BotName: s.Username, Color: ColorHex, Channel: "webhook", - Title: title, } if s.IconURL != "" { diff --git a/pkg/types/convertible_notifier.go b/pkg/types/convertible_notifier.go index 37d8872..82d7b7b 100644 --- a/pkg/types/convertible_notifier.go +++ b/pkg/types/convertible_notifier.go @@ -1,16 +1,17 @@ package types import ( - "github.com/spf13/cobra" "time" + + "github.com/spf13/cobra" ) // ConvertibleNotifier is a notifier capable of creating a shoutrrr URL type ConvertibleNotifier interface { - GetURL(c *cobra.Command, title string) (string, error) + GetURL(c *cobra.Command) (string, error) } // DelayNotifier is a notifier that might need to be delayed before sending notifications type DelayNotifier interface { GetDelay() time.Duration -} \ No newline at end of file +} diff --git a/pkg/types/notifier.go b/pkg/types/notifier.go index ccb2cb6..478a4c4 100644 --- a/pkg/types/notifier.go +++ b/pkg/types/notifier.go @@ -4,6 +4,8 @@ package types type Notifier interface { StartNotification() SendNotification(Report) + AddLogHook() GetNames() []string + GetURLs() []string Close() } From d1e6fa885f3798fd34cd294a6f6b573062894a68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Nov 2022 10:46:59 +0100 Subject: [PATCH 230/389] chore(deps): bump github.com/onsi/gomega from 1.22.1 to 1.23.0 (#1451) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: nils måsén --- .github/workflows/pull-request.yml | 1 + go.mod | 8 ++++---- go.sum | 19 ++++++++++--------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 88b2b0f..a99bef1 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -22,6 +22,7 @@ jobs: - uses: dominikh/staticcheck-action@a3513ade2e5cb8075ba1c1ed1890a989cf0f2aa0 #v1.2.0 with: version: "2022.1.1" + install-go: "false" # StaticCheck uses go v1.17 which does not support `any` test: name: Test strategy: diff --git a/go.mod b/go.mod index 4ae46c2..008a3e6 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v20.10.20+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.22.1 + github.com/onsi/gomega v1.23.0 github.com/prometheus/client_golang v1.13.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.13.0 github.com/stretchr/testify v1.8.1 - golang.org/x/net v0.0.0-20220722155237-a158d28d115b + golang.org/x/net v0.1.0 ) require ( @@ -32,7 +32,7 @@ require ( github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.8 // indirect + github.com/google/go-cmp v0.5.9 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/magiconair/properties v1.8.6 // indirect @@ -57,7 +57,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect - golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect + golang.org/x/sys v0.1.0 // indirect golang.org/x/text v0.4.0 golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect google.golang.org/protobuf v1.28.1 // indirect diff --git a/go.sum b/go.sum index 61a82c1..4ab6bd8 100644 --- a/go.sum +++ b/go.sum @@ -119,6 +119,7 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -166,8 +167,8 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -266,11 +267,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.3.0 h1:kUMoxMoQG3ogk/QWyKh3zibV7BKZ+xBpWil1cTylVqc= +github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.22.1 h1:pY8O4lBfsHKZHM/6nrxkhVPUznOlIu3quZcKP/M20KI= -github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= +github.com/onsi/gomega v1.23.0 h1:/oxKu9c2HVap+F3PfKort2Hw5DEU+HGlW8n+tguWsys= +github.com/onsi/gomega v1.23.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -469,8 +470,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -552,8 +553,8 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 5ddca29f055e33e0a8a855c36ab27092d2c2c789 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Nov 2022 10:51:56 +0100 Subject: [PATCH 231/389] chore(deps): bump github.com/docker/docker from 20.10.19+incompatible to 20.10.21+incompatible (#1450) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 008a3e6..a3e13e7 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.6.1 github.com/docker/cli v20.10.20+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v20.10.20+incompatible + github.com/docker/docker v20.10.21+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.23.0 diff --git a/go.sum b/go.sum index 4ab6bd8..0c8a687 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,8 @@ github.com/docker/cli v20.10.20+incompatible h1:lWQbHSHUFs7KraSN2jOJK7zbMS2jNCHI github.com/docker/cli v20.10.20+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.20+incompatible h1:kH9tx6XO+359d+iAkumyKDc5Q1kOwPuAUaeri48nD6E= -github.com/docker/docker v20.10.20+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.21+incompatible h1:UTLdBmHk3bEY+w8qeO5KttOhy6OmXWsl/FEet9Uswog= +github.com/docker/docker v20.10.21+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 216d8df0e7679f785eecda54fe072ee4c315fb2b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Nov 2022 10:52:31 +0100 Subject: [PATCH 232/389] chore(deps): bump github.com/docker/cli from 20.10.19+incompatible to 20.10.21+incompatible (#1452) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a3e13e7..87875bd 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.6.1 - github.com/docker/cli v20.10.20+incompatible + github.com/docker/cli v20.10.21+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.21+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index 0c8a687..c57ef97 100644 --- a/go.sum +++ b/go.sum @@ -81,8 +81,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/cli v20.10.20+incompatible h1:lWQbHSHUFs7KraSN2jOJK7zbMS2jNCHI4mt4xUFUVQ4= -github.com/docker/cli v20.10.20+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.21+incompatible h1:qVkgyYUnOLQ98LtXBrwd/duVqPT2X4SHndOuGsfwyhU= +github.com/docker/cli v20.10.21+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.21+incompatible h1:UTLdBmHk3bEY+w8qeO5KttOhy6OmXWsl/FEet9Uswog= From 5134e159e2385f3e7b076ecff15ca725586f9ea4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 5 Nov 2022 13:34:12 +0100 Subject: [PATCH 233/389] ci: replace golint with staticcheck --- .github/workflows/release.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4f56d65..bf0d61d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,12 +22,10 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.18.x - - name: Install linter - run: | - go get -u golang.org/x/lint/golint - - name: Lint files - run: | - golint -set_exit_status ./... + - uses: dominikh/staticcheck-action@a3513ade2e5cb8075ba1c1ed1890a989cf0f2aa0 #v1.2.0 + with: + version: "2022.1.1" + install-go: "false" # StaticCheck uses go v1.17 which does not support `any` test: name: Test From ae8c36f04fedfd09faf53b72fa916a9dbd760f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 5 Nov 2022 19:06:52 +0100 Subject: [PATCH 234/389] fix: explicitly accept non-commands as root args (#1458) --- cmd/root.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/root.go b/cmd/root.go index 838465b..8e20b95 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -54,6 +54,7 @@ func NewRootCommand() *cobra.Command { `, Run: Run, PreRun: PreRun, + Args: cobra.ArbitraryArgs, } } From 403c600b9914142b770d9a4dd8de0df2a2c36970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 7 Nov 2022 07:56:33 +0100 Subject: [PATCH 235/389] fix(docs): use correct modern css color syntax (#1461) --- docs/stylesheets/theme.css | 62 +++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/stylesheets/theme.css b/docs/stylesheets/theme.css index fb5e675..e552129 100644 --- a/docs/stylesheets/theme.css +++ b/docs/stylesheets/theme.css @@ -14,56 +14,56 @@ --md-hue: 199; /* Primary and accent */ - --md-primary-fg-color: hsla(199deg 27% 35% 100%); - --md-primary-fg-color--link: hsla(199deg 45% 65% 100%); - --md-primary-fg-color--light: hsla(198deg 19% 73% 100%); - --md-primary-fg-color--dark: hsla(194deg 100% 13% 100%); - --md-accent-fg-color: hsla(194deg 45% 50% 100%); - --md-accent-fg-color--transparent: hsla(194deg 45% 50% 6.3%); + --md-primary-fg-color: hsl(199deg 27% 35% / 100%); + --md-primary-fg-color--link: hsl(199deg 45% 65% / 100%); + --md-primary-fg-color--light: hsl(198deg 19% 73% / 100%); + --md-primary-fg-color--dark: hsl(194deg 100% 13% / 100%); + --md-accent-fg-color: hsl(194deg 45% 50% / 100%); + --md-accent-fg-color--transparent: hsl(194deg 45% 50% / 6.3%); /* Default */ - --md-default-fg-color: hsla(var(--md-hue) 75% 95% 100%); - --md-default-fg-color--light: hsla(var(--md-hue) 75% 90% 62%); - --md-default-fg-color--lighter: hsla(var(--md-hue) 75% 90% 32%); - --md-default-fg-color--lightest: hsla(var(--md-hue) 75% 90% 12%); - --md-default-bg-color: hsla(var(--md-hue) 15% 21% 100%); - --md-default-bg-color--light: hsla(var(--md-hue) 15% 21% 54%); - --md-default-bg-color--lighter: hsla(var(--md-hue) 15% 21% 26%); - --md-default-bg-color--lightest: hsla(var(--md-hue) 15% 21% 7%); + --md-default-fg-color: hsl(var(--md-hue) 75% 95% / 100%); + --md-default-fg-color--light: hsl(var(--md-hue) 75% 90% / 62%); + --md-default-fg-color--lighter: hsl(var(--md-hue) 75% 90% / 32%); + --md-default-fg-color--lightest: hsl(var(--md-hue) 75% 90% / 12%); + --md-default-bg-color: hsl(var(--md-hue) 15% 21% / 100%); + --md-default-bg-color--light: hsl(var(--md-hue) 15% 21% / 54%); + --md-default-bg-color--lighter: hsl(var(--md-hue) 15% 21% / 26%); + --md-default-bg-color--lightest: hsl(var(--md-hue) 15% 21% / 7%); /* Code */ - --md-code-fg-color: hsla(var(--md-hue) 18% 86% 100%); - --md-code-bg-color: hsla(var(--md-hue) 15% 15% 100%); - --md-code-hl-color: hsla(218deg 100% 63% 15%); - --md-code-hl-number-color: hsla(346deg 74% 63% 100%); - --md-code-hl-special-color: hsla(320deg 83% 66% 100%); - --md-code-hl-function-color: hsla(271deg 57% 65% 100%); - --md-code-hl-constant-color: hsla(230deg 62% 70% 100%); - --md-code-hl-keyword-color: hsla(199deg 33% 64% 100%); - --md-code-hl-string-color: hsla( 50deg 34% 74% 100%); + --md-code-fg-color: hsl(var(--md-hue) 18% 86% / 100%); + --md-code-bg-color: hsl(var(--md-hue) 15% 15% / 100%); + --md-code-hl-color: hsl(218deg 100% 63% / 15%); + --md-code-hl-number-color: hsl(346deg 74% 63% / 100%); + --md-code-hl-special-color: hsl(320deg 83% 66% / 100%); + --md-code-hl-function-color: hsl(271deg 57% 65% / 100%); + --md-code-hl-constant-color: hsl(230deg 62% 70% / 100%); + --md-code-hl-keyword-color: hsl(199deg 33% 64% / 100%); + --md-code-hl-string-color: hsl( 50deg 34% 74% / 100%); --md-code-hl-name-color: var(--md-code-fg-color); --md-code-hl-operator-color: var(--md-default-fg-color--light); --md-code-hl-punctuation-color: var(--md-default-fg-color--light); --md-code-hl-comment-color: var(--md-default-fg-color--light); --md-code-hl-generic-color: var(--md-default-fg-color--light); - --md-code-hl-variable-color: hsla(241deg 22% 60% 100%); + --md-code-hl-variable-color: hsl(241deg 22% 60% / 100%); /* Typeset */ --md-typeset-color: var(--md-default-fg-color); --md-typeset-a-color: var(--md-primary-fg-color--link); - --md-typeset-mark-color: hsla(218deg 100% 63% 30%); - --md-typeset-kbd-color: hsla(var(--md-hue) 15% 94% 12%); - --md-typeset-kbd-accent-color: hsla(var(--md-hue) 15% 94% 20%); - --md-typeset-kbd-border-color: hsla(var(--md-hue) 15% 14% 100%); - --md-typeset-table-color: hsla(var(--md-hue) 75% 95% 12%); + --md-typeset-mark-color: hsl(218deg 100% 63% / 30%); + --md-typeset-kbd-color: hsl(var(--md-hue) 15% 94% / 12%); + --md-typeset-kbd-accent-color: hsl(var(--md-hue) 15% 94% / 20%); + --md-typeset-kbd-border-color: hsl(var(--md-hue) 15% 14% / 100%); + --md-typeset-table-color: hsl(var(--md-hue) 75% 95% / 12%); /* Admonition */ --md-admonition-fg-color: var(--md-default-fg-color); --md-admonition-bg-color: var(--md-default-bg-color); /* Footer */ - --md-footer-bg-color: hsla(var(--md-hue) 15% 12% 87%); - --md-footer-bg-color--dark: hsla(var(--md-hue) 15% 10% 100%); + --md-footer-bg-color: hsl(var(--md-hue) 15% 12% / 87%); + --md-footer-bg-color--dark: hsl(var(--md-hue) 15% 10% / 100%); /* Shadows */ --md-shadow-z1: From 1e6b09550b006fd16e10065044cb9544ac025a1d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Nov 2022 13:30:37 +0100 Subject: [PATCH 236/389] chore(deps): bump github.com/onsi/gomega from 1.23.0 to 1.24.0 (#1462) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 87875bd..8299fdf 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v20.10.21+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.23.0 + github.com/onsi/gomega v1.24.0 github.com/prometheus/client_golang v1.13.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 diff --git a/go.sum b/go.sum index c57ef97..89fb508 100644 --- a/go.sum +++ b/go.sum @@ -270,8 +270,8 @@ github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042 github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.23.0 h1:/oxKu9c2HVap+F3PfKort2Hw5DEU+HGlW8n+tguWsys= -github.com/onsi/gomega v1.23.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= +github.com/onsi/gomega v1.24.0 h1:+0glovB9Jd6z3VR+ScSwQqXVTIfJcGA9UBM8yzQxhqg= +github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From e8df2b2ddf08ded987d9d1419299c7632b3c5ce1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Nov 2022 13:44:28 +0100 Subject: [PATCH 237/389] chore(deps): bump github.com/prometheus/client_golang from 1.13.0 to 1.14.0 (#1467) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 8299fdf..5de8083 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.24.0 - github.com/prometheus/client_golang v1.13.0 + github.com/prometheus/client_golang v1.14.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.6.0 @@ -49,7 +49,7 @@ require ( github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect github.com/spf13/afero v1.8.2 // indirect diff --git a/go.sum b/go.sum index 89fb508..838fc2d 100644 --- a/go.sum +++ b/go.sum @@ -295,13 +295,14 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= -github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= +github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= From 987f2bb5fa1dfe796642b24f8cd88e48624cdad9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Nov 2022 13:52:55 +0100 Subject: [PATCH 238/389] chore(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#1464) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5de8083..4726959 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/prometheus/client_golang v1.14.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 - github.com/spf13/cobra v1.6.0 + github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.13.0 github.com/stretchr/testify v1.8.1 diff --git a/go.sum b/go.sum index 838fc2d..d4ae3a5 100644 --- a/go.sum +++ b/go.sum @@ -345,8 +345,8 @@ github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= -github.com/spf13/cobra v1.6.0 h1:42a0n6jwCot1pUmomAp4T7DeMD+20LFv4Q54pxLf2LI= -github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= From d744c3488667d6cc4bb8258bb4b351bfd80e1602 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Nov 2022 14:00:06 +0100 Subject: [PATCH 239/389] chore(deps): bump github.com/spf13/viper from 1.13.0 to 1.14.0 (#1465) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 8 ++++---- go.sum | 18 +++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index 4726959..8166f45 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.13.0 + github.com/spf13/viper v1.14.0 github.com/stretchr/testify v1.8.1 golang.org/x/net v0.1.0 ) @@ -29,7 +29,7 @@ require ( github.com/docker/docker-credential-helpers v0.6.1 // indirect github.com/docker/go-units v0.4.0 // indirect github.com/fatih/color v1.13.0 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.9 // indirect @@ -52,14 +52,14 @@ require ( github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect - github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect golang.org/x/sys v0.1.0 // indirect golang.org/x/text v0.4.0 - golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect + golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/go.sum b/go.sum index d4ae3a5..f0930e7 100644 --- a/go.sum +++ b/go.sum @@ -105,8 +105,8 @@ github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYF github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -338,8 +338,8 @@ github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4k github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= @@ -354,8 +354,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= -github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= -github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= +github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= +github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -552,8 +552,8 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -571,8 +571,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e h1:EHBhcS0mlXEAVwNyO2dLfjToGsyY4j24pTs2ScHnX7s= -golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858 h1:Dpdu/EMxGMFgq0CeYMh4fazTD2vtlZRYE7wyynxJb9U= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= From d5d711bd14d95b5f52a31d45726e04fb3b90010a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Nov 2022 21:51:56 +0100 Subject: [PATCH 240/389] chore(deps): bump alpine from 3.16.2 to 3.17.0 in /dockerfiles (#1484) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dockerfiles/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 2d5a181..590e930 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM alpine:3.16.2 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.17.0 as alpine RUN apk add --no-cache \ ca-certificates \ From a4d00bfd7589d45c8e3bf42d8d6d2dc0bbf133d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 6 Dec 2022 16:28:20 +0100 Subject: [PATCH 241/389] test: refactor/simplify container mock builders (#1495) --- pkg/container/client_test.go | 6 +- pkg/container/container_mock_test.go | 66 ++++++++++++++ pkg/container/container_test.go | 124 +++++++-------------------- 3 files changed, 101 insertions(+), 95 deletions(-) create mode 100644 pkg/container/container_mock_test.go diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 02b31eb..6ccc93c 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -33,8 +33,8 @@ var _ = Describe("the client", func() { mockServer.Close() }) Describe("WarnOnHeadPullFailed", func() { - containerUnknown := *mockContainerWithImageName("unknown.repo/prefix/imagename:latest") - containerKnown := *mockContainerWithImageName("docker.io/prefix/imagename:latest") + containerUnknown := *MockContainer(WithImageName("unknown.repo/prefix/imagename:latest")) + containerKnown := *MockContainer(WithImageName("docker.io/prefix/imagename:latest")) When(`warn on head failure is set to "always"`, func() { c := dockerClient{ClientOptions: ClientOptions{WarnOnHeadFailed: WarnAlways}} @@ -64,7 +64,7 @@ var _ = Describe("the client", func() { When("the image consist of a pinned hash", func() { It("should gracefully fail with a useful message", func() { c := dockerClient{} - pinnedContainer := *mockContainerWithImageName("sha256:fa5269854a5e615e51a72b17ad3fd1e01268f278a6684c8ed3c5f0cdce3f230b") + pinnedContainer := *MockContainer(WithImageName("sha256:fa5269854a5e615e51a72b17ad3fd1e01268f278a6684c8ed3c5f0cdce3f230b")) c.PullImage(context.Background(), pinnedContainer) }) }) diff --git a/pkg/container/container_mock_test.go b/pkg/container/container_mock_test.go new file mode 100644 index 0000000..96a7834 --- /dev/null +++ b/pkg/container/container_mock_test.go @@ -0,0 +1,66 @@ +package container + +import ( + "github.com/docker/docker/api/types" + dockerContainer "github.com/docker/docker/api/types/container" + "github.com/docker/go-connections/nat" +) + +type MockContainerUpdate func(*types.ContainerJSON, *types.ImageInspect) + +func MockContainer(updates ...MockContainerUpdate) *Container { + containerInfo := types.ContainerJSON{ + ContainerJSONBase: &types.ContainerJSONBase{ + ID: "container_id", + Image: "image", + Name: "test-containrrr", + HostConfig: &dockerContainer.HostConfig{}, + }, + Config: &dockerContainer.Config{ + Labels: map[string]string{}, + }, + } + image := types.ImageInspect{ + ID: "image_id", + } + + for _, update := range updates { + update(&containerInfo, &image) + } + return NewContainer(&containerInfo, &image) +} + +func WithPortBindings(portBindingSources ...string) MockContainerUpdate { + return func(c *types.ContainerJSON, i *types.ImageInspect) { + portBindings := nat.PortMap{} + for _, pbs := range portBindingSources { + portBindings[nat.Port(pbs)] = []nat.PortBinding{} + } + c.HostConfig.PortBindings = portBindings + } +} + +func WithImageName(name string) MockContainerUpdate { + return func(c *types.ContainerJSON, i *types.ImageInspect) { + c.Config.Image = name + i.RepoTags = append(i.RepoTags, name) + } +} + +func WithLinks(links []string) MockContainerUpdate { + return func(c *types.ContainerJSON, i *types.ImageInspect) { + c.HostConfig.Links = links + } +} + +func WithLabels(labels map[string]string) MockContainerUpdate { + return func(c *types.ContainerJSON, i *types.ImageInspect) { + c.Config.Labels = labels + } +} + +func WithContainerState(state types.ContainerState) MockContainerUpdate { + return func(cnt *types.ContainerJSON, img *types.ImageInspect) { + cnt.State = &state + } +} diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 6cd5c86..e75871b 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -1,8 +1,6 @@ package container import ( - "github.com/docker/docker/api/types" - "github.com/docker/docker/api/types/container" "github.com/docker/go-connections/nat" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -12,7 +10,7 @@ var _ = Describe("the container", func() { Describe("VerifyConfiguration", func() { When("verifying a container with no image info", func() { It("should return an error", func() { - c := mockContainerWithPortBindings() + c := MockContainer(WithPortBindings()) c.imageInfo = nil err := c.VerifyConfiguration() Expect(err).To(Equal(errorNoImageInfo)) @@ -20,7 +18,7 @@ var _ = Describe("the container", func() { }) When("verifying a container with no container info", func() { It("should return an error", func() { - c := mockContainerWithPortBindings() + c := MockContainer(WithPortBindings()) c.containerInfo = nil err := c.VerifyConfiguration() Expect(err).To(Equal(errorNoContainerInfo)) @@ -28,7 +26,7 @@ var _ = Describe("the container", func() { }) When("verifying a container with no config", func() { It("should return an error", func() { - c := mockContainerWithPortBindings() + c := MockContainer(WithPortBindings()) c.containerInfo.Config = nil err := c.VerifyConfiguration() Expect(err).To(Equal(errorInvalidConfig)) @@ -36,7 +34,7 @@ var _ = Describe("the container", func() { }) When("verifying a container with no host config", func() { It("should return an error", func() { - c := mockContainerWithPortBindings() + c := MockContainer(WithPortBindings()) c.containerInfo.HostConfig = nil err := c.VerifyConfiguration() Expect(err).To(Equal(errorInvalidConfig)) @@ -44,14 +42,14 @@ var _ = Describe("the container", func() { }) When("verifying a container with no port bindings", func() { It("should not return an error", func() { - c := mockContainerWithPortBindings() + c := MockContainer(WithPortBindings()) err := c.VerifyConfiguration() Expect(err).ToNot(HaveOccurred()) }) }) When("verifying a container with port bindings, but no exposed ports", func() { It("should make the config compatible with updating", func() { - c := mockContainerWithPortBindings("80/tcp") + c := MockContainer(WithPortBindings("80/tcp")) c.containerInfo.Config.ExposedPorts = nil Expect(c.VerifyConfiguration()).To(Succeed()) @@ -61,7 +59,7 @@ var _ = Describe("the container", func() { }) When("verifying a container with port bindings and exposed ports is non-nil", func() { It("should return an error", func() { - c := mockContainerWithPortBindings("80/tcp") + c := MockContainer(WithPortBindings("80/tcp")) c.containerInfo.Config.ExposedPorts = map[nat.Port]struct{}{"80/tcp": {}} err := c.VerifyConfiguration() Expect(err).ToNot(HaveOccurred()) @@ -71,10 +69,10 @@ var _ = Describe("the container", func() { When("asked for metadata", func() { var c *Container BeforeEach(func() { - c = mockContainerWithLabels(map[string]string{ + c = MockContainer(WithLabels(map[string]string{ "com.centurylinklabs.watchtower.enable": "true", "com.centurylinklabs.watchtower": "true", - }) + })) }) It("should return its name on calls to .Name()", func() { name := c.Name() @@ -91,36 +89,28 @@ var _ = Describe("the container", func() { enabled, exists := c.Enabled() Expect(enabled).To(BeTrue()) - Expect(enabled).NotTo(BeFalse()) Expect(exists).To(BeTrue()) - Expect(exists).NotTo(BeFalse()) }) It("should return false, true if present but not true on calls to .Enabled()", func() { - c = mockContainerWithLabels(map[string]string{"com.centurylinklabs.watchtower.enable": "false"}) + c = MockContainer(WithLabels(map[string]string{"com.centurylinklabs.watchtower.enable": "false"})) enabled, exists := c.Enabled() Expect(enabled).To(BeFalse()) - Expect(enabled).NotTo(BeTrue()) Expect(exists).To(BeTrue()) - Expect(exists).NotTo(BeFalse()) }) It("should return false, false if not present on calls to .Enabled()", func() { - c = mockContainerWithLabels(map[string]string{"lol": "false"}) + c = MockContainer(WithLabels(map[string]string{"lol": "false"})) enabled, exists := c.Enabled() Expect(enabled).To(BeFalse()) - Expect(enabled).NotTo(BeTrue()) Expect(exists).To(BeFalse()) - Expect(exists).NotTo(BeTrue()) }) It("should return false, false if present but not parsable .Enabled()", func() { - c = mockContainerWithLabels(map[string]string{"com.centurylinklabs.watchtower.enable": "falsy"}) + c = MockContainer(WithLabels(map[string]string{"com.centurylinklabs.watchtower.enable": "falsy"})) enabled, exists := c.Enabled() Expect(enabled).To(BeFalse()) - Expect(enabled).NotTo(BeTrue()) Expect(exists).To(BeFalse()) - Expect(exists).NotTo(BeTrue()) }) When("checking if its a watchtower instance", func() { It("should return true if the label is set to true", func() { @@ -128,31 +118,31 @@ var _ = Describe("the container", func() { Expect(isWatchtower).To(BeTrue()) }) It("should return false if the label is present but set to false", func() { - c = mockContainerWithLabels(map[string]string{"com.centurylinklabs.watchtower": "false"}) + c = MockContainer(WithLabels(map[string]string{"com.centurylinklabs.watchtower": "false"})) isWatchtower := c.IsWatchtower() Expect(isWatchtower).To(BeFalse()) }) It("should return false if the label is not present", func() { - c = mockContainerWithLabels(map[string]string{"funny.label": "false"}) + c = MockContainer(WithLabels(map[string]string{"funny.label": "false"})) isWatchtower := c.IsWatchtower() Expect(isWatchtower).To(BeFalse()) }) It("should return false if there are no labels", func() { - c = mockContainerWithLabels(map[string]string{}) + c = MockContainer(WithLabels(map[string]string{})) isWatchtower := c.IsWatchtower() Expect(isWatchtower).To(BeFalse()) }) }) When("fetching the custom stop signal", func() { It("should return the signal if its set", func() { - c = mockContainerWithLabels(map[string]string{ + c = MockContainer(WithLabels(map[string]string{ "com.centurylinklabs.watchtower.stop-signal": "SIGKILL", - }) + })) stopSignal := c.StopSignal() Expect(stopSignal).To(Equal("SIGKILL")) }) It("should return an empty string if its not set", func() { - c = mockContainerWithLabels(map[string]string{}) + c = MockContainer(WithLabels(map[string]string{})) stopSignal := c.StopSignal() Expect(stopSignal).To(Equal("")) }) @@ -160,22 +150,22 @@ var _ = Describe("the container", func() { When("fetching the image name", func() { When("the zodiac label is present", func() { It("should fetch the image name from it", func() { - c = mockContainerWithLabels(map[string]string{ + c = MockContainer(WithLabels(map[string]string{ "com.centurylinklabs.zodiac.original-image": "the-original-image", - }) + })) imageName := c.ImageName() Expect(imageName).To(Equal(imageName)) }) }) It("should return the image name", func() { name := "image-name:3" - c = mockContainerWithImageName(name) + c = MockContainer(WithImageName(name)) imageName := c.ImageName() Expect(imageName).To(Equal(name)) }) It("should assume latest if no tag is supplied", func() { name := "image-name" - c = mockContainerWithImageName(name) + c = MockContainer(WithImageName(name)) imageName := c.ImageName() Expect(imageName).To(Equal(name + ":latest")) }) @@ -184,33 +174,33 @@ var _ = Describe("the container", func() { When("fetching container links", func() { When("the depends on label is present", func() { It("should fetch depending containers from it", func() { - c = mockContainerWithLabels(map[string]string{ + c = MockContainer(WithLabels(map[string]string{ "com.centurylinklabs.watchtower.depends-on": "postgres", - }) + })) links := c.Links() Expect(links).To(SatisfyAll(ContainElement("postgres"), HaveLen(1))) }) It("should fetch depending containers if there are many", func() { - c = mockContainerWithLabels(map[string]string{ + c = MockContainer(WithLabels(map[string]string{ "com.centurylinklabs.watchtower.depends-on": "postgres,redis", - }) + })) links := c.Links() Expect(links).To(SatisfyAll(ContainElement("postgres"), ContainElement("redis"), HaveLen(2))) }) It("should fetch depending containers if label is blank", func() { - c = mockContainerWithLabels(map[string]string{ + c = MockContainer(WithLabels(map[string]string{ "com.centurylinklabs.watchtower.depends-on": "", - }) + })) links := c.Links() Expect(links).To(HaveLen(0)) }) }) When("the depends on label is not present", func() { It("should fetch depending containers from host config links", func() { - c = mockContainerWithLinks([]string{ + c = MockContainer(WithLinks([]string{ "redis:test-containrrr", "postgres:test-containrrr", - }) + })) links := c.Links() Expect(links).To(SatisfyAll(ContainElement("redis"), ContainElement("postgres"), HaveLen(2))) }) @@ -219,10 +209,10 @@ var _ = Describe("the container", func() { When("there is a pre or post update timeout", func() { It("should return minute values", func() { - c = mockContainerWithLabels(map[string]string{ + c = MockContainer(WithLabels(map[string]string{ "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout": "3", "com.centurylinklabs.watchtower.lifecycle.post-update-timeout": "5", - }) + })) preTimeout := c.PreUpdateTimeout() Expect(preTimeout).To(Equal(3)) postTimeout := c.PostUpdateTimeout() @@ -232,53 +222,3 @@ var _ = Describe("the container", func() { }) }) - -func mockContainerWithPortBindings(portBindingSources ...string) *Container { - mockContainer := mockContainerWithLabels(nil) - mockContainer.imageInfo = &types.ImageInspect{} - hostConfig := &container.HostConfig{ - PortBindings: nat.PortMap{}, - } - for _, pbs := range portBindingSources { - hostConfig.PortBindings[nat.Port(pbs)] = []nat.PortBinding{} - } - mockContainer.containerInfo.HostConfig = hostConfig - return mockContainer -} - -func mockContainerWithImageName(name string) *Container { - mockContainer := mockContainerWithLabels(nil) - mockContainer.containerInfo.Config.Image = name - return mockContainer -} - -func mockContainerWithLinks(links []string) *Container { - content := types.ContainerJSON{ - ContainerJSONBase: &types.ContainerJSONBase{ - ID: "container_id", - Image: "image", - Name: "test-containrrr", - HostConfig: &container.HostConfig{ - Links: links, - }, - }, - Config: &container.Config{ - Labels: map[string]string{}, - }, - } - return NewContainer(&content, nil) -} - -func mockContainerWithLabels(labels map[string]string) *Container { - content := types.ContainerJSON{ - ContainerJSONBase: &types.ContainerJSONBase{ - ID: "container_id", - Image: "image", - Name: "test-containrrr", - }, - Config: &container.Config{ - Labels: labels, - }, - } - return NewContainer(&content, nil) -} From 3190ce2df1f2ad6e6417ec9ab0690e2145d36e5e Mon Sep 17 00:00:00 2001 From: nothub Date: Tue, 6 Dec 2022 17:40:26 +0100 Subject: [PATCH 242/389] feat: ignore removal error due to non-existing containers (#1481) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén Fixes https://github.com/containrrr/watchtower/issues/1480 --- pkg/container/client.go | 4 ++ pkg/container/client_test.go | 34 ++++++++++++ pkg/container/mocks/ApiServer.go | 89 +++++++++++++++++++++++++++----- 3 files changed, 115 insertions(+), 12 deletions(-) diff --git a/pkg/container/client.go b/pkg/container/client.go index f534bd0..7447828 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -192,6 +192,10 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err log.Debugf("Removing container %s", shortID) if err := client.api.ContainerRemove(bg, idStr, types.ContainerRemoveOptions{Force: true, RemoveVolumes: client.RemoveVolumes}); err != nil { + if sdkClient.IsErrNotFound(err) { + log.Debugf("Container %s not found, skipping removal.", shortID) + return nil + } return err } } diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 6ccc93c..1100ac9 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -1,6 +1,8 @@ package container import ( + "time" + "github.com/containrrr/watchtower/pkg/container/mocks" "github.com/containrrr/watchtower/pkg/filters" t "github.com/containrrr/watchtower/pkg/types" @@ -69,6 +71,38 @@ var _ = Describe("the client", func() { }) }) }) + When("removing a running container", func() { + When("the container still exist after stopping", func() { + It("should attempt to remove the container", func() { + container := *MockContainer(WithContainerState(types.ContainerState{Running: true})) + containerStopped := *MockContainer(WithContainerState(types.ContainerState{Running: false})) + + cid := container.ContainerInfo().ID + mockServer.AppendHandlers( + mocks.KillContainerHandler(cid, mocks.Found), + mocks.GetContainerHandler(cid, containerStopped.ContainerInfo()), + mocks.RemoveContainerHandler(cid, mocks.Found), + mocks.GetContainerHandler(cid, nil), + ) + + Expect(dockerClient{api: docker}.StopContainer(container, time.Minute)).To(Succeed()) + }) + }) + When("the container does not exist after stopping", func() { + It("should not cause an error", func() { + container := *MockContainer(WithContainerState(types.ContainerState{Running: true})) + + cid := container.ContainerInfo().ID + mockServer.AppendHandlers( + mocks.KillContainerHandler(cid, mocks.Found), + mocks.GetContainerHandler(cid, nil), + mocks.RemoveContainerHandler(cid, mocks.Missing), + ) + + Expect(dockerClient{api: docker}.StopContainer(container, time.Minute)).To(Succeed()) + }) + }) + }) When("listing containers", func() { When("no filter is provided", func() { It("should return all available containers", func() { diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index 20610cd..1a05355 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -3,14 +3,15 @@ package mocks import ( "encoding/json" "fmt" - "github.com/docker/docker/api/types" - "github.com/docker/docker/api/types/filters" - O "github.com/onsi/gomega" - "github.com/onsi/gomega/ghttp" "io/ioutil" "net/http" "net/url" "path/filepath" + + "github.com/docker/docker/api/types" + "github.com/docker/docker/api/types/filters" + O "github.com/onsi/gomega" + "github.com/onsi/gomega/ghttp" ) func getMockJSONFile(relPath string) ([]byte, error) { @@ -42,14 +43,14 @@ func respondWithJSONFile(relPath string, statusCode int, optionalHeader ...http. func GetContainerHandlers(containerFiles ...string) []http.HandlerFunc { handlers := make([]http.HandlerFunc, 0, len(containerFiles)*2) for _, file := range containerFiles { - handlers = append(handlers, getContainerHandler(file)) + handlers = append(handlers, getContainerFileHandler(file)) // Also append the image request since that will be called for every container if file == "running" { // The "running" container is the only one using image02 - handlers = append(handlers, getImageHandler(1)) + handlers = append(handlers, getImageFileHandler(1)) } else { - handlers = append(handlers, getImageHandler(0)) + handlers = append(handlers, getImageFileHandler(0)) } } return handlers @@ -75,15 +76,36 @@ var imageIds = []string{ "sha256:19d07168491a3f9e2798a9bed96544e34d57ddc4757a4ac5bb199dea896c87fd", } -func getContainerHandler(file string) http.HandlerFunc { +func getContainerFileHandler(file string) http.HandlerFunc { id, ok := containerFileIds[file] failTestUnless(ok) - return ghttp.CombineHandlers( - ghttp.VerifyRequest("GET", O.HaveSuffix("/containers/%v/json", id)), + return getContainerHandler( + id, RespondWithJSONFile(fmt.Sprintf("./mocks/data/container_%v.json", file), http.StatusOK), ) } +func getContainerHandler(containerId string, responseHandler http.HandlerFunc) http.HandlerFunc { + return ghttp.CombineHandlers( + ghttp.VerifyRequest("GET", O.HaveSuffix("/containers/%v/json", containerId)), + responseHandler, + ) +} + +// GetContainerHandler mocks the GET containers/{id}/json endpoint +func GetContainerHandler(containerID string, containerInfo *types.ContainerJSON) http.HandlerFunc { + responseHandler := containerNotFoundResponse(containerID) + if containerInfo != nil { + responseHandler = ghttp.RespondWithJSONEncoded(http.StatusOK, containerInfo) + } + return getContainerHandler(containerID, responseHandler) +} + +// GetImageHandler mocks the GET images/{id}/json endpoint +func GetImageHandler(imageInfo *types.ImageInspect) http.HandlerFunc { + return getImageHandler(imageInfo.ID, ghttp.RespondWithJSONEncoded(http.StatusOK, imageInfo)) +} + // ListContainersHandler mocks the GET containers/json endpoint, filtering the returned containers based on statuses func ListContainersHandler(statuses ...string) http.HandlerFunc { filterArgs := createFilterArgs(statuses) @@ -116,9 +138,15 @@ func respondWithFilteredContainers(filters filters.Args) http.HandlerFunc { return ghttp.RespondWithJSONEncoded(http.StatusOK, filteredContainers) } -func getImageHandler(index int) http.HandlerFunc { +func getImageHandler(imageId string, responseHandler http.HandlerFunc) http.HandlerFunc { return ghttp.CombineHandlers( - ghttp.VerifyRequest("GET", O.HaveSuffix("/images/%v/json", imageIds[index])), + ghttp.VerifyRequest("GET", O.HaveSuffix("/images/%s/json", imageId)), + responseHandler, + ) +} + +func getImageFileHandler(index int) http.HandlerFunc { + return getImageHandler(imageIds[index], RespondWithJSONFile(fmt.Sprintf("./mocks/data/image%02d.json", index+1), http.StatusOK), ) } @@ -126,3 +154,40 @@ func getImageHandler(index int) http.HandlerFunc { func failTestUnless(ok bool) { O.ExpectWithOffset(2, ok).To(O.BeTrue(), "test setup failed") } + +// KillContainerHandler mocks the POST containers/{id}/kill endpoint +func KillContainerHandler(containerID string, found FoundStatus) http.HandlerFunc { + responseHandler := noContentStatusResponse + if !found { + responseHandler = containerNotFoundResponse(containerID) + } + return ghttp.CombineHandlers( + ghttp.VerifyRequest("POST", O.HaveSuffix("containers/%s/kill", containerID)), + responseHandler, + ) +} + +// RemoveContainerHandler mocks the DELETE containers/{id} endpoint +func RemoveContainerHandler(containerID string, found FoundStatus) http.HandlerFunc { + responseHandler := noContentStatusResponse + if !found { + responseHandler = containerNotFoundResponse(containerID) + } + return ghttp.CombineHandlers( + ghttp.VerifyRequest("DELETE", O.HaveSuffix("containers/%s", containerID)), + responseHandler, + ) +} + +func containerNotFoundResponse(containerID string) http.HandlerFunc { + return ghttp.RespondWithJSONEncoded(http.StatusNotFound, struct{ message string }{message: "No such container: " + containerID}) +} + +var noContentStatusResponse = ghttp.RespondWith(http.StatusNoContent, nil) + +type FoundStatus bool + +const ( + Found FoundStatus = true + Missing FoundStatus = false +) From b71eb2dec75a0b8257372a1956575a024cd425f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Dec 2022 18:02:19 +0100 Subject: [PATCH 243/389] chore(deps): bump golang.org/x/text from 0.4.0 to 0.5.0 (#1492) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8166f45..0d557d9 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect golang.org/x/sys v0.1.0 // indirect - golang.org/x/text v0.4.0 + golang.org/x/text v0.5.0 golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index f0930e7..c282daa 100644 --- a/go.sum +++ b/go.sum @@ -566,8 +566,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 3a59664c0eeb6baa7c2ec9967ee6e09893f599b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Dec 2022 10:08:09 +0100 Subject: [PATCH 244/389] chore(deps): bump golang.org/x/net from 0.1.0 to 0.3.0 (#1496) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 0d557d9..74d96d9 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.14.0 github.com/stretchr/testify v1.8.1 - golang.org/x/net v0.1.0 + golang.org/x/net v0.3.0 ) require ( @@ -57,7 +57,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect - golang.org/x/sys v0.1.0 // indirect + golang.org/x/sys v0.3.0 // indirect golang.org/x/text v0.5.0 golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect google.golang.org/protobuf v1.28.1 // indirect diff --git a/go.sum b/go.sum index c282daa..fa0648a 100644 --- a/go.sum +++ b/go.sum @@ -471,8 +471,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -554,8 +554,8 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From e060e5e38a9b9ae39d1096417292d7259e7bc1c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Dec 2022 16:49:27 +0100 Subject: [PATCH 245/389] chore(deps): bump golang.org/x/net from 0.3.0 to 0.4.0 (#1498) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 74d96d9..d99573e 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.14.0 github.com/stretchr/testify v1.8.1 - golang.org/x/net v0.3.0 + golang.org/x/net v0.4.0 ) require ( diff --git a/go.sum b/go.sum index fa0648a..932a71d 100644 --- a/go.sum +++ b/go.sum @@ -471,8 +471,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk= -golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= From d2cfefb08a0ad7ec71fdd78edd3a62cae97b1aa0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Dec 2022 16:49:51 +0100 Subject: [PATCH 246/389] chore(deps): bump github.com/onsi/gomega from 1.24.0 to 1.24.1 (#1473) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index d99573e..69ff326 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v20.10.21+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.24.0 + github.com/onsi/gomega v1.24.1 github.com/prometheus/client_golang v1.14.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 diff --git a/go.sum b/go.sum index 932a71d..440b432 100644 --- a/go.sum +++ b/go.sum @@ -267,11 +267,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs= +github.com/onsi/ginkgo/v2 v2.5.0 h1:TRtrvv2vdQqzkwrQ1ke6vtXf7IK34RBUJafIy1wMwls= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.24.0 h1:+0glovB9Jd6z3VR+ScSwQqXVTIfJcGA9UBM8yzQxhqg= -github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= +github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= +github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From dcb38c68d8a179b612c0edbaddcd9eb309ed6fde Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Dec 2022 17:08:16 +0100 Subject: [PATCH 247/389] chore(deps): bump goreleaser/goreleaser-action from 3.2.0 to 4.1.0 (#1509) Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 3.2.0 to 4.1.0. - [Release notes](https://github.com/goreleaser/goreleaser-action/releases) - [Commits](https://github.com/goreleaser/goreleaser-action/compare/b508e2e3ef3b19d4e4146d4f8fb3ba9db644a757...8f67e590f2d095516493f017008adc464e63adb1) --- updated-dependencies: - dependency-name: goreleaser/goreleaser-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index a99bef1..242ae55 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -64,7 +64,7 @@ jobs: with: go-version: 1.18.x - name: Build - uses: goreleaser/goreleaser-action@b508e2e3ef3b19d4e4146d4f8fb3ba9db644a757 #v3 + uses: goreleaser/goreleaser-action@8f67e590f2d095516493f017008adc464e63adb1 #v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bf0d61d..d53802b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: password: ${{ secrets.BOT_GHCR_PAT }} registry: ghcr.io - name: Build - uses: goreleaser/goreleaser-action@b508e2e3ef3b19d4e4146d4f8fb3ba9db644a757 #v3 + uses: goreleaser/goreleaser-action@8f67e590f2d095516493f017008adc464e63adb1 #v3 with: version: v0.155.0 args: --debug From 2faf4c4cc1375ba6c3b5ebb51249b36bf0a8d2ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Dec 2022 17:09:28 +0100 Subject: [PATCH 248/389] chore(deps): bump github.com/onsi/gomega from 1.24.1 to 1.24.2 (#1508) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.24.1 to 1.24.2. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.24.1...v1.24.2) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 69ff326..f94848a 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v20.10.21+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.24.1 + github.com/onsi/gomega v1.24.2 github.com/prometheus/client_golang v1.14.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 diff --git a/go.sum b/go.sum index 440b432..bbea626 100644 --- a/go.sum +++ b/go.sum @@ -267,11 +267,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.5.0 h1:TRtrvv2vdQqzkwrQ1ke6vtXf7IK34RBUJafIy1wMwls= +github.com/onsi/ginkgo/v2 v2.6.1 h1:1xQPCjcqYw/J5LchOcp4/2q/jzJFjiAOc25chhnDw+Q= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E= -github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM= +github.com/onsi/gomega v1.24.2 h1:J/tulyYK6JwBldPViHJReihxxZ+22FHs0piGjQAvoUE= +github.com/onsi/gomega v1.24.2/go.mod h1:gs3J10IS7Z7r7eXRoNJIrNqU4ToQukCJhFtKrWgHWnk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From 8449d9c34f9c971ceb68fbdcf59c582504f7a1e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Dec 2022 17:11:05 +0100 Subject: [PATCH 249/389] chore(deps): bump github.com/docker/cli (#1506) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 20.10.21+incompatible to 20.10.22+incompatible. - [Release notes](https://github.com/docker/cli/releases) - [Commits](https://github.com/docker/cli/compare/v20.10.21...v20.10.22) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f94848a..bb349dd 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.6.1 - github.com/docker/cli v20.10.21+incompatible + github.com/docker/cli v20.10.22+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.21+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index bbea626..9022135 100644 --- a/go.sum +++ b/go.sum @@ -81,8 +81,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/cli v20.10.21+incompatible h1:qVkgyYUnOLQ98LtXBrwd/duVqPT2X4SHndOuGsfwyhU= -github.com/docker/cli v20.10.21+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.22+incompatible h1:0E7UqWPcn4SlvLImMHyh6xwyNRUGdPxhstpHeh0bFL0= +github.com/docker/cli v20.10.22+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.21+incompatible h1:UTLdBmHk3bEY+w8qeO5KttOhy6OmXWsl/FEet9Uswog= From fe5077881b0691b69bd23c936d474c4b2c1810d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Dec 2022 17:16:39 +0100 Subject: [PATCH 250/389] chore(deps): bump github.com/docker/docker (#1507) Bumps [github.com/docker/docker](https://github.com/docker/docker) from 20.10.21+incompatible to 20.10.22+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](https://github.com/docker/docker/compare/v20.10.21...v20.10.22) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bb349dd..e50edbe 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.6.1 github.com/docker/cli v20.10.22+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v20.10.21+incompatible + github.com/docker/docker v20.10.22+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.24.2 diff --git a/go.sum b/go.sum index 9022135..83f5c2e 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,8 @@ github.com/docker/cli v20.10.22+incompatible h1:0E7UqWPcn4SlvLImMHyh6xwyNRUGdPxh github.com/docker/cli v20.10.22+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.21+incompatible h1:UTLdBmHk3bEY+w8qeO5KttOhy6OmXWsl/FEet9Uswog= -github.com/docker/docker v20.10.21+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.22+incompatible h1:6jX4yB+NtcbldT90k7vBSaWJDB3i+zkVJT9BEK8kQkk= +github.com/docker/docker v20.10.22+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 84fb391d58a1524acbd2476304b1409d07a1e25b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Jan 2023 01:21:27 +0100 Subject: [PATCH 251/389] chore(deps): bump golang.org/x/text from 0.5.0 to 0.6.0 (#1518) Bumps [golang.org/x/text](https://github.com/golang/text) from 0.5.0 to 0.6.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.5.0...v0.6.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e50edbe..09064ad 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect golang.org/x/sys v0.3.0 // indirect - golang.org/x/text v0.5.0 + golang.org/x/text v0.6.0 golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 83f5c2e..4fc61cc 100644 --- a/go.sum +++ b/go.sum @@ -566,8 +566,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 8b5eb9cb9cdb8ab25226298762e004e4f0ec885b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Jan 2023 01:21:56 +0100 Subject: [PATCH 252/389] chore(deps): bump alpine from 3.17.0 to 3.17.1 in /dockerfiles (#1521) Bumps alpine from 3.17.0 to 3.17.1. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dockerfiles/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 590e930..687f863 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM alpine:3.17.0 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.17.1 as alpine RUN apk add --no-cache \ ca-certificates \ From 36b3a64d868a8725d88d32a840d2272b61cc7f5f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Jan 2023 01:23:00 +0100 Subject: [PATCH 253/389] chore(deps): bump dominikh/staticcheck-action from 1.2.0 to 1.3.0 (#1520) Bumps [dominikh/staticcheck-action](https://github.com/dominikh/staticcheck-action) from 1.2.0 to 1.3.0. - [Release notes](https://github.com/dominikh/staticcheck-action/releases) - [Changelog](https://github.com/dominikh/staticcheck-action/blob/master/CHANGES.md) - [Commits](https://github.com/dominikh/staticcheck-action/compare/a3513ade2e5cb8075ba1c1ed1890a989cf0f2aa0...ba605356b4b29a60e87ab9404b712f3461e566dc) --- updated-dependencies: - dependency-name: dominikh/staticcheck-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 242ae55..e399a2f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -19,7 +19,7 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.18.x - - uses: dominikh/staticcheck-action@a3513ade2e5cb8075ba1c1ed1890a989cf0f2aa0 #v1.2.0 + - uses: dominikh/staticcheck-action@ba605356b4b29a60e87ab9404b712f3461e566dc #v1.3.0 with: version: "2022.1.1" install-go: "false" # StaticCheck uses go v1.17 which does not support `any` diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d53802b..83d1075 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.18.x - - uses: dominikh/staticcheck-action@a3513ade2e5cb8075ba1c1ed1890a989cf0f2aa0 #v1.2.0 + - uses: dominikh/staticcheck-action@ba605356b4b29a60e87ab9404b712f3461e566dc #v1.3.0 with: version: "2022.1.1" install-go: "false" # StaticCheck uses go v1.17 which does not support `any` From c16ac967c5f34c278feaac44e755ab2a88319457 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Jan 2023 01:27:20 +0100 Subject: [PATCH 254/389] chore(deps): bump golang.org/x/net from 0.4.0 to 0.5.0 (#1519) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to 0.5.0. - [Release notes](https://github.com/golang/net/releases) - [Commits](https://github.com/golang/net/compare/v0.4.0...v0.5.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 09064ad..e7c7cbe 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.14.0 github.com/stretchr/testify v1.8.1 - golang.org/x/net v0.4.0 + golang.org/x/net v0.5.0 ) require ( @@ -57,7 +57,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect - golang.org/x/sys v0.3.0 // indirect + golang.org/x/sys v0.4.0 // indirect golang.org/x/text v0.6.0 golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect google.golang.org/protobuf v1.28.1 // indirect diff --git a/go.sum b/go.sum index 4fc61cc..5493516 100644 --- a/go.sum +++ b/go.sum @@ -471,8 +471,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= -golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -554,8 +554,8 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 87c5695e845f6c35af8ddb1b828ffca75571b490 Mon Sep 17 00:00:00 2001 From: Sam Kirsch Date: Sun, 22 Jan 2023 03:03:45 -0500 Subject: [PATCH 255/389] fix: update metrics from sessions started via API (#1531) fixes https://github.com/containrrr/watchtower/issues/1530 --- cmd/root.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/root.go b/cmd/root.go index 8e20b95..dbb7e89 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -182,7 +182,10 @@ func Run(c *cobra.Command, names []string) { httpAPI := api.New(apiToken) if enableUpdateAPI { - updateHandler := update.New(func(images []string) { runUpdatesWithNotifications(filters.FilterByImage(images, filter)) }, updateLock) + updateHandler := update.New(func(images []string) { + metric := runUpdatesWithNotifications(filters.FilterByImage(images, filter)) + metrics.RegisterScan(metric) + }, updateLock) httpAPI.RegisterFunc(updateHandler.Path, updateHandler.Handle) // If polling isn't enabled the scheduler is never started and // we need to trigger the startup messages manually. From 14b235a542d3ef6fb2eff89dc5123132cab9fd2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 22 Jan 2023 09:59:42 +0100 Subject: [PATCH 256/389] feat: add oci image index support (#1533) --- pkg/registry/digest/digest.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go index 26fbd8e..3bdf241 100644 --- a/pkg/registry/digest/digest.go +++ b/pkg/registry/digest/digest.go @@ -103,6 +103,7 @@ func GetDigest(url string, token string) (string, error) { req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.v2+json") req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.list.v2+json") req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.v1+json") + req.Header.Add("Accept", "application/vnd.oci.image.index.v1+json") logrus.WithField("url", url).Debug("Doing a HEAD request to fetch a digest") From b62f8d77387b37da1981d9aa8019a2a0bddfa186 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Jan 2023 18:29:41 +0100 Subject: [PATCH 257/389] chore(deps): bump github.com/onsi/gomega from 1.24.2 to 1.25.0 (#1538) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index e7c7cbe..412e196 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v20.10.22+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.24.2 + github.com/onsi/gomega v1.25.0 github.com/prometheus/client_golang v1.14.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 diff --git a/go.sum b/go.sum index 5493516..896101b 100644 --- a/go.sum +++ b/go.sum @@ -267,11 +267,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.6.1 h1:1xQPCjcqYw/J5LchOcp4/2q/jzJFjiAOc25chhnDw+Q= +github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.24.2 h1:J/tulyYK6JwBldPViHJReihxxZ+22FHs0piGjQAvoUE= -github.com/onsi/gomega v1.24.2/go.mod h1:gs3J10IS7Z7r7eXRoNJIrNqU4ToQukCJhFtKrWgHWnk= +github.com/onsi/gomega v1.25.0 h1:Vw7br2PCDYijJHSfBOWhov+8cAnUf8MfMaIOV323l6Y= +github.com/onsi/gomega v1.25.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From ff564ef8062408dbf5ddab7779cf880ab3f1ea44 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Jan 2023 18:30:35 +0100 Subject: [PATCH 258/389] chore(deps): bump github.com/docker/docker from 20.10.22+incompatible to 20.10.23+incompatible (#1537) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 412e196..d247d61 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.6.1 github.com/docker/cli v20.10.22+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v20.10.22+incompatible + github.com/docker/docker v20.10.23+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.25.0 diff --git a/go.sum b/go.sum index 896101b..d998576 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,8 @@ github.com/docker/cli v20.10.22+incompatible h1:0E7UqWPcn4SlvLImMHyh6xwyNRUGdPxh github.com/docker/cli v20.10.22+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.22+incompatible h1:6jX4yB+NtcbldT90k7vBSaWJDB3i+zkVJT9BEK8kQkk= -github.com/docker/docker v20.10.22+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.23+incompatible h1:1ZQUUYAdh+oylOT85aA2ZcfRp22jmLhoaEcVEfK8dyA= +github.com/docker/docker v20.10.23+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 0168cd8a40c7de5d32072a4981514b07e4c0234e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Jan 2023 18:31:16 +0100 Subject: [PATCH 259/389] chore(deps): bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#1536) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 14 ++++++-------- go.sum | 27 ++++++++++++--------------- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/go.mod b/go.mod index d247d61..01f4018 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.14.0 + github.com/spf13/viper v1.15.0 github.com/stretchr/testify v1.8.1 golang.org/x/net v0.5.0 ) @@ -35,7 +35,7 @@ require ( github.com/google/go-cmp v0.5.9 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect @@ -45,25 +45,23 @@ require ( github.com/nxadm/tail v1.4.8 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect - github.com/spf13/afero v1.9.2 // indirect + github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect - github.com/subosito/gotenv v1.4.1 // indirect + github.com/subosito/gotenv v1.4.2 // indirect golang.org/x/sys v0.4.0 // indirect golang.org/x/text v0.6.0 - golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect + golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.0.3 // indirect ) diff --git a/go.sum b/go.sum index d998576..bd93126 100644 --- a/go.sum +++ b/go.sum @@ -230,8 +230,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= @@ -278,10 +278,8 @@ github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrB github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -338,8 +336,8 @@ github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4k github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= +github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= @@ -354,8 +352,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= -github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= +github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -371,8 +369,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= @@ -571,8 +569,8 @@ golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220609170525-579cf78fd858 h1:Dpdu/EMxGMFgq0CeYMh4fazTD2vtlZRYE7wyynxJb9U= -golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -744,7 +742,6 @@ gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= From 8464e0dece7219c398f109dda0949a33d1f557c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Jan 2023 18:50:55 +0100 Subject: [PATCH 260/389] chore(deps): bump github.com/docker/cli from 20.10.22+incompatible to 20.10.23+incompatible (#1535) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 01f4018..53ae99f 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.6.1 - github.com/docker/cli v20.10.22+incompatible + github.com/docker/cli v20.10.23+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.23+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index bd93126..e5edc98 100644 --- a/go.sum +++ b/go.sum @@ -81,8 +81,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/cli v20.10.22+incompatible h1:0E7UqWPcn4SlvLImMHyh6xwyNRUGdPxhstpHeh0bFL0= -github.com/docker/cli v20.10.22+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.23+incompatible h1:qwyha/T3rXk9lfuVcn533cKFc7n/6IzL5GXVAgMVPBg= +github.com/docker/cli v20.10.23+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.23+incompatible h1:1ZQUUYAdh+oylOT85aA2ZcfRp22jmLhoaEcVEfK8dyA= From 547d033460ce13bc5c961ff8b83becefe7b29de0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 29 Jan 2023 17:10:18 +0100 Subject: [PATCH 261/389] feat(notifications): add json template (#1542) --- pkg/notifications/common_templates.go | 3 +- pkg/notifications/json.go | 71 ++++++++++++++++ pkg/notifications/json_test.go | 118 ++++++++++++++++++++++++++ pkg/notifications/model.go | 19 +++++ pkg/notifications/shoutrrr.go | 14 +-- 5 files changed, 211 insertions(+), 14 deletions(-) create mode 100644 pkg/notifications/json.go create mode 100644 pkg/notifications/json_test.go create mode 100644 pkg/notifications/model.go diff --git a/pkg/notifications/common_templates.go b/pkg/notifications/common_templates.go index 64a53c0..84c0f54 100644 --- a/pkg/notifications/common_templates.go +++ b/pkg/notifications/common_templates.go @@ -35,5 +35,6 @@ var commonTemplates = map[string]string{ no containers matched filter {{- end -}} {{- end -}}`, -} + `json.v1`: `{{ . | ToJSON }}`, +} diff --git a/pkg/notifications/json.go b/pkg/notifications/json.go new file mode 100644 index 0000000..1bd304a --- /dev/null +++ b/pkg/notifications/json.go @@ -0,0 +1,71 @@ +package notifications + +import ( + "encoding/json" + + t "github.com/containrrr/watchtower/pkg/types" +) + +type jsonMap = map[string]interface{} + +// MarshalJSON implements json.Marshaler +func (d Data) MarshalJSON() ([]byte, error) { + var entries = make([]jsonMap, len(d.Entries)) + for i, entry := range d.Entries { + entries[i] = jsonMap{ + `level`: entry.Level, + `message`: entry.Message, + `data`: entry.Data, + `time`: entry.Time, + } + } + + var report jsonMap + if d.Report != nil { + report = jsonMap{ + `scanned`: marshalReports(d.Report.Scanned()), + `updated`: marshalReports(d.Report.Updated()), + `failed`: marshalReports(d.Report.Failed()), + `skipped`: marshalReports(d.Report.Skipped()), + `stale`: marshalReports(d.Report.Stale()), + `fresh`: marshalReports(d.Report.Fresh()), + } + } + + return json.Marshal(jsonMap{ + `report`: report, + `title`: d.Title, + `host`: d.Host, + `entries`: entries, + }) +} + +func marshalReports(reports []t.ContainerReport) []jsonMap { + jsonReports := make([]jsonMap, len(reports)) + for i, report := range reports { + jsonReports[i] = jsonMap{ + `id`: report.ID().ShortID(), + `name`: report.Name(), + `currentImageId`: report.CurrentImageID().ShortID(), + `latestImageId`: report.LatestImageID().ShortID(), + `imageName`: report.ImageName(), + `state`: report.State(), + } + if errorMessage := report.Error(); errorMessage != "" { + jsonReports[i][`error`] = errorMessage + } + } + return jsonReports +} + +var _ json.Marshaler = &Data{} + +func toJSON(v interface{}) string { + var bytes []byte + var err error + if bytes, err = json.MarshalIndent(v, "", " "); err != nil { + LocalLog.Errorf("failed to marshal JSON in notification template: %v", err) + return "" + } + return string(bytes) +} diff --git a/pkg/notifications/json_test.go b/pkg/notifications/json_test.go new file mode 100644 index 0000000..ef30c59 --- /dev/null +++ b/pkg/notifications/json_test.go @@ -0,0 +1,118 @@ +package notifications + +import ( + s "github.com/containrrr/watchtower/pkg/session" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +var _ = Describe("JSON template", func() { + When("using report templates", func() { + When("JSON template is used", func() { + It("should format the messages to the expected format", func() { + expected := `{ + "entries": [ + { + "data": null, + "level": "info", + "message": "foo Bar", + "time": "0001-01-01T00:00:00Z" + } + ], + "host": "Mock", + "report": { + "failed": [ + { + "currentImageId": "01d210000000", + "error": "accidentally the whole container", + "id": "c79210000000", + "imageName": "mock/fail1:latest", + "latestImageId": "d0a210000000", + "name": "fail1", + "state": "Failed" + } + ], + "fresh": [ + { + "currentImageId": "01d310000000", + "id": "c79310000000", + "imageName": "mock/frsh1:latest", + "latestImageId": "01d310000000", + "name": "frsh1", + "state": "Fresh" + } + ], + "scanned": [ + { + "currentImageId": "01d110000000", + "id": "c79110000000", + "imageName": "mock/updt1:latest", + "latestImageId": "d0a110000000", + "name": "updt1", + "state": "Updated" + }, + { + "currentImageId": "01d120000000", + "id": "c79120000000", + "imageName": "mock/updt2:latest", + "latestImageId": "d0a120000000", + "name": "updt2", + "state": "Updated" + }, + { + "currentImageId": "01d210000000", + "error": "accidentally the whole container", + "id": "c79210000000", + "imageName": "mock/fail1:latest", + "latestImageId": "d0a210000000", + "name": "fail1", + "state": "Failed" + }, + { + "currentImageId": "01d310000000", + "id": "c79310000000", + "imageName": "mock/frsh1:latest", + "latestImageId": "01d310000000", + "name": "frsh1", + "state": "Fresh" + } + ], + "skipped": [ + { + "currentImageId": "01d410000000", + "error": "unpossible", + "id": "c79410000000", + "imageName": "mock/skip1:latest", + "latestImageId": "01d410000000", + "name": "skip1", + "state": "Skipped" + } + ], + "stale": [], + "updated": [ + { + "currentImageId": "01d110000000", + "id": "c79110000000", + "imageName": "mock/updt1:latest", + "latestImageId": "d0a110000000", + "name": "updt1", + "state": "Updated" + }, + { + "currentImageId": "01d120000000", + "id": "c79120000000", + "imageName": "mock/updt2:latest", + "latestImageId": "d0a120000000", + "name": "updt2", + "state": "Updated" + } + ] + }, + "title": "Watchtower updates on Mock" +}` + data := mockDataFromStates(s.UpdatedState, s.FreshState, s.FailedState, s.SkippedState, s.UpdatedState) + Expect(getTemplatedResult(`json.v1`, false, data)).To(MatchJSON(expected)) + }) + }) + }) +}) diff --git a/pkg/notifications/model.go b/pkg/notifications/model.go new file mode 100644 index 0000000..83c97ba --- /dev/null +++ b/pkg/notifications/model.go @@ -0,0 +1,19 @@ +package notifications + +import ( + t "github.com/containrrr/watchtower/pkg/types" + log "github.com/sirupsen/logrus" +) + +// StaticData is the part of the notification template data model set upon initialization +type StaticData struct { + Title string + Host string +} + +// Data is the notification template data model +type Data struct { + StaticData + Entries []*log.Entry + Report t.Report +} diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index 47141e8..d6ce859 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -210,6 +210,7 @@ func getShoutrrrTemplate(tplString string, legacy bool) (tpl *template.Template, funcs := template.FuncMap{ "ToUpper": strings.ToUpper, "ToLower": strings.ToLower, + "ToJSON": toJSON, "Title": cases.Title(language.AmericanEnglish).String, } tplBase := template.New("").Funcs(funcs) @@ -240,16 +241,3 @@ func getShoutrrrTemplate(tplString string, legacy bool) (tpl *template.Template, return } - -// StaticData is the part of the notification template data model set upon initialization -type StaticData struct { - Title string - Host string -} - -// Data is the notification template data model -type Data struct { - StaticData - Entries []*log.Entry - Report t.Report -} From 264046d5f95a88ee4ea38d410f070d74b48ba779 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 29 Jan 2023 17:30:08 +0100 Subject: [PATCH 262/389] feat: update shoutrrr to v0.7 (#1543) --- docs/notifications.md | 2 +- go.mod | 6 +- go.sum | 612 ++++++++++++++++++++++++++++++++----- pkg/notifications/email.go | 1 + 4 files changed, 546 insertions(+), 75 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index 3905abf..cc21754 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -30,7 +30,7 @@ To send notifications via shoutrrr, the following command-line options, or their - `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. This option can also reference a file, in which case the contents of the file are used. -Go to [containrrr.dev/shoutrrr/v0.6/services/overview](https://containrrr.dev/shoutrrr/v0.6/services/overview) to +Go to [containrrr.dev/shoutrrr/v0.7/services/overview](https://containrrr.dev/shoutrrr/v0.6/services/overview) to learn more about the different service URLs you can use. You can define multiple services by space separating the URLs. (See example below) diff --git a/go.mod b/go.mod index 53ae99f..7b1fa6d 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/containrrr/watchtower go 1.18 require ( - github.com/containrrr/shoutrrr v0.6.1 + github.com/containrrr/shoutrrr v0.7.0 github.com/docker/cli v20.10.23+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.23+incompatible @@ -36,8 +36,8 @@ require ( github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/magiconair/properties v1.8.7 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect diff --git a/go.sum b/go.sum index e5edc98..c139065 100644 --- a/go.sum +++ b/go.sum @@ -17,29 +17,175 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/firestore v1.8.0/go.mod h1:r3KB8cAdRIe8znzoPWLw8S6gpDVd9treohhn8b09424= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w= github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -48,11 +194,19 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -61,26 +215,29 @@ github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/containrrr/shoutrrr v0.6.1 h1:6ih7jA6mo3t6C97MZbd3SxL/kRizOE3bI9CpBQZ6wzg= -github.com/containrrr/shoutrrr v0.6.1/go.mod h1:ye9jGX5YzMnJ76waaNVWlJ4luhMEyt1EWU5unYTQSb0= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/containrrr/shoutrrr v0.7.0 h1:2nVUTO3V/gvunmgnrGJ1RiSG3ph5evOPdQ2Xnlt7ZVE= +github.com/containrrr/shoutrrr v0.7.0/go.mod h1:wz7j7NfcSA+HUlOIj4sDKYXYpgKopfgxcCYGuto8J3s= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/docker/cli v20.10.23+incompatible h1:qwyha/T3rXk9lfuVcn533cKFc7n/6IzL5GXVAgMVPBg= github.com/docker/cli v20.10.23+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= @@ -93,16 +250,23 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= @@ -120,17 +284,18 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -138,6 +303,8 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -153,8 +320,10 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -165,14 +334,19 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -183,29 +357,74 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/hashicorp/consul/api v1.15.3/go.mod h1:/g/qgcoBcEXALCNZgRRisyTW0nY86++L0KbeAMXYCeY= +github.com/hashicorp/consul/sdk v0.11.0/go.mod h1:yPkX5Q6CsxTFMjQQDJwzeNmUUF5NUGGbrDsv9wTb8cw= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jarcoal/httpmock v1.0.4 h1:jp+dy/+nonJE4g4xbVtl9QdrUNbn6/3hDT5R4nDIZnA= -github.com/jarcoal/httpmock v1.0.4/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jarcoal/httpmock v1.2.0 h1:gSvTxxFR/MEMfsGrvRbdfpRUMBStovlSRLw0Ep1bwwc= +github.com/jarcoal/httpmock v1.2.0/go.mod h1:oCoTsnAz4+UoOUIf5lJOWV2QQIW5UoeUI6aM2YnWAZk= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -214,10 +433,8 @@ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -225,25 +442,44 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxv github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/maxatome/go-testdeep v1.11.0/go.mod h1:011SgQ6efzZYAen6fDn4BqQ+lUR72ysdyKe7Dyogw70= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= @@ -258,26 +494,36 @@ github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.6/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= +github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= +github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= +github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= github.com/onsi/gomega v1.25.0 h1:Vw7br2PCDYijJHSfBOWhov+8cAnUf8MfMaIOV323l6Y= github.com/onsi/gomega v1.25.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -287,11 +533,14 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= @@ -301,57 +550,52 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1: github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE= github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.8.0/go.mod h1:TmKwZAo97S4Fy4sfMH/HX/cQP5D+ijra2NyLpNNmttY= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= +github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -363,39 +607,55 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= +go.etcd.io/etcd/client/pkg/v3 v3.5.5/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= +go.etcd.io/etcd/client/v2 v2.305.5/go.mod h1:zQjKllfqfBVyVStbt4FaosoX2iYd8fV/GRy/PbowgP4= +go.etcd.io/etcd/client/v3 v3.5.5/go.mod h1:aApjR4WGlSumpnJ2kloS75h6aHUmAyaPLjHMxpc7E7c= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -419,6 +679,7 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -429,23 +690,26 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -463,12 +727,32 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -480,8 +764,21 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -492,12 +789,18 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -507,8 +810,11 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -526,7 +832,6 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -537,48 +842,82 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -587,6 +926,7 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -624,10 +964,22 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -647,6 +999,36 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -677,6 +1059,7 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= @@ -689,10 +1072,75 @@ google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -704,9 +1152,30 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -719,6 +1188,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -728,22 +1199,20 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogR gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= @@ -759,3 +1228,4 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/pkg/notifications/email.go b/pkg/notifications/email.go index b6883a2..9103d38 100644 --- a/pkg/notifications/email.go +++ b/pkg/notifications/email.go @@ -63,6 +63,7 @@ func (e *emailTypeNotifier) GetURL(c *cobra.Command) (string, error) { UseHTML: false, Encryption: shoutrrrSmtp.EncMethods.Auto, Auth: shoutrrrSmtp.AuthTypes.None, + ClientHost: "localhost", } if len(e.User) > 0 { From 3d1bf8ab7296263491bec35a1e8805a25baed1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Mon, 30 Jan 2023 01:07:44 +0100 Subject: [PATCH 263/389] hotfix(notifications): set default email client host --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7b1fa6d..c65c4b7 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/containrrr/watchtower go 1.18 require ( - github.com/containrrr/shoutrrr v0.7.0 + github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v20.10.23+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v20.10.23+incompatible diff --git a/go.sum b/go.sum index c139065..7361662 100644 --- a/go.sum +++ b/go.sum @@ -227,8 +227,8 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/containrrr/shoutrrr v0.7.0 h1:2nVUTO3V/gvunmgnrGJ1RiSG3ph5evOPdQ2Xnlt7ZVE= -github.com/containrrr/shoutrrr v0.7.0/go.mod h1:wz7j7NfcSA+HUlOIj4sDKYXYpgKopfgxcCYGuto8J3s= +github.com/containrrr/shoutrrr v0.7.1 h1:19j+YbYXRgj3PJHMzqdQ4dEoQ6teapGdjx0aB8asyho= +github.com/containrrr/shoutrrr v0.7.1/go.mod h1:wz7j7NfcSA+HUlOIj4sDKYXYpgKopfgxcCYGuto8J3s= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= From 98d0c47391bfaa2cbb61e3c92dcd368cd4636878 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Jan 2023 18:02:54 +0000 Subject: [PATCH 264/389] chore(deps): bump github.com/onsi/gomega from 1.25.0 to 1.26.0 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.25.0 to 1.26.0. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.25.0...v1.26.0) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c65c4b7..758ce36 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v20.10.23+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.25.0 + github.com/onsi/gomega v1.26.0 github.com/prometheus/client_golang v1.14.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 diff --git a/go.sum b/go.sum index 7361662..e2fcad6 100644 --- a/go.sum +++ b/go.sum @@ -514,8 +514,8 @@ github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9 github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= -github.com/onsi/gomega v1.25.0 h1:Vw7br2PCDYijJHSfBOWhov+8cAnUf8MfMaIOV323l6Y= -github.com/onsi/gomega v1.25.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= +github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= +github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From b94741dbec6348b6c2706d74d78fa68c7940925e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Jan 2023 18:10:56 +0000 Subject: [PATCH 265/389] chore(deps): bump goreleaser/goreleaser-action from 4.1.0 to 4.2.0 Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/goreleaser/goreleaser-action/releases) - [Commits](https://github.com/goreleaser/goreleaser-action/compare/8f67e590f2d095516493f017008adc464e63adb1...f82d6c1c344bcacabba2c841718984797f664a6b) --- updated-dependencies: - dependency-name: goreleaser/goreleaser-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index e399a2f..0762690 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -64,7 +64,7 @@ jobs: with: go-version: 1.18.x - name: Build - uses: goreleaser/goreleaser-action@8f67e590f2d095516493f017008adc464e63adb1 #v3 + uses: goreleaser/goreleaser-action@f82d6c1c344bcacabba2c841718984797f664a6b #v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 83d1075..a821d34 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: password: ${{ secrets.BOT_GHCR_PAT }} registry: ghcr.io - name: Build - uses: goreleaser/goreleaser-action@8f67e590f2d095516493f017008adc464e63adb1 #v3 + uses: goreleaser/goreleaser-action@f82d6c1c344bcacabba2c841718984797f664a6b #v3 with: version: v0.155.0 args: --debug From ee8f293f470d396b6386526c01e9cf26f9e2559a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 Feb 2023 17:10:35 +0100 Subject: [PATCH 266/389] chore(deps): bump andrewslotin/go-proxy-pull-action from 1.0.3 to 1.1.0 (#1555) Bumps [andrewslotin/go-proxy-pull-action](https://github.com/andrewslotin/go-proxy-pull-action) from 1.0.3 to 1.1.0. - [Release notes](https://github.com/andrewslotin/go-proxy-pull-action/releases) - [Commits](https://github.com/andrewslotin/go-proxy-pull-action/compare/bfc19ec6536e1638181b2ad6a03e16c7ccfb122f...50fea06a976087614babb9508e5c528b464f4645) --- updated-dependencies: - dependency-name: andrewslotin/go-proxy-pull-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a821d34..e5f3b98 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -191,7 +191,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Pull new module version - uses: andrewslotin/go-proxy-pull-action@bfc19ec6536e1638181b2ad6a03e16c7ccfb122f #master@2022-10-14 + uses: andrewslotin/go-proxy-pull-action@50fea06a976087614babb9508e5c528b464f4645 #master@2022-10-14 From 6ace7bd0dda8799cc87a9da8ea6ca130eff515aa Mon Sep 17 00:00:00 2001 From: Dawn Mathews John Date: Wed, 15 Feb 2023 22:08:40 +0530 Subject: [PATCH 267/389] Update notifications.md (#1565) - Added \ at EOL - Added `\` to escape `"` near `\n` --- docs/notifications.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index cc21754..835df44 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -110,7 +110,7 @@ Example using a custom report template that always sends a session report after docker run -d \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ - -e WATCHTOWER_NOTIFICATION_REPORT="true" + -e WATCHTOWER_NOTIFICATION_REPORT="true" \ -e WATCHTOWER_NOTIFICATION_URL="discord://token@channel slack://watchtower@token-a/token-b/token-c" \ -e WATCHTOWER_NOTIFICATION_TEMPLATE=" {{- if .Report -}} @@ -130,7 +130,7 @@ Example using a custom report template that always sends a session report after {{- end -}} {{- end -}} {{- else -}} - {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}} + {{range .Entries -}}{{.Message}}{{\"\n\"}}{{- end -}} {{- end -}} " \ containrrr/watchtower From bbbe04119c9787907b5c679f2b48a07d8a3fa13b Mon Sep 17 00:00:00 2001 From: Gilbert Gilb's Date: Sun, 12 Mar 2023 10:07:24 +0100 Subject: [PATCH 268/389] feat: add no-pull label for containers (#1574) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Nedžad Alibegović Co-authored-by: nils måsén --- docs/arguments.md | 3 +++ pkg/container/client.go | 2 +- pkg/container/container.go | 16 ++++++++++++++++ pkg/container/container_test.go | 33 +++++++++++++++++++++++++++++++++ pkg/container/metadata.go | 25 +++++++++++++------------ 5 files changed, 66 insertions(+), 13 deletions(-) diff --git a/docs/arguments.md b/docs/arguments.md index 58e7e7b..d0e46ae 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -234,6 +234,9 @@ Environment Variable: WATCHTOWER_NO_PULL Default: false ``` +Note that no-pull can also be specified on a per-container basis with the +`com.centurylinklabs.watchtower.no-pull` label set on those containers. + ## Without sending a startup message Do not send a message after watchtower started. Otherwise there will be an info-level notification. diff --git a/pkg/container/client.go b/pkg/container/client.go index 7447828..7f133e1 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -280,7 +280,7 @@ func (client dockerClient) RenameContainer(c Container, newName string) error { func (client dockerClient) IsContainerStale(container Container) (stale bool, latestImage t.ImageID, err error) { ctx := context.Background() - if !client.PullImages { + if !client.PullImages || container.IsNoPull() { log.Debugf("Skipping image pull.") } else if err := client.PullImage(ctx, container); err != nil { return false, container.SafeImageID(), err diff --git a/pkg/container/container.go b/pkg/container/container.go index 0bbea16..36abe8c 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -125,6 +125,22 @@ func (c Container) IsMonitorOnly() bool { return parsedBool } +// IsNoPull returns the value of the no-pull label. If the label is not set +// then false is returned. +func (c Container) IsNoPull() bool { + rawBool, ok := c.getLabelValue(noPullLabel) + if !ok { + return false + } + + parsedBool, err := strconv.ParseBool(rawBool) + if err != nil { + return false + } + + return parsedBool +} + // Scope returns the value of the scope UID label and if the label // was set. func (c Container) Scope() (string, bool) { diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index e75871b..46cf658 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -207,6 +207,39 @@ var _ = Describe("the container", func() { }) }) + When("checking no-pull label", func() { + When("no-pull label is true", func() { + c := MockContainer(WithLabels(map[string]string{ + "com.centurylinklabs.watchtower.no-pull": "true", + })) + It("should return true", func() { + Expect(c.IsNoPull()).To(Equal(true)) + }) + }) + When("no-pull label is false", func() { + c := MockContainer(WithLabels(map[string]string{ + "com.centurylinklabs.watchtower.no-pull": "false", + })) + It("should return false", func() { + Expect(c.IsNoPull()).To(Equal(false)) + }) + }) + When("no-pull label is set to an invalid value", func() { + c := MockContainer(WithLabels(map[string]string{ + "com.centurylinklabs.watchtower.no-pull": "maybe", + })) + It("should return false", func() { + Expect(c.IsNoPull()).To(Equal(false)) + }) + }) + When("no-pull label is unset", func() { + c = MockContainer(WithLabels(map[string]string{})) + It("should return false", func() { + Expect(c.IsNoPull()).To(Equal(false)) + }) + }) + }) + When("there is a pre or post update timeout", func() { It("should return minute values", func() { c = MockContainer(WithLabels(map[string]string{ diff --git a/pkg/container/metadata.go b/pkg/container/metadata.go index ee9fddf..74a04cb 100644 --- a/pkg/container/metadata.go +++ b/pkg/container/metadata.go @@ -1,18 +1,19 @@ package container const ( - watchtowerLabel = "com.centurylinklabs.watchtower" - signalLabel = "com.centurylinklabs.watchtower.stop-signal" - enableLabel = "com.centurylinklabs.watchtower.enable" - monitorOnlyLabel = "com.centurylinklabs.watchtower.monitor-only" - dependsOnLabel = "com.centurylinklabs.watchtower.depends-on" - zodiacLabel = "com.centurylinklabs.zodiac.original-image" - scope = "com.centurylinklabs.watchtower.scope" - preCheckLabel = "com.centurylinklabs.watchtower.lifecycle.pre-check" - postCheckLabel = "com.centurylinklabs.watchtower.lifecycle.post-check" - preUpdateLabel = "com.centurylinklabs.watchtower.lifecycle.pre-update" - postUpdateLabel = "com.centurylinklabs.watchtower.lifecycle.post-update" - preUpdateTimeoutLabel = "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout" + watchtowerLabel = "com.centurylinklabs.watchtower" + signalLabel = "com.centurylinklabs.watchtower.stop-signal" + enableLabel = "com.centurylinklabs.watchtower.enable" + monitorOnlyLabel = "com.centurylinklabs.watchtower.monitor-only" + noPullLabel = "com.centurylinklabs.watchtower.no-pull" + dependsOnLabel = "com.centurylinklabs.watchtower.depends-on" + zodiacLabel = "com.centurylinklabs.zodiac.original-image" + scope = "com.centurylinklabs.watchtower.scope" + preCheckLabel = "com.centurylinklabs.watchtower.lifecycle.pre-check" + postCheckLabel = "com.centurylinklabs.watchtower.lifecycle.post-check" + preUpdateLabel = "com.centurylinklabs.watchtower.lifecycle.pre-update" + postUpdateLabel = "com.centurylinklabs.watchtower.lifecycle.post-update" + preUpdateTimeoutLabel = "com.centurylinklabs.watchtower.lifecycle.pre-update-timeout" postUpdateTimeoutLabel = "com.centurylinklabs.watchtower.lifecycle.post-update-timeout" ) From 9470bf81c5c9bfee4e553a3562a82a86d4f31cc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sun, 12 Mar 2023 10:57:55 +0100 Subject: [PATCH 269/389] fix: always add missing slashes to link names (#1588) --- internal/actions/update.go | 5 ----- pkg/container/container.go | 9 ++++++++- pkg/container/container_test.go | 11 +++++++++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/internal/actions/update.go b/internal/actions/update.go index bd3791f..baae47f 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -2,7 +2,6 @@ package actions import ( "errors" - "strings" "github.com/containrrr/watchtower/internal/util" "github.com/containrrr/watchtower/pkg/container" @@ -260,10 +259,6 @@ func UpdateImplicitRestart(containers []container.Container) { // container marked for restart func linkedContainerMarkedForRestart(links []string, containers []container.Container) string { for _, linkName := range links { - // Since the container names need to start with '/', let's prepend it if it's missing - if !strings.HasPrefix(linkName, "/") { - linkName = "/" + linkName - } for _, candidate := range containers { if candidate.Name() == linkName && candidate.ToRestart() { return linkName diff --git a/pkg/container/container.go b/pkg/container/container.go index 36abe8c..b52cdf6 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -160,7 +160,14 @@ func (c Container) Links() []string { dependsOnLabelValue := c.getLabelValueOrEmpty(dependsOnLabel) if dependsOnLabelValue != "" { - links := strings.Split(dependsOnLabelValue, ",") + for _, link := range strings.Split(dependsOnLabelValue, ",") { + // Since the container names need to start with '/', let's prepend it if it's missing + if !strings.HasPrefix(link, "/") { + link = "/" + link + } + links = append(links, link) + } + return links } diff --git a/pkg/container/container_test.go b/pkg/container/container_test.go index 46cf658..b8d76b0 100644 --- a/pkg/container/container_test.go +++ b/pkg/container/container_test.go @@ -178,14 +178,21 @@ var _ = Describe("the container", func() { "com.centurylinklabs.watchtower.depends-on": "postgres", })) links := c.Links() - Expect(links).To(SatisfyAll(ContainElement("postgres"), HaveLen(1))) + Expect(links).To(SatisfyAll(ContainElement("/postgres"), HaveLen(1))) }) It("should fetch depending containers if there are many", func() { c = MockContainer(WithLabels(map[string]string{ "com.centurylinklabs.watchtower.depends-on": "postgres,redis", })) links := c.Links() - Expect(links).To(SatisfyAll(ContainElement("postgres"), ContainElement("redis"), HaveLen(2))) + Expect(links).To(SatisfyAll(ContainElement("/postgres"), ContainElement("/redis"), HaveLen(2))) + }) + It("should only add slashes to names when they are missing", func() { + c = MockContainer(WithLabels(map[string]string{ + "com.centurylinklabs.watchtower.depends-on": "/postgres,redis", + })) + links := c.Links() + Expect(links).To(SatisfyAll(ContainElement("/postgres"), ContainElement("/redis"))) }) It("should fetch depending containers if label is blank", func() { c = MockContainer(WithLabels(map[string]string{ From df1b86bc29c54cc1cf15af162de14eb083902c7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 13:22:06 +0200 Subject: [PATCH 270/389] chore(deps): bump docker/docker from 20.10.23+inc to 23.0.2+inc (#1612) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: nils måsén --- go.mod | 2 +- go.sum | 4 ++-- pkg/container/client.go | 2 +- pkg/container/mocks/ApiServer.go | 1 - 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 758ce36..2ddbb6b 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v20.10.23+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v20.10.23+incompatible + github.com/docker/docker v23.0.2+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.26.0 diff --git a/go.sum b/go.sum index e2fcad6..7911cff 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v20.10.23+incompatible h1:qwyha/T3rXk9lfuVcn533cKFc7n/6IzL github.com/docker/cli v20.10.23+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.23+incompatible h1:1ZQUUYAdh+oylOT85aA2ZcfRp22jmLhoaEcVEfK8dyA= -github.com/docker/docker v20.10.23+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v23.0.2+incompatible h1:q81C2qQ/EhPm8COZMUGOQYh4qLv4Xu6CXELJ3WK/mlU= +github.com/docker/docker v23.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= diff --git a/pkg/container/client.go b/pkg/container/client.go index 7f133e1..753f195 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -260,7 +260,7 @@ func (client dockerClient) StartContainer(c Container) (t.ContainerID, error) { } -func (client dockerClient) doStartContainer(bg context.Context, c Container, creation container.ContainerCreateCreatedBody) error { +func (client dockerClient) doStartContainer(bg context.Context, c Container, creation container.CreateResponse) error { name := c.Name() log.Debugf("Starting container %s (%s)", name, t.ContainerID(creation.ID).ShortID()) diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index 1a05355..a879ede 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -112,7 +112,6 @@ func ListContainersHandler(statuses ...string) http.HandlerFunc { bytes, err := filterArgs.MarshalJSON() O.ExpectWithOffset(1, err).ShouldNot(O.HaveOccurred()) query := url.Values{ - "limit": []string{"0"}, "filters": []string{string(bytes)}, } return ghttp.CombineHandlers( From c6c01c80e9c6b1c3d923f8dcdae89b9a7a2fcc1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 13:22:51 +0200 Subject: [PATCH 271/389] chore(deps): bump alpine from 3.17.1 to 3.17.3 in /dockerfiles (#1613) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dockerfiles/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 687f863..33dfba8 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM alpine:3.17.1 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.17.3 as alpine RUN apk add --no-cache \ ca-certificates \ From 81d23760c88f002fc414202bf40b8e191c9e9430 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 13:23:38 +0200 Subject: [PATCH 272/389] chore(deps): bump actions/setup-go from 3 to 4 (#1596) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 6 +++--- .github/workflows/release-dev.yaml | 4 ++-- .github/workflows/release.yml | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 0762690..30cc0d1 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -16,7 +16,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.18.x - uses: dominikh/staticcheck-action@ba605356b4b29a60e87ab9404b712f3461e566dc #v1.3.0 @@ -41,7 +41,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.18.x - name: Run tests @@ -60,7 +60,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.18.x - name: Build diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 1aa1373..260fbe2 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.18 - name: Build @@ -22,7 +22,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.18 - name: Test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e5f3b98..b2ae831 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.18.x - uses: dominikh/staticcheck-action@ba605356b4b29a60e87ab9404b712f3461e566dc #v1.3.0 @@ -44,7 +44,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.18.x - name: Run tests @@ -66,7 +66,7 @@ jobs: with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.18.x - name: Login to Docker Hub From 035572f0bd60c232cc65dbf5c246d620905d4629 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 14:34:54 +0200 Subject: [PATCH 273/389] chore(deps): bump github.com/docker/docker from 23.0.2+incompatible to 23.0.3+incompatible (#1617) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2ddbb6b..b4be389 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v20.10.23+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v23.0.2+incompatible + github.com/docker/docker v23.0.3+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.26.0 diff --git a/go.sum b/go.sum index 7911cff..d101966 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v20.10.23+incompatible h1:qwyha/T3rXk9lfuVcn533cKFc7n/6IzL github.com/docker/cli v20.10.23+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v23.0.2+incompatible h1:q81C2qQ/EhPm8COZMUGOQYh4qLv4Xu6CXELJ3WK/mlU= -github.com/docker/docker v23.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= +github.com/docker/docker v23.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From dfcaf07b95842f14e993e703f1b03d636f99986f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 17:49:19 +0200 Subject: [PATCH 274/389] chore(deps): bump github.com/docker/cli from 20.10.23+incompatible to 23.0.3+incompatible (#1618) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b4be389..83f6ca1 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 - github.com/docker/cli v20.10.23+incompatible + github.com/docker/cli v23.0.3+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v23.0.3+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index d101966..6588568 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v20.10.23+incompatible h1:qwyha/T3rXk9lfuVcn533cKFc7n/6IzL5GXVAgMVPBg= -github.com/docker/cli v20.10.23+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v23.0.3+incompatible h1:Zcse1DuDqBdgI7OQDV8Go7b83xLgfhW1eza4HfEdxpY= +github.com/docker/cli v23.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= From d0617aa11c1b699394c7325e508a1c503038a5a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 17:50:48 +0200 Subject: [PATCH 275/389] chore(deps): bump golang.org/x/text from 0.6.0 to 0.8.0 (#1575) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 83f6ca1..c610043 100644 --- a/go.mod +++ b/go.mod @@ -56,8 +56,8 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/sys v0.4.0 // indirect - golang.org/x/text v0.6.0 + golang.org/x/sys v0.5.0 // indirect + golang.org/x/text v0.8.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 6588568..26efe4d 100644 --- a/go.sum +++ b/go.sum @@ -889,8 +889,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -904,8 +904,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 3f091f1c057da4d3b1ee236dff5457a3288e5987 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 17:58:59 +0200 Subject: [PATCH 276/389] chore(deps): bump golang.org/x/net from 0.5.0 to 0.9.0 (#1620) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index c610043..65abd15 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.15.0 github.com/stretchr/testify v1.8.1 - golang.org/x/net v0.5.0 + golang.org/x/net v0.9.0 ) require ( @@ -56,8 +56,8 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/text v0.8.0 + golang.org/x/sys v0.7.0 // indirect + golang.org/x/text v0.9.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 26efe4d..275ddbc 100644 --- a/go.sum +++ b/go.sum @@ -753,8 +753,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -889,8 +889,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -904,8 +904,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 288ed1129c23a85ddb2b2a7ee363f2ead72a1144 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 21:33:05 +0200 Subject: [PATCH 277/389] chore(deps): bump github.com/onsi/gomega from 1.26.0 to 1.27.6 (#1623) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.26.0 to 1.27.6. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.26.0...v1.27.6) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 65abd15..1f514b1 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v23.0.3+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.26.0 + github.com/onsi/gomega v1.27.6 github.com/prometheus/client_golang v1.14.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 @@ -31,7 +31,7 @@ require ( github.com/fatih/color v1.13.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect diff --git a/go.sum b/go.sum index 275ddbc..752bfa5 100644 --- a/go.sum +++ b/go.sum @@ -287,6 +287,7 @@ github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -321,8 +322,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -362,6 +364,7 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -506,7 +509,7 @@ github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47 github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= -github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow= +github.com/onsi/ginkgo/v2 v2.9.2 h1:BA2GMJOtfGAfagzYtrAlufIP0lq6QERkFmHLMLPwFSU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -514,8 +517,8 @@ github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9 github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= -github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= -github.com/onsi/gomega v1.26.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM= +github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= +github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -972,6 +975,7 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 46f24d232be7bc5b94be4d431b786b32cfeea441 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 21:37:17 +0200 Subject: [PATCH 278/389] chore(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#1622) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.1 to 1.7.0. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](https://github.com/spf13/cobra/compare/v1.6.1...v1.7.0) --- updated-dependencies: - dependency-name: github.com/spf13/cobra dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 1f514b1..403cb7d 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/prometheus/client_golang v1.14.0 github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 github.com/sirupsen/logrus v1.9.0 - github.com/spf13/cobra v1.6.1 + github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.15.0 github.com/stretchr/testify v1.8.1 @@ -34,7 +34,7 @@ require ( github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.16 // indirect diff --git a/go.sum b/go.sum index 752bfa5..bf0b02f 100644 --- a/go.sum +++ b/go.sum @@ -424,8 +424,9 @@ github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpT github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jarcoal/httpmock v1.2.0 h1:gSvTxxFR/MEMfsGrvRbdfpRUMBStovlSRLw0Ep1bwwc= github.com/jarcoal/httpmock v1.2.0/go.mod h1:oCoTsnAz4+UoOUIf5lJOWV2QQIW5UoeUI6aM2YnWAZk= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= @@ -591,8 +592,9 @@ github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= From a34c02f0b4a3670dcfd5a3645294550f88bac5dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 23:23:18 +0200 Subject: [PATCH 279/389] chore(deps): bump github.com/robfig/cron (#1590) Bumps [github.com/robfig/cron](https://github.com/robfig/cron) from 0.0.0-20180505203441-b41be1df6967 to 1.2.0. - [Release notes](https://github.com/robfig/cron/releases) - [Commits](https://github.com/robfig/cron/commits/v1.2.0) --- updated-dependencies: - dependency-name: github.com/robfig/cron dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 403cb7d..8be8bf2 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.6 github.com/prometheus/client_golang v1.14.0 - github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 + github.com/robfig/cron v1.2.0 github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index bf0b02f..3f46599 100644 --- a/go.sum +++ b/go.sum @@ -569,8 +569,8 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967 h1:x7xEyJDP7Hv3LVgvWhzioQqbC/KtuUhTigKlH/8ehhE= -github.com/robfig/cron v0.0.0-20180505203441-b41be1df6967/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= +github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ= +github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= From 9d6b008b4bd9a657c1fd3935e83f56c251f3de2a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 23:24:22 +0200 Subject: [PATCH 280/389] chore(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1621) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.8.1...v1.8.2) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 8be8bf2..c2529a3 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.15.0 - github.com/stretchr/testify v1.8.1 + github.com/stretchr/testify v1.8.2 golang.org/x/net v0.9.0 ) diff --git a/go.sum b/go.sum index 3f46599..db94432 100644 --- a/go.sum +++ b/go.sum @@ -617,8 +617,9 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= From 4d661bf63b8251861348b88ce73f69e12b001bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Wed, 12 Apr 2023 08:18:00 +0200 Subject: [PATCH 281/389] fix(registry): ignore empty challenge fields (#1626) Co-authored-by: caotian --- pkg/registry/auth/auth.go | 7 +++---- pkg/registry/auth/auth_test.go | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index 23aef60..5056cb3 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -123,10 +123,9 @@ func GetAuthURL(challenge string, img string) (*url.URL, error) { for _, pair := range pairs { trimmed := strings.Trim(pair, " ") - kv := strings.Split(trimmed, "=") - key := kv[0] - val := strings.Trim(kv[1], "\"") - values[key] = val + if key, val, ok := strings.Cut(trimmed, "="); ok { + values[key] = strings.Trim(val, `"`) + } } logrus.WithFields(logrus.Fields{ "realm": values["realm"], diff --git a/pkg/registry/auth/auth_test.go b/pkg/registry/auth/auth_test.go index 6ad2307..e276dda 100644 --- a/pkg/registry/auth/auth_test.go +++ b/pkg/registry/auth/auth_test.go @@ -2,13 +2,14 @@ package auth_test import ( "fmt" - "github.com/containrrr/watchtower/internal/actions/mocks" - "github.com/containrrr/watchtower/pkg/registry/auth" "net/url" "os" "testing" "time" + "github.com/containrrr/watchtower/internal/actions/mocks" + "github.com/containrrr/watchtower/pkg/registry/auth" + wtTypes "github.com/containrrr/watchtower/pkg/types" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" @@ -79,6 +80,18 @@ var _ = Describe("the auth module", func() { Expect(err).To(HaveOccurred()) Expect(res).To(BeNil()) }) + It("should not crash when an empty field is recieved", func() { + input := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull",` + res, err := auth.GetAuthURL(input, "containrrr/watchtower") + Expect(err).NotTo(HaveOccurred()) + Expect(res).NotTo(BeNil()) + }) + It("should not crash when a field without a value is recieved", func() { + input := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull",valuelesskey` + res, err := auth.GetAuthURL(input, "containrrr/watchtower") + Expect(err).NotTo(HaveOccurred()) + Expect(res).NotTo(BeNil()) + }) }) When("getting a challenge url", func() { It("should create a valid challenge url object based on the image ref supplied", func() { From cfcbcac8b0782bfb4f51bfff0866169b9a40c867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Wed, 12 Apr 2023 08:22:52 +0200 Subject: [PATCH 282/389] fix: remove logging of credentials (#1534) --- pkg/registry/auth/auth.go | 3 ++- pkg/registry/digest/digest.go | 18 ++++++++++-------- pkg/registry/registry.go | 4 +++- pkg/registry/trust.go | 6 ++++-- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index 5056cb3..b21e759 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -91,7 +91,8 @@ func GetBearerHeader(challenge string, img string, registryAuth string) (string, if registryAuth != "" { logrus.Debug("Credentials found.") - logrus.Tracef("Credentials: %v", registryAuth) + // CREDENTIAL: Uncomment to log registry credentials + // logrus.Tracef("Credentials: %v", registryAuth) r.Header.Add("Authorization", fmt.Sprintf("Basic %s", registryAuth)) } else { logrus.Debug("No credentials found.") diff --git a/pkg/registry/digest/digest.go b/pkg/registry/digest/digest.go index 3bdf241..e569599 100644 --- a/pkg/registry/digest/digest.go +++ b/pkg/registry/digest/digest.go @@ -6,15 +6,16 @@ import ( "encoding/json" "errors" "fmt" + "net" + "net/http" + "strings" + "time" + "github.com/containrrr/watchtower/internal/meta" "github.com/containrrr/watchtower/pkg/registry/auth" "github.com/containrrr/watchtower/pkg/registry/manifest" "github.com/containrrr/watchtower/pkg/types" "github.com/sirupsen/logrus" - "net" - "net/http" - "strings" - "time" ) // ContentDigestHeader is the key for the key-value pair containing the digest header @@ -25,7 +26,7 @@ func CompareDigest(container types.Container, registryAuth string) (bool, error) if !container.HasImageInfo() { return false, errors.New("container image info missing") } - + var digest string registryAuth = TransformAuth(registryAuth) @@ -93,12 +94,13 @@ func GetDigest(url string, token string) (string, error) { req, _ := http.NewRequest("HEAD", url, nil) req.Header.Set("User-Agent", meta.UserAgent) - if token != "" { - logrus.WithField("token", token).Trace("Setting request token") - } else { + if token == "" { return "", errors.New("could not fetch token") } + // CREDENTIAL: Uncomment to log the request token + // logrus.WithField("token", token).Trace("Setting request token") + req.Header.Add("Authorization", token) req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.v2+json") req.Header.Add("Accept", "application/vnd.docker.distribution.manifest.list.v2+json") diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index 9edd66f..0347673 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -19,7 +19,9 @@ func GetPullOptions(imageName string) (types.ImagePullOptions, error) { if auth == "" { return types.ImagePullOptions{}, nil } - log.Tracef("Got auth value: %s", auth) + + // CREDENTIAL: Uncomment to log docker config auth + // log.Tracef("Got auth value: %s", auth) return types.ImagePullOptions{ RegistryAuth: auth, diff --git a/pkg/registry/trust.go b/pkg/registry/trust.go index fa17bbc..9024777 100644 --- a/pkg/registry/trust.go +++ b/pkg/registry/trust.go @@ -38,7 +38,8 @@ func EncodedEnvAuth(ref string) (string, error) { Password: password, } log.Debugf("Loaded auth credentials for user %s on registry %s", auth.Username, ref) - log.Tracef("Using auth password %s", auth.Password) + // CREDENTIAL: Uncomment to log REPO_PASS environment variable + // log.Tracef("Using auth password %s", auth.Password) return EncodeAuth(auth) } return "", errors.New("registry auth environment variables (REPO_USER, REPO_PASS) not set") @@ -71,7 +72,8 @@ func EncodedConfigAuth(ref string) (string, error) { return "", nil } log.Debugf("Loaded auth credentials for user %s, on registry %s, from file %s", auth.Username, ref, configFile.Filename) - log.Tracef("Using auth password %s", auth.Password) + // CREDENTIAL: Uncomment to log docker config password + // log.Tracef("Using auth password %s", auth.Password) return EncodeAuth(auth) } From a0fe4a46946cb82e4cf1c499356543f6cd6cf9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Wed, 12 Apr 2023 08:49:05 +0200 Subject: [PATCH 283/389] ci: add dependabot auto approve --- .github/workflows/dependabot-approve.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/dependabot-approve.yml diff --git a/.github/workflows/dependabot-approve.yml b/.github/workflows/dependabot-approve.yml new file mode 100644 index 0000000..46f9d18 --- /dev/null +++ b/.github/workflows/dependabot-approve.yml @@ -0,0 +1,12 @@ +name: Auto approve dependabot PRs + +on: pull_request_target + +jobs: + auto-approve: + runs-on: ubuntu-latest + permissions: + pull-requests: write + if: github.actor == 'dependabot[bot]' + steps: + - uses: hmarr/auto-approve-action@v3 From aa50d1238975a028c374a908af122c64b1fddc74 Mon Sep 17 00:00:00 2001 From: Louis Genestier <37811574+louis-genestier@users.noreply.github.com> Date: Wed, 12 Apr 2023 08:50:40 +0200 Subject: [PATCH 284/389] fix(docs): fix anchor links in the metrics part (#1522) --- docs/metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/metrics.md b/docs/metrics.md index 7bb6383..480d7c6 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -4,7 +4,7 @@ Metrics can be used to track how Watchtower behaves over time. -To use this feature, you have to set an [API token](arguments.md#http-api-token) and [enable the metrics API](arguments.md#http-api-metrics), +To use this feature, you have to set an [API token](arguments.md#http_api_token) and [enable the metrics API](arguments.md#http_api_metrics), as well as creating a port mapping for your container for port `8080`. The metrics API endpoint is `/v1/metrics`. From 25fdb40312da7707141160dd52aee427a0f3a59a Mon Sep 17 00:00:00 2001 From: Reinier van der Leer Date: Wed, 12 Apr 2023 17:15:12 +0200 Subject: [PATCH 285/389] fix(registry): image name parsing behavior (#1526) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- docs/private-registries.md | 34 +++++--- docs/usage-overview.md | 6 +- pkg/registry/auth/auth.go | 69 +++++----------- pkg/registry/auth/auth_test.go | 109 ++++++++++++++++--------- pkg/registry/helpers/helpers.go | 38 ++++----- pkg/registry/helpers/helpers_test.go | 34 ++++---- pkg/registry/manifest/manifest.go | 44 +++------- pkg/registry/manifest/manifest_test.go | 87 ++++++++++---------- pkg/registry/registry.go | 6 +- pkg/registry/registry_test.go | 2 - pkg/registry/trust.go | 34 +++----- pkg/registry/trust_test.go | 80 ++++++++---------- 12 files changed, 249 insertions(+), 294 deletions(-) diff --git a/docs/private-registries.md b/docs/private-registries.md index ee4ed41..1852795 100644 --- a/docs/private-registries.md +++ b/docs/private-registries.md @@ -23,19 +23,29 @@ password `auth` string: ``` `` needs to be replaced by the name of your private registry -(e.g., `my-private-registry.example.org`) +(e.g., `my-private-registry.example.org`). -!!! important "Using private images on docker hub" - When using private images on docker hub, the containers beeing watched needs to use the full image name, including the repository prefix `index.docker.io`. - So instead of - ``` - docker run -d myuser/myimage - ``` - you would run it as - ``` - docker run -d index.docker.io/myuser/myimage - ``` +!!! info "Using private images on Docker Hub" + To access private repositories on Docker Hub, + `` should be `https://index.docker.io/v1/`. + In this special case, the registry domain does not have to be specified + in `docker run` or `docker-compose`. Like Docker, Watchtower will use the + Docker Hub registry and its credentials when no registry domain is specified. + + Watchtower will recognize credentials with `` `index.docker.io`, + but the Docker CLI will not. +!!! important "Using a private registry on a local host" + To use a private registry hosted locally, make sure to correctly specify the registry host + in both `config.json` and the `docker run` command or `docker-compose` file. + Valid hosts are `localhost[:PORT]`, `HOST:PORT`, + or any multi-part `domain.name` or IP-address with or without a port. + + Examples: + * `localhost` -> `localhost/myimage` + * `127.0.0.1` -> `127.0.0.1/myimage:mytag` + * `host.domain` -> `host.domain/myorganization/myimage` + * `other-lan-host:80` -> `other-lan-host:80/imagename:latest` The required `auth` string can be generated as follows: @@ -75,7 +85,7 @@ When creating the watchtower container via docker-compose, use the following lin version: "3.4" services: watchtower: - image: index.docker.io/containrrr/watchtower:latest + image: containrrr/watchtower:latest volumes: - /var/run/docker.sock:/var/run/docker.sock - /.docker/config.json:/config.json diff --git a/docs/usage-overview.md b/docs/usage-overview.md index 8c1e12f..1cac352 100644 --- a/docs/usage-overview.md +++ b/docs/usage-overview.md @@ -48,14 +48,14 @@ docker run -d \ If you mount the config file as described above, be sure to also prepend the URL for the registry when starting up your watched image (you can omit the https://). Here is a complete docker-compose.yml file that starts up a docker container -from a private repo at Docker Hub and monitors it with watchtower. Note the command argument changing the interval to -30s rather than the default 24 hours. +from a private repo on the GitHub Registry and monitors it with watchtower. Note the command argument changing the interval +to 30s rather than the default 24 hours. ```yaml version: "3" services: cavo: - image: index.docker.io//: + image: ghcr.io//: ports: - "443:3443" - "80:3080" diff --git a/pkg/registry/auth/auth.go b/pkg/registry/auth/auth.go index b21e759..aae4df4 100644 --- a/pkg/registry/auth/auth.go +++ b/pkg/registry/auth/auth.go @@ -4,14 +4,14 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" + "io" "net/http" "net/url" "strings" "github.com/containrrr/watchtower/pkg/registry/helpers" "github.com/containrrr/watchtower/pkg/types" - "github.com/docker/distribution/reference" + ref "github.com/docker/distribution/reference" "github.com/sirupsen/logrus" ) @@ -20,13 +20,13 @@ const ChallengeHeader = "WWW-Authenticate" // GetToken fetches a token for the registry hosting the provided image func GetToken(container types.Container, registryAuth string) (string, error) { - var err error - var URL url.URL - - if URL, err = GetChallengeURL(container.ImageName()); err != nil { + normalizedRef, err := ref.ParseNormalizedNamed(container.ImageName()) + if err != nil { return "", err } - logrus.WithField("URL", URL.String()).Debug("Building challenge URL") + + URL := GetChallengeURL(normalizedRef) + logrus.WithField("URL", URL.String()).Debug("Built challenge URL") var req *http.Request if req, err = GetChallengeRequest(URL); err != nil { @@ -55,7 +55,7 @@ func GetToken(container types.Container, registryAuth string) (string, error) { return fmt.Sprintf("Basic %s", registryAuth), nil } if strings.HasPrefix(challenge, "bearer") { - return GetBearerHeader(challenge, container.ImageName(), registryAuth) + return GetBearerHeader(challenge, normalizedRef, registryAuth) } return "", errors.New("unsupported challenge type from registry") @@ -73,12 +73,9 @@ func GetChallengeRequest(URL url.URL) (*http.Request, error) { } // GetBearerHeader tries to fetch a bearer token from the registry based on the challenge instructions -func GetBearerHeader(challenge string, img string, registryAuth string) (string, error) { +func GetBearerHeader(challenge string, imageRef ref.Named, registryAuth string) (string, error) { client := http.Client{} - if strings.Contains(img, ":") { - img = strings.Split(img, ":")[0] - } - authURL, err := GetAuthURL(challenge, img) + authURL, err := GetAuthURL(challenge, imageRef) if err != nil { return "", err @@ -103,7 +100,7 @@ func GetBearerHeader(challenge string, img string, registryAuth string) (string, return "", err } - body, _ := ioutil.ReadAll(authResponse.Body) + body, _ := io.ReadAll(authResponse.Body) tokenResponse := &types.TokenResponse{} err = json.Unmarshal(body, tokenResponse) @@ -115,7 +112,7 @@ func GetBearerHeader(challenge string, img string, registryAuth string) (string, } // GetAuthURL from the instructions in the challenge -func GetAuthURL(challenge string, img string) (*url.URL, error) { +func GetAuthURL(challenge string, imageRef ref.Named) (*url.URL, error) { loweredChallenge := strings.ToLower(challenge) raw := strings.TrimPrefix(loweredChallenge, "bearer") @@ -141,53 +138,25 @@ func GetAuthURL(challenge string, img string) (*url.URL, error) { q := authURL.Query() q.Add("service", values["service"]) - scopeImage := GetScopeFromImageName(img, values["service"]) + scopeImage := ref.Path(imageRef) scope := fmt.Sprintf("repository:%s:pull", scopeImage) - logrus.WithFields(logrus.Fields{"scope": scope, "image": img}).Debug("Setting scope for auth token") + logrus.WithFields(logrus.Fields{"scope": scope, "image": imageRef.Name()}).Debug("Setting scope for auth token") q.Add("scope", scope) authURL.RawQuery = q.Encode() return authURL, nil } -// GetScopeFromImageName normalizes an image name for use as scope during auth and head requests -func GetScopeFromImageName(img, svc string) string { - parts := strings.Split(img, "/") - - if len(parts) > 2 { - if strings.Contains(svc, "docker.io") { - return fmt.Sprintf("%s/%s", parts[1], strings.Join(parts[2:], "/")) - } - return strings.Join(parts, "/") - } - - if len(parts) == 2 { - if strings.Contains(parts[0], "docker.io") { - return fmt.Sprintf("library/%s", parts[1]) - } - return strings.Replace(img, svc+"/", "", 1) - } - - if strings.Contains(svc, "docker.io") { - return fmt.Sprintf("library/%s", parts[0]) - } - return img -} - -// GetChallengeURL creates a URL object based on the image info -func GetChallengeURL(img string) (url.URL, error) { - - normalizedNamed, _ := reference.ParseNormalizedNamed(img) - host, err := helpers.NormalizeRegistry(normalizedNamed.String()) - if err != nil { - return url.URL{}, err - } +// GetChallengeURL returns the URL to check auth requirements +// for access to a given image +func GetChallengeURL(imageRef ref.Named) url.URL { + host, _ := helpers.GetRegistryAddress(imageRef.Name()) URL := url.URL{ Scheme: "https", Host: host, Path: "/v2/", } - return URL, nil + return URL } diff --git a/pkg/registry/auth/auth_test.go b/pkg/registry/auth/auth_test.go index e276dda..f29ebff 100644 --- a/pkg/registry/auth/auth_test.go +++ b/pkg/registry/auth/auth_test.go @@ -4,6 +4,7 @@ import ( "fmt" "net/url" "os" + "strings" "testing" "time" @@ -11,6 +12,7 @@ import ( "github.com/containrrr/watchtower/pkg/registry/auth" wtTypes "github.com/containrrr/watchtower/pkg/types" + ref "github.com/docker/distribution/reference" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) @@ -52,7 +54,7 @@ var _ = Describe("the auth module", func() { mockCreated, mockDigest) - When("getting an auth url", func() { + Describe("GetToken", func() { It("should parse the token from the response", SkipIfCredentialsEmpty(GHCRCredentials, func() { creds := fmt.Sprintf("%s:%s", GHCRCredentials.Username, GHCRCredentials.Password) @@ -61,73 +63,100 @@ var _ = Describe("the auth module", func() { Expect(token).NotTo(Equal("")) }), ) + }) + Describe("GetAuthURL", func() { It("should create a valid auth url object based on the challenge header supplied", func() { - input := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull"` + challenge := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull"` + imageRef, err := ref.ParseNormalizedNamed("containrrr/watchtower") + Expect(err).NotTo(HaveOccurred()) expected := &url.URL{ Host: "ghcr.io", Scheme: "https", Path: "/token", RawQuery: "scope=repository%3Acontainrrr%2Fwatchtower%3Apull&service=ghcr.io", } - res, err := auth.GetAuthURL(input, "containrrr/watchtower") + + URL, err := auth.GetAuthURL(challenge, imageRef) Expect(err).NotTo(HaveOccurred()) - Expect(res).To(Equal(expected)) + Expect(URL).To(Equal(expected)) }) - It("should create a valid auth url object based on the challenge header supplied", func() { - input := `bearer realm="https://ghcr.io/token"` - res, err := auth.GetAuthURL(input, "containrrr/watchtower") - Expect(err).To(HaveOccurred()) - Expect(res).To(BeNil()) + + When("given an invalid challenge header", func() { + It("should return an error", func() { + challenge := `bearer realm="https://ghcr.io/token"` + imageRef, err := ref.ParseNormalizedNamed("containrrr/watchtower") + Expect(err).NotTo(HaveOccurred()) + URL, err := auth.GetAuthURL(challenge, imageRef) + Expect(err).To(HaveOccurred()) + Expect(URL).To(BeNil()) + }) + }) + + When("deriving the auth scope from an image name", func() { + It("should prepend official dockerhub images with \"library/\"", func() { + Expect(getScopeFromImageAuthURL("registry")).To(Equal("library/registry")) + Expect(getScopeFromImageAuthURL("docker.io/registry")).To(Equal("library/registry")) + Expect(getScopeFromImageAuthURL("index.docker.io/registry")).To(Equal("library/registry")) + }) + It("should not include vanity hosts\"", func() { + Expect(getScopeFromImageAuthURL("docker.io/containrrr/watchtower")).To(Equal("containrrr/watchtower")) + Expect(getScopeFromImageAuthURL("index.docker.io/containrrr/watchtower")).To(Equal("containrrr/watchtower")) + }) + It("should not destroy three segment image names\"", func() { + Expect(getScopeFromImageAuthURL("piksel/containrrr/watchtower")).To(Equal("piksel/containrrr/watchtower")) + Expect(getScopeFromImageAuthURL("ghcr.io/piksel/containrrr/watchtower")).To(Equal("piksel/containrrr/watchtower")) + }) + It("should not prepend library/ to image names if they're not on dockerhub", func() { + Expect(getScopeFromImageAuthURL("ghcr.io/watchtower")).To(Equal("watchtower")) + Expect(getScopeFromImageAuthURL("ghcr.io/containrrr/watchtower")).To(Equal("containrrr/watchtower")) + }) }) It("should not crash when an empty field is recieved", func() { input := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull",` - res, err := auth.GetAuthURL(input, "containrrr/watchtower") + imageRef, err := ref.ParseNormalizedNamed("containrrr/watchtower") + Expect(err).NotTo(HaveOccurred()) + res, err := auth.GetAuthURL(input, imageRef) Expect(err).NotTo(HaveOccurred()) Expect(res).NotTo(BeNil()) }) It("should not crash when a field without a value is recieved", func() { input := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull",valuelesskey` - res, err := auth.GetAuthURL(input, "containrrr/watchtower") + imageRef, err := ref.ParseNormalizedNamed("containrrr/watchtower") + Expect(err).NotTo(HaveOccurred()) + res, err := auth.GetAuthURL(input, imageRef) Expect(err).NotTo(HaveOccurred()) Expect(res).NotTo(BeNil()) }) }) - When("getting a challenge url", func() { + + Describe("GetChallengeURL", func() { It("should create a valid challenge url object based on the image ref supplied", func() { expected := url.URL{Host: "ghcr.io", Scheme: "https", Path: "/v2/"} - Expect(auth.GetChallengeURL("ghcr.io/containrrr/watchtower:latest")).To(Equal(expected)) + imageRef, _ := ref.ParseNormalizedNamed("ghcr.io/containrrr/watchtower:latest") + Expect(auth.GetChallengeURL(imageRef)).To(Equal(expected)) }) - It("should assume dockerhub if the image ref is not fully qualified", func() { + It("should assume Docker Hub for image refs with no explicit registry", func() { expected := url.URL{Host: "index.docker.io", Scheme: "https", Path: "/v2/"} - Expect(auth.GetChallengeURL("containrrr/watchtower:latest")).To(Equal(expected)) + imageRef, _ := ref.ParseNormalizedNamed("containrrr/watchtower:latest") + Expect(auth.GetChallengeURL(imageRef)).To(Equal(expected)) }) - It("should convert legacy dockerhub hostnames to index.docker.io", func() { + It("should use index.docker.io if the image ref specifies docker.io", func() { expected := url.URL{Host: "index.docker.io", Scheme: "https", Path: "/v2/"} - Expect(auth.GetChallengeURL("docker.io/containrrr/watchtower:latest")).To(Equal(expected)) - Expect(auth.GetChallengeURL("registry-1.docker.io/containrrr/watchtower:latest")).To(Equal(expected)) - }) - }) - When("getting the auth scope from an image name", func() { - It("should prepend official dockerhub images with \"library/\"", func() { - Expect(auth.GetScopeFromImageName("docker.io/registry", "index.docker.io")).To(Equal("library/registry")) - Expect(auth.GetScopeFromImageName("docker.io/registry", "docker.io")).To(Equal("library/registry")) - - Expect(auth.GetScopeFromImageName("registry", "index.docker.io")).To(Equal("library/registry")) - Expect(auth.GetScopeFromImageName("watchtower", "registry-1.docker.io")).To(Equal("library/watchtower")) - - }) - It("should not include vanity hosts\"", func() { - Expect(auth.GetScopeFromImageName("docker.io/containrrr/watchtower", "index.docker.io")).To(Equal("containrrr/watchtower")) - Expect(auth.GetScopeFromImageName("index.docker.io/containrrr/watchtower", "index.docker.io")).To(Equal("containrrr/watchtower")) - }) - It("should not destroy three segment image names\"", func() { - Expect(auth.GetScopeFromImageName("piksel/containrrr/watchtower", "index.docker.io")).To(Equal("containrrr/watchtower")) - Expect(auth.GetScopeFromImageName("piksel/containrrr/watchtower", "ghcr.io")).To(Equal("piksel/containrrr/watchtower")) - }) - It("should not add \"library/\" for one segment image names if they're not on dockerhub", func() { - Expect(auth.GetScopeFromImageName("ghcr.io/watchtower", "ghcr.io")).To(Equal("watchtower")) - Expect(auth.GetScopeFromImageName("watchtower", "ghcr.io")).To(Equal("watchtower")) + imageRef, _ := ref.ParseNormalizedNamed("docker.io/containrrr/watchtower:latest") + Expect(auth.GetChallengeURL(imageRef)).To(Equal(expected)) }) }) }) + +var scopeImageRegexp = MatchRegexp("^repository:[a-z0-9]+(/[a-z0-9]+)*:pull$") + +func getScopeFromImageAuthURL(imageName string) string { + normalizedRef, _ := ref.ParseNormalizedNamed(imageName) + challenge := `bearer realm="https://dummy.host/token",service="dummy.host",scope="repository:user/image:pull"` + URL, _ := auth.GetAuthURL(challenge, normalizedRef) + + scope := URL.Query().Get("scope") + Expect(scopeImageRegexp.Match(scope)).To(BeTrue()) + return strings.Replace(scope[11:], ":pull", "", 1) +} diff --git a/pkg/registry/helpers/helpers.go b/pkg/registry/helpers/helpers.go index 1469331..8d99f2d 100644 --- a/pkg/registry/helpers/helpers.go +++ b/pkg/registry/helpers/helpers.go @@ -1,36 +1,28 @@ package helpers import ( - "fmt" - url2 "net/url" + "github.com/docker/distribution/reference" ) -// ConvertToHostname strips a url from everything but the hostname part -func ConvertToHostname(url string) (string, string, error) { - urlWithSchema := fmt.Sprintf("x://%s", url) - u, err := url2.Parse(urlWithSchema) - if err != nil { - return "", "", err - } - hostName := u.Hostname() - port := u.Port() +// domains for Docker Hub, the default registry +const ( + DefaultRegistryDomain = "docker.io" + DefaultRegistryHost = "index.docker.io" + LegacyDefaultRegistryDomain = "index.docker.io" +) - return hostName, port, err -} - -// NormalizeRegistry makes sure variations of DockerHubs registry -func NormalizeRegistry(registry string) (string, error) { - hostName, port, err := ConvertToHostname(registry) +// GetRegistryAddress parses an image name +// and returns the address of the specified registry +func GetRegistryAddress(imageRef string) (string, error) { + normalizedRef, err := reference.ParseNormalizedNamed(imageRef) if err != nil { return "", err } - if hostName == "registry-1.docker.io" || hostName == "docker.io" { - hostName = "index.docker.io" - } + address := reference.Domain(normalizedRef) - if port != "" { - return fmt.Sprintf("%s:%s", hostName, port), nil + if address == DefaultRegistryDomain { + address = DefaultRegistryHost } - return hostName, nil + return address, nil } diff --git a/pkg/registry/helpers/helpers_test.go b/pkg/registry/helpers/helpers_test.go index 92e9116..a561c2c 100644 --- a/pkg/registry/helpers/helpers_test.go +++ b/pkg/registry/helpers/helpers_test.go @@ -1,9 +1,10 @@ package helpers import ( + "testing" + . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "testing" ) func TestHelpers(t *testing.T) { @@ -12,20 +13,25 @@ func TestHelpers(t *testing.T) { } var _ = Describe("the helpers", func() { - - When("converting an url to a hostname", func() { - It("should return docker.io given docker.io/containrrr/watchtower:latest", func() { - host, port, err := ConvertToHostname("docker.io/containrrr/watchtower:latest") - Expect(err).NotTo(HaveOccurred()) - Expect(host).To(Equal("docker.io")) - Expect(port).To(BeEmpty()) + Describe("GetRegistryAddress", func() { + It("should return error if passed empty string", func() { + _, err := GetRegistryAddress("") + Expect(err).To(HaveOccurred()) }) - }) - When("normalizing the registry information", func() { - It("should return index.docker.io given docker.io", func() { - out, err := NormalizeRegistry("docker.io/containrrr/watchtower:latest") - Expect(err).NotTo(HaveOccurred()) - Expect(out).To(Equal("index.docker.io")) + It("should return index.docker.io for image refs with no explicit registry", func() { + Expect(GetRegistryAddress("watchtower")).To(Equal("index.docker.io")) + Expect(GetRegistryAddress("containrrr/watchtower")).To(Equal("index.docker.io")) + }) + It("should return index.docker.io for image refs with docker.io domain", func() { + Expect(GetRegistryAddress("docker.io/watchtower")).To(Equal("index.docker.io")) + Expect(GetRegistryAddress("docker.io/containrrr/watchtower")).To(Equal("index.docker.io")) + }) + It("should return the host if passed an image name containing a local host", func() { + Expect(GetRegistryAddress("henk:80/watchtower")).To(Equal("henk:80")) + Expect(GetRegistryAddress("localhost/watchtower")).To(Equal("localhost")) + }) + It("should return the server address if passed a fully qualified image name", func() { + Expect(GetRegistryAddress("github.com/containrrr/config")).To(Equal("github.com")) }) }) }) diff --git a/pkg/registry/manifest/manifest.go b/pkg/registry/manifest/manifest.go index facbb6c..d1b18a9 100644 --- a/pkg/registry/manifest/manifest.go +++ b/pkg/registry/manifest/manifest.go @@ -1,42 +1,41 @@ package manifest import ( + "errors" "fmt" - "github.com/containrrr/watchtower/pkg/registry/auth" + url2 "net/url" + "github.com/containrrr/watchtower/pkg/registry/helpers" "github.com/containrrr/watchtower/pkg/types" ref "github.com/docker/distribution/reference" "github.com/sirupsen/logrus" - url2 "net/url" - "strings" ) // BuildManifestURL from raw image data func BuildManifestURL(container types.Container) (string, error) { - - normalizedName, err := ref.ParseNormalizedNamed(container.ImageName()) + normalizedRef, err := ref.ParseDockerRef(container.ImageName()) if err != nil { return "", err } + normalizedTaggedRef, isTagged := normalizedRef.(ref.NamedTagged) + if !isTagged { + return "", errors.New("Parsed container image ref has no tag: " + normalizedRef.String()) + } - host, err := helpers.NormalizeRegistry(normalizedName.String()) - img, tag := ExtractImageAndTag(strings.TrimPrefix(container.ImageName(), host+"/")) + host, _ := helpers.GetRegistryAddress(normalizedTaggedRef.Name()) + img, tag := ref.Path(normalizedTaggedRef), normalizedTaggedRef.Tag() logrus.WithFields(logrus.Fields{ "image": img, "tag": tag, - "normalized": normalizedName, + "normalized": normalizedTaggedRef.Name(), "host": host, }).Debug("Parsing image ref") if err != nil { return "", err } - img = auth.GetScopeFromImageName(img, host) - if !strings.Contains(img, "/") { - img = "library/" + img - } url := url2.URL{ Scheme: "https", Host: host, @@ -44,24 +43,3 @@ func BuildManifestURL(container types.Container) (string, error) { } return url.String(), nil } - -// ExtractImageAndTag from a concatenated string -func ExtractImageAndTag(imageName string) (string, string) { - var img string - var tag string - - if strings.Contains(imageName, ":") { - parts := strings.Split(imageName, ":") - if len(parts) > 2 { - img = parts[0] - tag = strings.Join(parts[1:], ":") - } else { - img = parts[0] - tag = parts[1] - } - } else { - img = imageName - tag = "latest" - } - return img, tag -} diff --git a/pkg/registry/manifest/manifest_test.go b/pkg/registry/manifest/manifest_test.go index 95f196b..b24d9bc 100644 --- a/pkg/registry/manifest/manifest_test.go +++ b/pkg/registry/manifest/manifest_test.go @@ -1,13 +1,14 @@ package manifest_test import ( + "testing" + "time" + "github.com/containrrr/watchtower/internal/actions/mocks" "github.com/containrrr/watchtower/pkg/registry/manifest" apiTypes "github.com/docker/docker/api/types" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "testing" - "time" ) func TestManifest(t *testing.T) { @@ -16,60 +17,58 @@ func TestManifest(t *testing.T) { } var _ = Describe("the manifest module", func() { - mockId := "mock-id" - mockName := "mock-container" - mockCreated := time.Now() - - When("building a manifest url", func() { + Describe("BuildManifestURL", func() { It("should return a valid url given a fully qualified image", func() { - expected := "https://ghcr.io/v2/containrrr/watchtower/manifests/latest" - imageInfo := apiTypes.ImageInspect{ - RepoTags: []string{ - "ghcr.io/k6io/operator:latest", - }, - } - mock := mocks.CreateMockContainerWithImageInfo(mockId, mockName, "ghcr.io/containrrr/watchtower:latest", mockCreated, imageInfo) - res, err := manifest.BuildManifestURL(mock) + imageRef := "ghcr.io/containrrr/watchtower:mytag" + expected := "https://ghcr.io/v2/containrrr/watchtower/manifests/mytag" + + URL, err := buildMockContainerManifestURL(imageRef) Expect(err).NotTo(HaveOccurred()) - Expect(res).To(Equal(expected)) + Expect(URL).To(Equal(expected)) }) - It("should assume dockerhub for non-qualified images", func() { + It("should assume Docker Hub for image refs with no explicit registry", func() { + imageRef := "containrrr/watchtower:latest" expected := "https://index.docker.io/v2/containrrr/watchtower/manifests/latest" - imageInfo := apiTypes.ImageInspect{ - RepoTags: []string{ - "containrrr/watchtower:latest", - }, - } - mock := mocks.CreateMockContainerWithImageInfo(mockId, mockName, "containrrr/watchtower:latest", mockCreated, imageInfo) - res, err := manifest.BuildManifestURL(mock) + URL, err := buildMockContainerManifestURL(imageRef) Expect(err).NotTo(HaveOccurred()) - Expect(res).To(Equal(expected)) + Expect(URL).To(Equal(expected)) }) - It("should assume latest for images that lack an explicit tag", func() { + It("should assume latest for image refs with no explicit tag", func() { + imageRef := "containrrr/watchtower" expected := "https://index.docker.io/v2/containrrr/watchtower/manifests/latest" - imageInfo := apiTypes.ImageInspect{ - RepoTags: []string{ - "containrrr/watchtower", - }, - } - - mock := mocks.CreateMockContainerWithImageInfo(mockId, mockName, "containrrr/watchtower", mockCreated, imageInfo) - - res, err := manifest.BuildManifestURL(mock) + URL, err := buildMockContainerManifestURL(imageRef) Expect(err).NotTo(HaveOccurred()) - Expect(res).To(Equal(expected)) + Expect(URL).To(Equal(expected)) }) - It("should combine the tag name and digest pinning into one digest, given multiple colons", func() { - in := "containrrr/watchtower:latest@sha256:daf7034c5c89775afe3008393ae033529913548243b84926931d7c84398ecda7" - image, tag := "containrrr/watchtower", "latest@sha256:daf7034c5c89775afe3008393ae033529913548243b84926931d7c84398ecda7" + It("should not prepend library/ for single-part container names in registries other than Docker Hub", func() { + imageRef := "docker-registry.domain/imagename:latest" + expected := "https://docker-registry.domain/v2/imagename/manifests/latest" - imageOut, tagOut := manifest.ExtractImageAndTag(in) - - Expect(imageOut).To(Equal(image)) - Expect(tagOut).To(Equal(tag)) + URL, err := buildMockContainerManifestURL(imageRef) + Expect(err).NotTo(HaveOccurred()) + Expect(URL).To(Equal(expected)) + }) + It("should throw an error on pinned images", func() { + imageRef := "docker-registry.domain/imagename@sha256:daf7034c5c89775afe3008393ae033529913548243b84926931d7c84398ecda7" + URL, err := buildMockContainerManifestURL(imageRef) + Expect(err).To(HaveOccurred()) + Expect(URL).To(BeEmpty()) }) }) - }) + +func buildMockContainerManifestURL(imageRef string) (string, error) { + imageInfo := apiTypes.ImageInspect{ + RepoTags: []string{ + imageRef, + }, + } + mockID := "mock-id" + mockName := "mock-container" + mockCreated := time.Now() + mock := mocks.CreateMockContainerWithImageInfo(mockID, mockName, imageRef, mockCreated, imageInfo) + + return manifest.BuildManifestURL(mock) +} diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index 0347673..4894f04 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -43,17 +43,17 @@ func DefaultAuthHandler() (string, error) { // Will return false if behavior for container is unknown. func WarnOnAPIConsumption(container watchtowerTypes.Container) bool { - normalizedName, err := ref.ParseNormalizedNamed(container.ImageName()) + normalizedRef, err := ref.ParseNormalizedNamed(container.ImageName()) if err != nil { return true } - containerHost, err := helpers.NormalizeRegistry(normalizedName.String()) + containerHost, err := helpers.GetRegistryAddress(normalizedRef.Name()) if err != nil { return true } - if containerHost == "index.docker.io" || containerHost == "ghcr.io" { + if containerHost == helpers.DefaultRegistryHost || containerHost == "ghcr.io" { return true } diff --git a/pkg/registry/registry_test.go b/pkg/registry/registry_test.go index 5f3f57f..481c91d 100644 --- a/pkg/registry/registry_test.go +++ b/pkg/registry/registry_test.go @@ -23,11 +23,9 @@ var _ = Describe("Registry", func() { }) When("Given a container with an image explicitly from dockerhub", func() { It("should want to warn", func() { - Expect(testContainerWithImage("registry-1.docker.io/docker:latest")).To(BeTrue()) Expect(testContainerWithImage("index.docker.io/docker:latest")).To(BeTrue()) Expect(testContainerWithImage("docker.io/docker:latest")).To(BeTrue()) }) - }) When("Given a container with an image from some other registry", func() { It("should not want to warn", func() { diff --git a/pkg/registry/trust.go b/pkg/registry/trust.go index 9024777..0b20248 100644 --- a/pkg/registry/trust.go +++ b/pkg/registry/trust.go @@ -5,13 +5,12 @@ import ( "encoding/json" "errors" "os" - "strings" + "github.com/containrrr/watchtower/pkg/registry/helpers" cliconfig "github.com/docker/cli/cli/config" "github.com/docker/cli/cli/config/configfile" "github.com/docker/cli/cli/config/credentials" "github.com/docker/cli/cli/config/types" - "github.com/docker/distribution/reference" log "github.com/sirupsen/logrus" ) @@ -19,7 +18,7 @@ import ( // loaded from environment variables or docker config // as available in that order func EncodedAuth(ref string) (string, error) { - auth, err := EncodedEnvAuth(ref) + auth, err := EncodedEnvAuth() if err != nil { auth, err = EncodedConfigAuth(ref) } @@ -29,7 +28,7 @@ func EncodedAuth(ref string) (string, error) { // EncodedEnvAuth returns an encoded auth config for the given registry // loaded from environment variables // Returns an error if authentication environment variables have not been set -func EncodedEnvAuth(ref string) (string, error) { +func EncodedEnvAuth() (string, error) { username := os.Getenv("REPO_USER") password := os.Getenv("REPO_PASS") if username != "" && password != "" { @@ -37,9 +36,11 @@ func EncodedEnvAuth(ref string) (string, error) { Username: username, Password: password, } - log.Debugf("Loaded auth credentials for user %s on registry %s", auth.Username, ref) + + log.Debugf("Loaded auth credentials for registry user %s from environment", auth.Username) // CREDENTIAL: Uncomment to log REPO_PASS environment variable // log.Tracef("Using auth password %s", auth.Password) + return EncodeAuth(auth) } return "", errors.New("registry auth environment variables (REPO_USER, REPO_PASS) not set") @@ -49,19 +50,20 @@ func EncodedEnvAuth(ref string) (string, error) { // loaded from the docker config // Returns an empty string if credentials cannot be found for the referenced server // The docker config must be mounted on the container -func EncodedConfigAuth(ref string) (string, error) { - server, err := ParseServerAddress(ref) +func EncodedConfigAuth(imageRef string) (string, error) { + server, err := helpers.GetRegistryAddress(imageRef) if err != nil { - log.Errorf("Unable to parse the image ref %s", err) + log.Errorf("Could not get registry from image ref %s", imageRef) return "", err } + configDir := os.Getenv("DOCKER_CONFIG") if configDir == "" { configDir = "/" } configFile, err := cliconfig.Load(configDir) if err != nil { - log.Errorf("Unable to find default config file %s", err) + log.Errorf("Unable to find default config file: %s", err) return "", err } credStore := CredentialsStore(*configFile) @@ -71,24 +73,12 @@ func EncodedConfigAuth(ref string) (string, error) { log.WithField("config_file", configFile.Filename).Debugf("No credentials for %s found", server) return "", nil } - log.Debugf("Loaded auth credentials for user %s, on registry %s, from file %s", auth.Username, ref, configFile.Filename) + log.Debugf("Loaded auth credentials for user %s, on registry %s, from file %s", auth.Username, server, configFile.Filename) // CREDENTIAL: Uncomment to log docker config password // log.Tracef("Using auth password %s", auth.Password) return EncodeAuth(auth) } -// ParseServerAddress extracts the server part from a container image ref -func ParseServerAddress(ref string) (string, error) { - - parsedRef, err := reference.Parse(ref) - if err != nil { - return ref, err - } - - parts := strings.Split(parsedRef.String(), "/") - return parts[0], nil -} - // CredentialsStore returns a new credentials store based // on the settings provided in the configuration file. func CredentialsStore(configFile configfile.ConfigFile) credentials.Store { diff --git a/pkg/registry/trust_test.go b/pkg/registry/trust_test.go index 3dab6ad..00fc8a7 100644 --- a/pkg/registry/trust_test.go +++ b/pkg/registry/trust_test.go @@ -1,65 +1,49 @@ package registry import ( + "os" + . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "os" ) -var _ = Describe("Testing with Ginkgo", func() { - It("encoded env auth_ should return an error if repo envs are unset", func() { - _ = os.Unsetenv("REPO_USER") - _ = os.Unsetenv("REPO_PASS") +var _ = Describe("Registry credential helpers", func() { + Describe("EncodedAuth", func() { + It("should return repo credentials from env when set", func() { + var err error + expected := "eyJ1c2VybmFtZSI6ImNvbnRhaW5ycnItdXNlciIsInBhc3N3b3JkIjoiY29udGFpbnJyci1wYXNzIn0=" - _, err := EncodedEnvAuth("") - Expect(err).To(HaveOccurred()) + err = os.Setenv("REPO_USER", "containrrr-user") + Expect(err).NotTo(HaveOccurred()) + + err = os.Setenv("REPO_PASS", "containrrr-pass") + Expect(err).NotTo(HaveOccurred()) + + config, err := EncodedEnvAuth() + Expect(config).To(Equal(expected)) + Expect(err).NotTo(HaveOccurred()) + }) }) - It("encoded env auth_ should return auth hash if repo envs are set", func() { - var err error - expectedHash := "eyJ1c2VybmFtZSI6ImNvbnRhaW5ycnItdXNlciIsInBhc3N3b3JkIjoiY29udGFpbnJyci1wYXNzIn0=" - err = os.Setenv("REPO_USER", "containrrr-user") - Expect(err).NotTo(HaveOccurred()) + Describe("EncodedEnvAuth", func() { + It("should return an error if repo envs are unset", func() { + _ = os.Unsetenv("REPO_USER") + _ = os.Unsetenv("REPO_PASS") - err = os.Setenv("REPO_PASS", "containrrr-pass") - Expect(err).NotTo(HaveOccurred()) - - config, err := EncodedEnvAuth("") - Expect(config).To(Equal(expectedHash)) - Expect(err).NotTo(HaveOccurred()) + _, err := EncodedEnvAuth() + Expect(err).To(HaveOccurred()) + }) }) - It("encoded config auth_ should return an error if file is not present", func() { - var err error - err = os.Setenv("DOCKER_CONFIG", "/dev/null/should-fail") - Expect(err).NotTo(HaveOccurred()) + Describe("EncodedConfigAuth", func() { + It("should return an error if file is not present", func() { + var err error - _, err = EncodedConfigAuth("") - Expect(err).To(HaveOccurred()) + err = os.Setenv("DOCKER_CONFIG", "/dev/null/should-fail") + Expect(err).NotTo(HaveOccurred()) - }) - /* - * TODO: - * This part only confirms that it still works in the same way as it did - * with the old version of the docker api client sdk. I'd say that - * ParseServerAddress likely needs to be elaborated a bit to default to - * dockerhub in case no server address was provided. - * - * ++ @simskij, 2019-04-04 - */ - It("parse server address_ should return error if passed empty string", func() { - - _, err := ParseServerAddress("") - Expect(err).To(HaveOccurred()) - }) - It("parse server address_ should return the organization part if passed an image name missing server name", func() { - - val, _ := ParseServerAddress("containrrr/config") - Expect(val).To(Equal("containrrr")) - }) - It("parse server address_ should return the server name if passed a fully qualified image name", func() { - - val, _ := ParseServerAddress("github.com/containrrrr/config") - Expect(val).To(Equal("github.com")) + _, err = EncodedConfigAuth("") + Expect(err).To(HaveOccurred()) + }) }) }) From dd1ec09668b44f90e9fd368f47bfc67e82bdeef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Wed, 12 Apr 2023 17:36:01 +0200 Subject: [PATCH 286/389] fix: always use container interface (#1516) --- internal/actions/actions_suite_test.go | 11 +++--- internal/actions/check.go | 7 ++-- internal/actions/mocks/client.go | 18 ++++----- internal/actions/mocks/container.go | 22 +++++------ internal/actions/update.go | 26 ++++++------- internal/actions/update_test.go | 23 ++++++----- pkg/container/client.go | 54 +++++++++++++------------- pkg/container/client_test.go | 22 +++++------ pkg/container/container.go | 35 ++++++++++++++--- pkg/lifecycle/lifecycle.go | 6 +-- pkg/sorter/sort.go | 19 ++++----- pkg/types/container.go | 15 ++++++- 12 files changed, 147 insertions(+), 111 deletions(-) diff --git a/internal/actions/actions_suite_test.go b/internal/actions/actions_suite_test.go index 5110fea..c320564 100644 --- a/internal/actions/actions_suite_test.go +++ b/internal/actions/actions_suite_test.go @@ -1,12 +1,13 @@ package actions_test import ( - "github.com/sirupsen/logrus" "testing" "time" + "github.com/sirupsen/logrus" + "github.com/containrrr/watchtower/internal/actions" - "github.com/containrrr/watchtower/pkg/container" + "github.com/containrrr/watchtower/pkg/types" . "github.com/containrrr/watchtower/internal/actions/mocks" . "github.com/onsi/ginkgo" @@ -37,7 +38,7 @@ var _ = Describe("the actions package", func() { It("should not do anything", func() { client := CreateMockClient( &TestData{ - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainer( "test-container", "test-container", @@ -59,7 +60,7 @@ var _ = Describe("the actions package", func() { client = CreateMockClient( &TestData{ NameOfContainerToKeep: "test-container-02", - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainer( "test-container-01", "test-container-01", @@ -89,7 +90,7 @@ var _ = Describe("the actions package", func() { BeforeEach(func() { client = CreateMockClient( &TestData{ - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainer( "test-container-01", "test-container-01", diff --git a/internal/actions/check.go b/internal/actions/check.go index 436931f..3bfcf7d 100644 --- a/internal/actions/check.go +++ b/internal/actions/check.go @@ -2,16 +2,15 @@ package actions import ( "fmt" - "github.com/containrrr/watchtower/pkg/types" "sort" "time" + "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/filters" "github.com/containrrr/watchtower/pkg/sorter" + "github.com/containrrr/watchtower/pkg/types" log "github.com/sirupsen/logrus" - - "github.com/containrrr/watchtower/pkg/container" ) // CheckForSanity makes sure everything is sane before starting @@ -55,7 +54,7 @@ func CheckForMultipleWatchtowerInstances(client container.Client, cleanup bool, return cleanupExcessWatchtowers(containers, client, cleanup) } -func cleanupExcessWatchtowers(containers []container.Container, client container.Client, cleanup bool) error { +func cleanupExcessWatchtowers(containers []types.Container, client container.Client, cleanup bool) error { var stopErrors int sort.Sort(sorter.ByCreated(containers)) diff --git a/internal/actions/mocks/client.go b/internal/actions/mocks/client.go index 2afc43c..7b4162a 100644 --- a/internal/actions/mocks/client.go +++ b/internal/actions/mocks/client.go @@ -5,8 +5,6 @@ import ( "fmt" "time" - "github.com/containrrr/watchtower/pkg/container" - t "github.com/containrrr/watchtower/pkg/types" ) @@ -21,7 +19,7 @@ type MockClient struct { type TestData struct { TriedToRemoveImageCount int NameOfContainerToKeep string - Containers []container.Container + Containers []t.Container Staleness map[string]bool } @@ -40,12 +38,12 @@ func CreateMockClient(data *TestData, pullImages bool, removeVolumes bool) MockC } // ListContainers is a mock method returning the provided container testdata -func (client MockClient) ListContainers(_ t.Filter) ([]container.Container, error) { +func (client MockClient) ListContainers(_ t.Filter) ([]t.Container, error) { return client.TestData.Containers, nil } // StopContainer is a mock method -func (client MockClient) StopContainer(c container.Container, _ time.Duration) error { +func (client MockClient) StopContainer(c t.Container, _ time.Duration) error { if c.Name() == client.TestData.NameOfContainerToKeep { return errors.New("tried to stop the instance we want to keep") } @@ -53,12 +51,12 @@ func (client MockClient) StopContainer(c container.Container, _ time.Duration) e } // StartContainer is a mock method -func (client MockClient) StartContainer(_ container.Container) (t.ContainerID, error) { +func (client MockClient) StartContainer(_ t.Container) (t.ContainerID, error) { return "", nil } // RenameContainer is a mock method -func (client MockClient) RenameContainer(_ container.Container, _ string) error { +func (client MockClient) RenameContainer(_ t.Container, _ string) error { return nil } @@ -69,7 +67,7 @@ func (client MockClient) RemoveImageByID(_ t.ImageID) error { } // GetContainer is a mock method -func (client MockClient) GetContainer(_ t.ContainerID) (container.Container, error) { +func (client MockClient) GetContainer(_ t.ContainerID) (t.Container, error) { return client.TestData.Containers[0], nil } @@ -88,7 +86,7 @@ func (client MockClient) ExecuteCommand(_ t.ContainerID, command string, _ int) } // IsContainerStale is true if not explicitly stated in TestData for the mock client -func (client MockClient) IsContainerStale(cont container.Container) (bool, t.ImageID, error) { +func (client MockClient) IsContainerStale(cont t.Container) (bool, t.ImageID, error) { stale, found := client.TestData.Staleness[cont.Name()] if !found { stale = true @@ -97,6 +95,6 @@ func (client MockClient) IsContainerStale(cont container.Container) (bool, t.Ima } // WarnOnHeadPullFailed is always true for the mock client -func (client MockClient) WarnOnHeadPullFailed(_ container.Container) bool { +func (client MockClient) WarnOnHeadPullFailed(_ t.Container) bool { return true } diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index 3272d63..e830587 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -14,7 +14,7 @@ import ( ) // CreateMockContainer creates a container substitute valid for testing -func CreateMockContainer(id string, name string, image string, created time.Time) container.Container { +func CreateMockContainer(id string, name string, image string, created time.Time) wt.Container { content := types.ContainerJSON{ ContainerJSONBase: &types.ContainerJSONBase{ ID: id, @@ -31,7 +31,7 @@ func CreateMockContainer(id string, name string, image string, created time.Time ExposedPorts: map[nat.Port]struct{}{}, }, } - return *container.NewContainer( + return container.NewContainer( &content, CreateMockImageInfo(image), ) @@ -48,12 +48,12 @@ func CreateMockImageInfo(image string) *types.ImageInspect { } // CreateMockContainerWithImageInfo should only be used for testing -func CreateMockContainerWithImageInfo(id string, name string, image string, created time.Time, imageInfo types.ImageInspect) container.Container { +func CreateMockContainerWithImageInfo(id string, name string, image string, created time.Time, imageInfo types.ImageInspect) wt.Container { return CreateMockContainerWithImageInfoP(id, name, image, created, &imageInfo) } // CreateMockContainerWithImageInfoP should only be used for testing -func CreateMockContainerWithImageInfoP(id string, name string, image string, created time.Time, imageInfo *types.ImageInspect) container.Container { +func CreateMockContainerWithImageInfoP(id string, name string, image string, created time.Time, imageInfo *types.ImageInspect) wt.Container { content := types.ContainerJSON{ ContainerJSONBase: &types.ContainerJSONBase{ ID: id, @@ -66,21 +66,21 @@ func CreateMockContainerWithImageInfoP(id string, name string, image string, cre Labels: make(map[string]string), }, } - return *container.NewContainer( + return container.NewContainer( &content, imageInfo, ) } // CreateMockContainerWithDigest should only be used for testing -func CreateMockContainerWithDigest(id string, name string, image string, created time.Time, digest string) container.Container { +func CreateMockContainerWithDigest(id string, name string, image string, created time.Time, digest string) wt.Container { c := CreateMockContainer(id, name, image, created) c.ImageInfo().RepoDigests = []string{digest} return c } // CreateMockContainerWithConfig creates a container substitute valid for testing -func CreateMockContainerWithConfig(id string, name string, image string, running bool, restarting bool, created time.Time, config *dockerContainer.Config) container.Container { +func CreateMockContainerWithConfig(id string, name string, image string, running bool, restarting bool, created time.Time, config *dockerContainer.Config) wt.Container { content := types.ContainerJSON{ ContainerJSONBase: &types.ContainerJSONBase{ ID: id, @@ -97,14 +97,14 @@ func CreateMockContainerWithConfig(id string, name string, image string, running }, Config: config, } - return *container.NewContainer( + return container.NewContainer( &content, CreateMockImageInfo(image), ) } // CreateContainerForProgress creates a container substitute for tracking session/update progress -func CreateContainerForProgress(index int, idPrefix int, nameFormat string) (container.Container, wt.ImageID) { +func CreateContainerForProgress(index int, idPrefix int, nameFormat string) (wt.Container, wt.ImageID) { indexStr := strconv.Itoa(idPrefix + index) mockID := indexStr + strings.Repeat("0", 61-len(indexStr)) contID := "c79" + mockID @@ -120,7 +120,7 @@ func CreateContainerForProgress(index int, idPrefix int, nameFormat string) (con } // CreateMockContainerWithLinks should only be used for testing -func CreateMockContainerWithLinks(id string, name string, image string, created time.Time, links []string, imageInfo *types.ImageInspect) container.Container { +func CreateMockContainerWithLinks(id string, name string, image string, created time.Time, links []string, imageInfo *types.ImageInspect) wt.Container { content := types.ContainerJSON{ ContainerJSONBase: &types.ContainerJSONBase{ ID: id, @@ -136,7 +136,7 @@ func CreateMockContainerWithLinks(id string, name string, image string, created Labels: make(map[string]string), }, } - return *container.NewContainer( + return container.NewContainer( &content, imageInfo, ) diff --git a/internal/actions/update.go b/internal/actions/update.go index baae47f..9c97f27 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -57,7 +57,7 @@ func Update(client container.Client, params types.UpdateParams) (types.Report, e } else { progress.AddScanned(targetContainer, newestImage) } - containers[i].Stale = stale + containers[i].SetStale(stale) if stale { staleCount++ @@ -71,7 +71,7 @@ func Update(client container.Client, params types.UpdateParams) (types.Report, e UpdateImplicitRestart(containers) - var containersToUpdate []container.Container + var containersToUpdate []types.Container if !params.MonitorOnly { for _, c := range containers { if !c.IsMonitorOnly() { @@ -96,7 +96,7 @@ func Update(client container.Client, params types.UpdateParams) (types.Report, e return progress.Report(), nil } -func performRollingRestart(containers []container.Container, client container.Client, params types.UpdateParams) map[types.ContainerID]error { +func performRollingRestart(containers []types.Container, client container.Client, params types.UpdateParams) map[types.ContainerID]error { cleanupImageIDs := make(map[types.ImageID]bool, len(containers)) failed := make(map[types.ContainerID]error, len(containers)) @@ -108,7 +108,7 @@ func performRollingRestart(containers []container.Container, client container.Cl } else { if err := restartStaleContainer(containers[i], client, params); err != nil { failed[containers[i].ID()] = err - } else if containers[i].Stale { + } else if containers[i].IsStale() { // Only add (previously) stale containers' images to cleanup cleanupImageIDs[containers[i].ImageID()] = true } @@ -122,7 +122,7 @@ func performRollingRestart(containers []container.Container, client container.Cl return failed } -func stopContainersInReversedOrder(containers []container.Container, client container.Client, params types.UpdateParams) (failed map[types.ContainerID]error, stopped map[types.ImageID]bool) { +func stopContainersInReversedOrder(containers []types.Container, client container.Client, params types.UpdateParams) (failed map[types.ContainerID]error, stopped map[types.ImageID]bool) { failed = make(map[types.ContainerID]error, len(containers)) stopped = make(map[types.ImageID]bool, len(containers)) for i := len(containers) - 1; i >= 0; i-- { @@ -137,7 +137,7 @@ func stopContainersInReversedOrder(containers []container.Container, client cont return } -func stopStaleContainer(container container.Container, client container.Client, params types.UpdateParams) error { +func stopStaleContainer(container types.Container, client container.Client, params types.UpdateParams) error { if container.IsWatchtower() { log.Debugf("This is the watchtower container %s", container.Name()) return nil @@ -148,7 +148,7 @@ func stopStaleContainer(container container.Container, client container.Client, } // Perform an additional check here to prevent us from stopping a linked container we cannot restart - if container.LinkedToRestarting { + if container.IsLinkedToRestarting() { if err := container.VerifyConfiguration(); err != nil { return err } @@ -174,7 +174,7 @@ func stopStaleContainer(container container.Container, client container.Client, return nil } -func restartContainersInSortedOrder(containers []container.Container, client container.Client, params types.UpdateParams, stoppedImages map[types.ImageID]bool) map[types.ContainerID]error { +func restartContainersInSortedOrder(containers []types.Container, client container.Client, params types.UpdateParams, stoppedImages map[types.ImageID]bool) map[types.ContainerID]error { cleanupImageIDs := make(map[types.ImageID]bool, len(containers)) failed := make(map[types.ContainerID]error, len(containers)) @@ -185,7 +185,7 @@ func restartContainersInSortedOrder(containers []container.Container, client con if stoppedImages[c.SafeImageID()] { if err := restartStaleContainer(c, client, params); err != nil { failed[c.ID()] = err - } else if c.Stale { + } else if c.IsStale() { // Only add (previously) stale containers' images to cleanup cleanupImageIDs[c.ImageID()] = true } @@ -210,7 +210,7 @@ func cleanupImages(client container.Client, imageIDs map[types.ImageID]bool) { } } -func restartStaleContainer(container container.Container, client container.Client, params types.UpdateParams) error { +func restartStaleContainer(container types.Container, client container.Client, params types.UpdateParams) error { // Since we can't shutdown a watchtower container immediately, we need to // start the new one while the old one is still running. This prevents us // from re-using the same container name so we first rename the current @@ -235,7 +235,7 @@ func restartStaleContainer(container container.Container, client container.Clien // UpdateImplicitRestart iterates through the passed containers, setting the // `LinkedToRestarting` flag if any of it's linked containers are marked for restart -func UpdateImplicitRestart(containers []container.Container) { +func UpdateImplicitRestart(containers []types.Container) { for ci, c := range containers { if c.ToRestart() { @@ -249,7 +249,7 @@ func UpdateImplicitRestart(containers []container.Container) { "linked": c.Name(), }).Debug("container is linked to restarting") // NOTE: To mutate the array, the `c` variable cannot be used as it's a copy - containers[ci].LinkedToRestarting = true + containers[ci].SetLinkedToRestarting(true) } } @@ -257,7 +257,7 @@ func UpdateImplicitRestart(containers []container.Container) { // linkedContainerMarkedForRestart returns the name of the first link that matches a // container marked for restart -func linkedContainerMarkedForRestart(links []string, containers []container.Container) string { +func linkedContainerMarkedForRestart(links []string, containers []types.Container) string { for _, linkName := range links { for _, candidate := range containers { if candidate.Name() == linkName && candidate.ToRestart() { diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index eb540b1..24534de 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -4,7 +4,6 @@ import ( "time" "github.com/containrrr/watchtower/internal/actions" - "github.com/containrrr/watchtower/pkg/container" "github.com/containrrr/watchtower/pkg/types" dockerTypes "github.com/docker/docker/api/types" dockerContainer "github.com/docker/docker/api/types/container" @@ -18,7 +17,7 @@ import ( func getCommonTestData(keepContainer string) *TestData { return &TestData{ NameOfContainerToKeep: keepContainer, - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainer( "test-container-01", "test-container-01", @@ -59,7 +58,7 @@ func getLinkedTestData(withImageInfo bool) *TestData { return &TestData{ Staleness: map[string]bool{linkingContainer.Name(): false}, - Containers: []container.Container{ + Containers: []types.Container{ staleContainer, linkingContainer, }, @@ -130,7 +129,7 @@ var _ = Describe("the update action", func() { client := CreateMockClient( &TestData{ NameOfContainerToKeep: "test-container-02", - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainer( "test-container-01", "test-container-01", @@ -163,7 +162,7 @@ var _ = Describe("the update action", func() { It("should not update any containers", func() { client := CreateMockClient( &TestData{ - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainer( "test-container-01", "test-container-01", @@ -194,7 +193,7 @@ var _ = Describe("the update action", func() { client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainerWithConfig( "test-container-02", "test-container-02", @@ -227,7 +226,7 @@ var _ = Describe("the update action", func() { client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainerWithConfig( "test-container-02", "test-container-02", @@ -259,7 +258,7 @@ var _ = Describe("the update action", func() { client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainerWithConfig( "test-container-02", "test-container-02", @@ -300,7 +299,7 @@ var _ = Describe("the update action", func() { ExposedPorts: map[nat.Port]struct{}{}, }) - provider.Stale = true + provider.SetStale(true) consumer := CreateMockContainerWithConfig( "test-container-consumer", @@ -316,7 +315,7 @@ var _ = Describe("the update action", func() { ExposedPorts: map[nat.Port]struct{}{}, }) - containers := []container.Container{ + containers := []types.Container{ provider, consumer, } @@ -338,7 +337,7 @@ var _ = Describe("the update action", func() { client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainerWithConfig( "test-container-02", "test-container-02", @@ -370,7 +369,7 @@ var _ = Describe("the update action", func() { client := CreateMockClient( &TestData{ //NameOfContainerToKeep: "test-container-02", - Containers: []container.Container{ + Containers: []types.Container{ CreateMockContainerWithConfig( "test-container-02", "test-container-02", diff --git a/pkg/container/client.go b/pkg/container/client.go index 753f195..5f393e7 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -25,15 +25,15 @@ const defaultStopSignal = "SIGTERM" // A Client is the interface through which watchtower interacts with the // Docker API. type Client interface { - ListContainers(t.Filter) ([]Container, error) - GetContainer(containerID t.ContainerID) (Container, error) - StopContainer(Container, time.Duration) error - StartContainer(Container) (t.ContainerID, error) - RenameContainer(Container, string) error - IsContainerStale(Container) (stale bool, latestImage t.ImageID, err error) + ListContainers(t.Filter) ([]t.Container, error) + GetContainer(containerID t.ContainerID) (t.Container, error) + StopContainer(t.Container, time.Duration) error + StartContainer(t.Container) (t.ContainerID, error) + RenameContainer(t.Container, string) error + IsContainerStale(t.Container) (stale bool, latestImage t.ImageID, err error) ExecuteCommand(containerID t.ContainerID, command string, timeout int) (SkipUpdate bool, err error) RemoveImageByID(t.ImageID) error - WarnOnHeadPullFailed(container Container) bool + WarnOnHeadPullFailed(container t.Container) bool } // NewClient returns a new Client instance which can be used to interact with @@ -82,7 +82,7 @@ type dockerClient struct { ClientOptions } -func (client dockerClient) WarnOnHeadPullFailed(container Container) bool { +func (client dockerClient) WarnOnHeadPullFailed(container t.Container) bool { if client.WarnOnHeadFailed == WarnAlways { return true } @@ -93,8 +93,8 @@ func (client dockerClient) WarnOnHeadPullFailed(container Container) bool { return registry.WarnOnAPIConsumption(container) } -func (client dockerClient) ListContainers(fn t.Filter) ([]Container, error) { - cs := []Container{} +func (client dockerClient) ListContainers(fn t.Filter) ([]t.Container, error) { + cs := []t.Container{} bg := context.Background() if client.IncludeStopped && client.IncludeRestarting { @@ -149,24 +149,24 @@ func (client dockerClient) createListFilter() filters.Args { return filterArgs } -func (client dockerClient) GetContainer(containerID t.ContainerID) (Container, error) { +func (client dockerClient) GetContainer(containerID t.ContainerID) (t.Container, error) { bg := context.Background() containerInfo, err := client.api.ContainerInspect(bg, string(containerID)) if err != nil { - return Container{}, err + return &Container{}, err } imageInfo, _, err := client.api.ImageInspectWithRaw(bg, containerInfo.Image) if err != nil { log.Warnf("Failed to retrieve container image info: %v", err) - return Container{containerInfo: &containerInfo, imageInfo: nil}, nil + return &Container{containerInfo: &containerInfo, imageInfo: nil}, nil } - return Container{containerInfo: &containerInfo, imageInfo: &imageInfo}, nil + return &Container{containerInfo: &containerInfo, imageInfo: &imageInfo}, nil } -func (client dockerClient) StopContainer(c Container, timeout time.Duration) error { +func (client dockerClient) StopContainer(c t.Container, timeout time.Duration) error { bg := context.Background() signal := c.StopSignal() if signal == "" { @@ -186,7 +186,7 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err // TODO: This should probably be checked. _ = client.waitForStopOrTimeout(c, timeout) - if c.containerInfo.HostConfig.AutoRemove { + if c.ContainerInfo().HostConfig.AutoRemove { log.Debugf("AutoRemove container %s, skipping ContainerRemove call.", shortID) } else { log.Debugf("Removing container %s", shortID) @@ -208,11 +208,11 @@ func (client dockerClient) StopContainer(c Container, timeout time.Duration) err return nil } -func (client dockerClient) StartContainer(c Container) (t.ContainerID, error) { +func (client dockerClient) StartContainer(c t.Container) (t.ContainerID, error) { bg := context.Background() - config := c.runtimeConfig() - hostConfig := c.hostConfig() - networkConfig := &network.NetworkingConfig{EndpointsConfig: c.containerInfo.NetworkSettings.Networks} + config := c.GetCreateConfig() + hostConfig := c.GetCreateHostConfig() + networkConfig := &network.NetworkingConfig{EndpointsConfig: c.ContainerInfo().NetworkSettings.Networks} // simpleNetworkConfig is a networkConfig with only 1 network. // see: https://github.com/docker/docker/issues/29265 simpleNetworkConfig := func() *network.NetworkingConfig { @@ -260,7 +260,7 @@ func (client dockerClient) StartContainer(c Container) (t.ContainerID, error) { } -func (client dockerClient) doStartContainer(bg context.Context, c Container, creation container.CreateResponse) error { +func (client dockerClient) doStartContainer(bg context.Context, c t.Container, creation container.CreateResponse) error { name := c.Name() log.Debugf("Starting container %s (%s)", name, t.ContainerID(creation.ID).ShortID()) @@ -271,13 +271,13 @@ func (client dockerClient) doStartContainer(bg context.Context, c Container, cre return nil } -func (client dockerClient) RenameContainer(c Container, newName string) error { +func (client dockerClient) RenameContainer(c t.Container, newName string) error { bg := context.Background() log.Debugf("Renaming container %s (%s) to %s", c.Name(), c.ID().ShortID(), newName) return client.api.ContainerRename(bg, string(c.ID()), newName) } -func (client dockerClient) IsContainerStale(container Container) (stale bool, latestImage t.ImageID, err error) { +func (client dockerClient) IsContainerStale(container t.Container) (stale bool, latestImage t.ImageID, err error) { ctx := context.Background() if !client.PullImages || container.IsNoPull() { @@ -289,8 +289,8 @@ func (client dockerClient) IsContainerStale(container Container) (stale bool, la return client.HasNewImage(ctx, container) } -func (client dockerClient) HasNewImage(ctx context.Context, container Container) (hasNew bool, latestImage t.ImageID, err error) { - currentImageID := t.ImageID(container.containerInfo.ContainerJSONBase.Image) +func (client dockerClient) HasNewImage(ctx context.Context, container t.Container) (hasNew bool, latestImage t.ImageID, err error) { + currentImageID := t.ImageID(container.ContainerInfo().ContainerJSONBase.Image) imageName := container.ImageName() newImageInfo, _, err := client.api.ImageInspectWithRaw(ctx, imageName) @@ -310,7 +310,7 @@ func (client dockerClient) HasNewImage(ctx context.Context, container Container) // PullImage pulls the latest image for the supplied container, optionally skipping if it's digest can be confirmed // to match the one that the registry reports via a HEAD request -func (client dockerClient) PullImage(ctx context.Context, container Container) error { +func (client dockerClient) PullImage(ctx context.Context, container t.Container) error { containerName := container.Name() imageName := container.ImageName() @@ -478,7 +478,7 @@ func (client dockerClient) waitForExecOrTimeout(bg context.Context, ID string, e return false, nil } -func (client dockerClient) waitForStopOrTimeout(c Container, waitTime time.Duration) error { +func (client dockerClient) waitForStopOrTimeout(c t.Container, waitTime time.Duration) error { bg := context.Background() timeout := time.After(waitTime) diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 1100ac9..645102e 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -35,8 +35,8 @@ var _ = Describe("the client", func() { mockServer.Close() }) Describe("WarnOnHeadPullFailed", func() { - containerUnknown := *MockContainer(WithImageName("unknown.repo/prefix/imagename:latest")) - containerKnown := *MockContainer(WithImageName("docker.io/prefix/imagename:latest")) + containerUnknown := MockContainer(WithImageName("unknown.repo/prefix/imagename:latest")) + containerKnown := MockContainer(WithImageName("docker.io/prefix/imagename:latest")) When(`warn on head failure is set to "always"`, func() { c := dockerClient{ClientOptions: ClientOptions{WarnOnHeadFailed: WarnAlways}} @@ -66,7 +66,7 @@ var _ = Describe("the client", func() { When("the image consist of a pinned hash", func() { It("should gracefully fail with a useful message", func() { c := dockerClient{} - pinnedContainer := *MockContainer(WithImageName("sha256:fa5269854a5e615e51a72b17ad3fd1e01268f278a6684c8ed3c5f0cdce3f230b")) + pinnedContainer := MockContainer(WithImageName("sha256:fa5269854a5e615e51a72b17ad3fd1e01268f278a6684c8ed3c5f0cdce3f230b")) c.PullImage(context.Background(), pinnedContainer) }) }) @@ -74,8 +74,8 @@ var _ = Describe("the client", func() { When("removing a running container", func() { When("the container still exist after stopping", func() { It("should attempt to remove the container", func() { - container := *MockContainer(WithContainerState(types.ContainerState{Running: true})) - containerStopped := *MockContainer(WithContainerState(types.ContainerState{Running: false})) + container := MockContainer(WithContainerState(types.ContainerState{Running: true})) + containerStopped := MockContainer(WithContainerState(types.ContainerState{Running: false})) cid := container.ContainerInfo().ID mockServer.AppendHandlers( @@ -90,7 +90,7 @@ var _ = Describe("the client", func() { }) When("the container does not exist after stopping", func() { It("should not cause an error", func() { - container := *MockContainer(WithContainerState(types.ContainerState{Running: true})) + container := MockContainer(WithContainerState(types.ContainerState{Running: true})) cid := container.ContainerInfo().ID mockServer.AppendHandlers( @@ -261,18 +261,18 @@ func withContainerImageName(matcher gt.GomegaMatcher) gt.GomegaMatcher { return WithTransform(containerImageName, matcher) } -func containerImageName(container Container) string { +func containerImageName(container t.Container) string { return container.ImageName() } func havingRestartingState(expected bool) gt.GomegaMatcher { - return WithTransform(func(container Container) bool { - return container.containerInfo.State.Restarting + return WithTransform(func(container t.Container) bool { + return container.ContainerInfo().State.Restarting }, Equal(expected)) } func havingRunningState(expected bool) gt.GomegaMatcher { - return WithTransform(func(container Container) bool { - return container.containerInfo.State.Running + return WithTransform(func(container t.Container) bool { + return container.ContainerInfo().State.Running }, Equal(expected)) } diff --git a/pkg/container/container.go b/pkg/container/container.go index b52cdf6..20ae2e0 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -32,6 +32,26 @@ type Container struct { imageInfo *types.ImageInspect } +// IsLinkedToRestarting returns the current value of the LinkedToRestarting field for the container +func (c *Container) IsLinkedToRestarting() bool { + return c.LinkedToRestarting +} + +// IsStale returns the current value of the Stale field for the container +func (c *Container) IsStale() bool { + return c.Stale +} + +// SetLinkedToRestarting sets the LinkedToRestarting field for the container +func (c *Container) SetLinkedToRestarting(value bool) { + c.LinkedToRestarting = value +} + +// SetStale implements sets the Stale field for the container +func (c *Container) SetStale(value bool) { + c.Stale = value +} + // ContainerInfo fetches JSON info for the container func (c Container) ContainerInfo() *types.ContainerJSON { return c.containerInfo @@ -240,18 +260,23 @@ func (c Container) StopSignal() string { return c.getLabelValueOrEmpty(signalLabel) } +// GetCreateConfig returns the container's current Config converted into a format +// that can be re-submitted to the Docker create API. +// // Ideally, we'd just be able to take the ContainerConfig from the old container // and use it as the starting point for creating the new container; however, // the ContainerConfig that comes back from the Inspect call merges the default // configuration (the stuff specified in the metadata for the image itself) // with the overridden configuration (the stuff that you might specify as part -// of the "docker run"). In order to avoid unintentionally overriding the +// of the "docker run"). +// +// In order to avoid unintentionally overriding the // defaults in the new image we need to separate the override options from the // default options. To do this we have to compare the ContainerConfig for the // running container with the ContainerConfig from the image that container was // started from. This function returns a ContainerConfig which contains just // the options overridden at runtime. -func (c Container) runtimeConfig() *dockercontainer.Config { +func (c Container) GetCreateConfig() *dockercontainer.Config { config := c.containerInfo.Config hostConfig := c.containerInfo.HostConfig imageConfig := c.imageInfo.Config @@ -295,9 +320,9 @@ func (c Container) runtimeConfig() *dockercontainer.Config { return config } -// Any links in the HostConfig need to be re-written before they can be -// re-submitted to the Docker create API. -func (c Container) hostConfig() *dockercontainer.HostConfig { +// GetCreateHostConfig returns the container's current HostConfig with any links +// re-written so that they can be re-submitted to the Docker create API. +func (c Container) GetCreateHostConfig() *dockercontainer.HostConfig { hostConfig := c.containerInfo.HostConfig for i, link := range hostConfig.Links { diff --git a/pkg/lifecycle/lifecycle.go b/pkg/lifecycle/lifecycle.go index ed4ac20..c0f962e 100644 --- a/pkg/lifecycle/lifecycle.go +++ b/pkg/lifecycle/lifecycle.go @@ -29,7 +29,7 @@ func ExecutePostChecks(client container.Client, params types.UpdateParams) { } // ExecutePreCheckCommand tries to run the pre-check lifecycle hook for a single container. -func ExecutePreCheckCommand(client container.Client, container container.Container) { +func ExecutePreCheckCommand(client container.Client, container types.Container) { clog := log.WithField("container", container.Name()) command := container.GetLifecyclePreCheckCommand() if len(command) == 0 { @@ -45,7 +45,7 @@ func ExecutePreCheckCommand(client container.Client, container container.Contain } // ExecutePostCheckCommand tries to run the post-check lifecycle hook for a single container. -func ExecutePostCheckCommand(client container.Client, container container.Container) { +func ExecutePostCheckCommand(client container.Client, container types.Container) { clog := log.WithField("container", container.Name()) command := container.GetLifecyclePostCheckCommand() if len(command) == 0 { @@ -61,7 +61,7 @@ func ExecutePostCheckCommand(client container.Client, container container.Contai } // ExecutePreUpdateCommand tries to run the pre-update lifecycle hook for a single container. -func ExecutePreUpdateCommand(client container.Client, container container.Container) (SkipUpdate bool, err error) { +func ExecutePreUpdateCommand(client container.Client, container types.Container) (SkipUpdate bool, err error) { timeout := container.PreUpdateTimeout() command := container.GetLifecyclePreUpdateCommand() clog := log.WithField("container", container.Name()) diff --git a/pkg/sorter/sort.go b/pkg/sorter/sort.go index 1e27f1b..b9d1e12 100644 --- a/pkg/sorter/sort.go +++ b/pkg/sorter/sort.go @@ -2,13 +2,14 @@ package sorter import ( "fmt" - "github.com/containrrr/watchtower/pkg/container" "time" + + "github.com/containrrr/watchtower/pkg/types" ) // ByCreated allows a list of Container structs to be sorted by the container's // created date. -type ByCreated []container.Container +type ByCreated []types.Container func (c ByCreated) Len() int { return len(c) } func (c ByCreated) Swap(i, j int) { c[i], c[j] = c[j], c[i] } @@ -34,18 +35,18 @@ func (c ByCreated) Less(i, j int) bool { // the front of the list while containers with links will be sorted after all // of their dependencies. This sort order ensures that linked containers can // be started in the correct order. -func SortByDependencies(containers []container.Container) ([]container.Container, error) { +func SortByDependencies(containers []types.Container) ([]types.Container, error) { sorter := dependencySorter{} return sorter.Sort(containers) } type dependencySorter struct { - unvisited []container.Container + unvisited []types.Container marked map[string]bool - sorted []container.Container + sorted []types.Container } -func (ds *dependencySorter) Sort(containers []container.Container) ([]container.Container, error) { +func (ds *dependencySorter) Sort(containers []types.Container) ([]types.Container, error) { ds.unvisited = containers ds.marked = map[string]bool{} @@ -58,7 +59,7 @@ func (ds *dependencySorter) Sort(containers []container.Container) ([]container. return ds.sorted, nil } -func (ds *dependencySorter) visit(c container.Container) error { +func (ds *dependencySorter) visit(c types.Container) error { if _, ok := ds.marked[c.Name()]; ok { return fmt.Errorf("circular reference to %s", c.Name()) @@ -84,7 +85,7 @@ func (ds *dependencySorter) visit(c container.Container) error { return nil } -func (ds *dependencySorter) findUnvisited(name string) *container.Container { +func (ds *dependencySorter) findUnvisited(name string) *types.Container { for _, c := range ds.unvisited { if c.Name() == name { return &c @@ -94,7 +95,7 @@ func (ds *dependencySorter) findUnvisited(name string) *container.Container { return nil } -func (ds *dependencySorter) removeUnvisited(c container.Container) { +func (ds *dependencySorter) removeUnvisited(c types.Container) { var idx int for i := range ds.unvisited { if ds.unvisited[i].Name() == c.Name() { diff --git a/pkg/types/container.go b/pkg/types/container.go index 22742e9..752fd11 100644 --- a/pkg/types/container.go +++ b/pkg/types/container.go @@ -1,8 +1,10 @@ package types import ( - "github.com/docker/docker/api/types" "strings" + + "github.com/docker/docker/api/types" + dc "github.com/docker/docker/api/types/container" ) // ImageID is a hash string representing a container image @@ -62,4 +64,15 @@ type Container interface { GetLifecyclePostCheckCommand() string GetLifecyclePreUpdateCommand() string GetLifecyclePostUpdateCommand() string + VerifyConfiguration() error + SetStale(bool) + IsStale() bool + IsNoPull() bool + SetLinkedToRestarting(bool) + IsLinkedToRestarting() bool + PreUpdateTimeout() int + PostUpdateTimeout() int + IsRestarting() bool + GetCreateConfig() *dc.Config + GetCreateHostConfig() *dc.HostConfig } From 0a5bd54fb7f38f1e3eb281f4735a2b2fb1881a86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 15 Apr 2023 12:56:51 +0200 Subject: [PATCH 287/389] feat(clean): log removed/untagged images (#1466) --- internal/util/rand_sha256.go | 24 ++++++++++++++ internal/util/util_test.go | 16 ++++++++- pkg/container/client.go | 29 ++++++++++++++--- pkg/container/client_test.go | 56 +++++++++++++++++++++++++++++--- pkg/container/mocks/ApiServer.go | 27 +++++++++++++++ 5 files changed, 143 insertions(+), 9 deletions(-) create mode 100644 internal/util/rand_sha256.go diff --git a/internal/util/rand_sha256.go b/internal/util/rand_sha256.go new file mode 100644 index 0000000..e28e537 --- /dev/null +++ b/internal/util/rand_sha256.go @@ -0,0 +1,24 @@ +package util + +import ( + "bytes" + "fmt" + "math/rand" +) + +// GenerateRandomSHA256 generates a random 64 character SHA 256 hash string +func GenerateRandomSHA256() string { + return GenerateRandomPrefixedSHA256()[7:] +} + +// GenerateRandomPrefixedSHA256 generates a random 64 character SHA 256 hash string, prefixed with `sha256:` +func GenerateRandomPrefixedSHA256() string { + hash := make([]byte, 32) + _, _ = rand.Read(hash) + sb := bytes.NewBufferString("sha256:") + sb.Grow(64) + for _, h := range hash { + _, _ = fmt.Fprintf(sb, "%02x", h) + } + return sb.String() +} diff --git a/internal/util/util_test.go b/internal/util/util_test.go index a6dd657..0b2c36c 100644 --- a/internal/util/util_test.go +++ b/internal/util/util_test.go @@ -1,8 +1,10 @@ package util import ( - "github.com/stretchr/testify/assert" + "regexp" "testing" + + "github.com/stretchr/testify/assert" ) func TestSliceEqual_True(t *testing.T) { @@ -62,3 +64,15 @@ func TestStructMapSubtract(t *testing.T) { assert.Equal(t, map[string]struct{}{"a": x, "b": x, "c": x}, m1) assert.Equal(t, map[string]struct{}{"a": x, "c": x}, m2) } + +// GenerateRandomSHA256 generates a random 64 character SHA 256 hash string +func TestGenerateRandomSHA256(t *testing.T) { + res := GenerateRandomSHA256() + assert.Len(t, res, 64) + assert.NotContains(t, res, "sha256:") +} + +func TestGenerateRandomPrefixedSHA256(t *testing.T) { + res := GenerateRandomPrefixedSHA256() + assert.Regexp(t, regexp.MustCompile("sha256:[0-9|a-f]{64}"), res) +} diff --git a/pkg/container/client.go b/pkg/container/client.go index 5f393e7..052d1a2 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -39,9 +39,9 @@ type Client interface { // NewClient returns a new Client instance which can be used to interact with // the Docker API. // The client reads its configuration from the following environment variables: -// * DOCKER_HOST the docker-engine host to send api requests to -// * DOCKER_TLS_VERIFY whether to verify tls certificates -// * DOCKER_API_VERSION the minimum docker api version to work with +// - DOCKER_HOST the docker-engine host to send api requests to +// - DOCKER_TLS_VERIFY whether to verify tls certificates +// - DOCKER_API_VERSION the minimum docker api version to work with func NewClient(opts ClientOptions) Client { cli, err := sdkClient.NewClientWithOpts(sdkClient.FromEnv) @@ -369,13 +369,34 @@ func (client dockerClient) PullImage(ctx context.Context, container t.Container) func (client dockerClient) RemoveImageByID(id t.ImageID) error { log.Infof("Removing image %s", id.ShortID()) - _, err := client.api.ImageRemove( + items, err := client.api.ImageRemove( context.Background(), string(id), types.ImageRemoveOptions{ Force: true, }) + if log.IsLevelEnabled(log.DebugLevel) { + deleted := strings.Builder{} + untagged := strings.Builder{} + for _, item := range items { + if item.Deleted != "" { + if deleted.Len() > 0 { + deleted.WriteString(`, `) + } + deleted.WriteString(t.ImageID(item.Deleted).ShortID()) + } + if item.Untagged != "" { + if untagged.Len() > 0 { + untagged.WriteString(`, `) + } + untagged.WriteString(t.ImageID(item.Untagged).ShortID()) + } + } + fields := log.Fields{`deleted`: deleted.String(), `untagged`: untagged.String()} + log.WithFields(fields).Debug("Image removal completed") + } + return err } diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 645102e..24c3222 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -3,6 +3,7 @@ package container import ( "time" + "github.com/containrrr/watchtower/internal/util" "github.com/containrrr/watchtower/pkg/container/mocks" "github.com/containrrr/watchtower/pkg/filters" t "github.com/containrrr/watchtower/pkg/types" @@ -10,6 +11,7 @@ import ( "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/backend" cli "github.com/docker/docker/client" + "github.com/docker/docker/errdefs" "github.com/onsi/gomega/gbytes" "github.com/onsi/gomega/ghttp" "github.com/sirupsen/logrus" @@ -103,6 +105,37 @@ var _ = Describe("the client", func() { }) }) }) + When("removing a image", func() { + When("debug logging is enabled", func() { + It("should log removed and untagged images", func() { + imageA := util.GenerateRandomSHA256() + imageAParent := util.GenerateRandomSHA256() + images := map[string][]string{imageA: {imageAParent}} + mockServer.AppendHandlers(mocks.RemoveImageHandler(images)) + c := dockerClient{api: docker} + + resetLogrus, logbuf := captureLogrus(logrus.DebugLevel) + defer resetLogrus() + + Expect(c.RemoveImageByID(t.ImageID(imageA))).To(Succeed()) + + shortA := t.ImageID(imageA).ShortID() + shortAParent := t.ImageID(imageAParent).ShortID() + + Eventually(logbuf).Should(gbytes.Say(`deleted="%v, %v" untagged="?%v"?`, shortA, shortAParent, shortA)) + }) + }) + When("image is not found", func() { + It("should return an error", func() { + image := util.GenerateRandomSHA256() + mockServer.AppendHandlers(mocks.RemoveImageHandler(nil)) + c := dockerClient{api: docker} + + err := c.RemoveImageByID(t.ImageID(image)) + Expect(errdefs.IsNotFound(err)).To(BeTrue()) + }) + }) + }) When("listing containers", func() { When("no filter is provided", func() { It("should return all available containers", func() { @@ -193,10 +226,8 @@ var _ = Describe("the client", func() { } // Capture logrus output in buffer - logbuf := gbytes.NewBuffer() - origOut := logrus.StandardLogger().Out - defer logrus.SetOutput(origOut) - logrus.SetOutput(logbuf) + resetLogrus, logbuf := captureLogrus(logrus.DebugLevel) + defer resetLogrus() user := "" containerID := t.ContainerID("ex-cont-id") @@ -255,6 +286,23 @@ var _ = Describe("the client", func() { }) }) +// Capture logrus output in buffer +func captureLogrus(level logrus.Level) (func(), *gbytes.Buffer) { + + logbuf := gbytes.NewBuffer() + + origOut := logrus.StandardLogger().Out + logrus.SetOutput(logbuf) + + origLev := logrus.StandardLogger().Level + logrus.SetLevel(level) + + return func() { + logrus.SetOutput(origOut) + logrus.SetLevel(origLev) + }, logbuf +} + // Gomega matcher helpers func withContainerImageName(matcher gt.GomegaMatcher) gt.GomegaMatcher { diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index a879ede..652bafb 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -7,6 +7,7 @@ import ( "net/http" "net/url" "path/filepath" + "strings" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" @@ -190,3 +191,29 @@ const ( Found FoundStatus = true Missing FoundStatus = false ) + +// RemoveImageHandler mocks the DELETE images/ID endpoint, simulating removal of the given imagesWithParents +func RemoveImageHandler(imagesWithParents map[string][]string) http.HandlerFunc { + return ghttp.CombineHandlers( + ghttp.VerifyRequest("DELETE", O.MatchRegexp("/images/.*")), + func(w http.ResponseWriter, r *http.Request) { + parts := strings.Split(r.URL.Path, `/`) + image := parts[len(parts)-1] + + if parents, found := imagesWithParents[image]; found { + items := []types.ImageDeleteResponseItem{ + {Untagged: image}, + {Deleted: image}, + } + for _, parent := range parents { + items = append(items, types.ImageDeleteResponseItem{Deleted: parent}) + } + ghttp.RespondWithJSONEncoded(http.StatusOK, items)(w, r) + } else { + ghttp.RespondWithJSONEncoded(http.StatusNotFound, struct{ message string }{ + message: "Something went wrong.", + })(w, r) + } + }, + ) +} From aec7762386a2f48d6027951b98e2e739fc3296eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Apr 2023 21:10:42 +0200 Subject: [PATCH 288/389] chore(deps): bump github.com/prometheus/client_golang (#1630) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.14.0 to 1.15.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.14.0...v1.15.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 12 ++++++------ go.sum | 35 ++++++++++++++--------------------- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/go.mod b/go.mod index c2529a3..7fd1e19 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.6 - github.com/prometheus/client_golang v1.14.0 + github.com/prometheus/client_golang v1.15.0 github.com/robfig/cron v1.2.0 github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.7.0 @@ -24,7 +24,7 @@ require ( github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Microsoft/go-winio v0.4.17 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/docker/docker-credential-helpers v0.6.1 // indirect github.com/docker/go-units v0.4.0 // indirect @@ -38,7 +38,7 @@ require ( github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.16 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c // indirect @@ -49,8 +49,8 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect + github.com/prometheus/common v0.42.0 // indirect + github.com/prometheus/procfs v0.9.0 // indirect github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -59,7 +59,7 @@ require ( golang.org/x/sys v0.7.0 // indirect golang.org/x/text v0.9.0 golang.org/x/time v0.1.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect + google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index db94432..fe7f56e 100644 --- a/go.sum +++ b/go.sum @@ -210,8 +210,8 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -278,11 +278,9 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2 github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -448,8 +446,8 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -473,8 +471,8 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxatome/go-testdeep v1.11.0/go.mod h1:011SgQ6efzZYAen6fDn4BqQ+lUR72ysdyKe7Dyogw70= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= @@ -543,11 +541,9 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_golang v1.15.0 h1:5fCgGYogn0hFdhyhLbw7hEsWxufKtY9klyvdNfFlFhM= +github.com/prometheus/client_golang v1.15.0/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -558,17 +554,15 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ= github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= @@ -743,7 +737,6 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -875,7 +868,6 @@ golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1197,13 +1189,14 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= From 311bb93986053e4e1c73d55c4bca4d0124088767 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Apr 2023 09:30:47 +0200 Subject: [PATCH 289/389] chore(deps): bump github.com/docker/cli from 23.0.3+incompatible to 23.0.4+incompatible (#1634) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7fd1e19..e1fba8e 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 - github.com/docker/cli v23.0.3+incompatible + github.com/docker/cli v23.0.4+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v23.0.3+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index fe7f56e..46955b0 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v23.0.3+incompatible h1:Zcse1DuDqBdgI7OQDV8Go7b83xLgfhW1eza4HfEdxpY= -github.com/docker/cli v23.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v23.0.4+incompatible h1:xClB7PsiATttDHj8ce5qvJcikiApNy7teRR1XkoBZGs= +github.com/docker/cli v23.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= From 44436ebda80868220774f9492e72a2d9883eb895 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Apr 2023 17:53:44 +0200 Subject: [PATCH 290/389] chore(deps): bump github.com/docker/docker from 23.0.3+incompatible to 23.0.4+incompatible (#1635) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e1fba8e..de38298 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v23.0.4+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v23.0.3+incompatible + github.com/docker/docker v23.0.4+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.6 diff --git a/go.sum b/go.sum index 46955b0..3060689 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v23.0.4+incompatible h1:xClB7PsiATttDHj8ce5qvJcikiApNy7teR github.com/docker/cli v23.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v23.0.3+incompatible h1:9GhVsShNWz1hO//9BNg/dpMnZW25KydO4wtVxWAIbho= -github.com/docker/docker v23.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v23.0.4+incompatible h1:Kd3Bh9V/rO+XpTP/BLqM+gx8z7+Yb0AA2Ibj+nNo4ek= +github.com/docker/docker v23.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 9957fffbf4273f2a18536d3756dd37a652b9194c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 May 2023 16:46:21 +0200 Subject: [PATCH 291/389] chore(deps): bump github.com/docker/docker from 23.0.4+incompatible to 23.0.5+incompatible (#1641) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index de38298..5d0229a 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v23.0.4+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v23.0.4+incompatible + github.com/docker/docker v23.0.5+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.6 diff --git a/go.sum b/go.sum index 3060689..a516900 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v23.0.4+incompatible h1:xClB7PsiATttDHj8ce5qvJcikiApNy7teR github.com/docker/cli v23.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v23.0.4+incompatible h1:Kd3Bh9V/rO+XpTP/BLqM+gx8z7+Yb0AA2Ibj+nNo4ek= -github.com/docker/docker v23.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v23.0.5+incompatible h1:DaxtlTJjFSnLOXVNUBU1+6kXGz2lpDoEAH6QoxaSg8k= +github.com/docker/docker v23.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 47dcb4925b5183f093666bb9f798afed29b86cdd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 May 2023 00:08:23 +0200 Subject: [PATCH 292/389] chore(deps): bump github.com/docker/cli (#1640) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 23.0.4+incompatible to 23.0.5+incompatible. - [Release notes](https://github.com/docker/cli/releases) - [Commits](https://github.com/docker/cli/compare/v23.0.4...v23.0.5) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d0229a..fb24c00 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 - github.com/docker/cli v23.0.4+incompatible + github.com/docker/cli v23.0.5+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v23.0.5+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index a516900..5c94102 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v23.0.4+incompatible h1:xClB7PsiATttDHj8ce5qvJcikiApNy7teRR1XkoBZGs= -github.com/docker/cli v23.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v23.0.5+incompatible h1:ufWmAOuD3Vmr7JP2G5K3cyuNC4YZWiAsuDEvFVVDafE= +github.com/docker/cli v23.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v23.0.5+incompatible h1:DaxtlTJjFSnLOXVNUBU1+6kXGz2lpDoEAH6QoxaSg8k= From b27bd051307f9d028cf77f4d4a3ca4053382cb44 Mon Sep 17 00:00:00 2001 From: Sergey Aksenov Date: Sun, 7 May 2023 12:12:55 +0200 Subject: [PATCH 293/389] docs: add "HTTP API Mode" link to nav menu (#1645) It would be nice to have it there and not look for a link in the "Arguments" section every time --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index f87708f..5227004 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -48,6 +48,7 @@ nav: - 'Stop signals': 'stop-signals.md' - 'Lifecycle hooks': 'lifecycle-hooks.md' - 'Running multiple instances': 'running-multiple-instances.md' + - 'HTTP API Mode': 'http-api-mode.md' - 'Metrics': 'metrics.md' plugins: - search From c7499e8b34b267f7884d1739015909695969c7f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 May 2023 12:52:06 +0200 Subject: [PATCH 294/389] chore(deps): bump github.com/docker/docker (#1650) Bumps [github.com/docker/docker](https://github.com/docker/docker) from 23.0.5+incompatible to 23.0.6+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](https://github.com/docker/docker/compare/v23.0.5...v23.0.6) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fb24c00..ae3554b 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v23.0.5+incompatible github.com/docker/distribution v2.8.1+incompatible - github.com/docker/docker v23.0.5+incompatible + github.com/docker/docker v23.0.6+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.6 diff --git a/go.sum b/go.sum index 5c94102..bfd66ae 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v23.0.5+incompatible h1:ufWmAOuD3Vmr7JP2G5K3cyuNC4YZWiAsuD github.com/docker/cli v23.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v23.0.5+incompatible h1:DaxtlTJjFSnLOXVNUBU1+6kXGz2lpDoEAH6QoxaSg8k= -github.com/docker/docker v23.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v23.0.6+incompatible h1:aBD4np894vatVX99UTx/GyOUOK4uEcROwA3+bQhEcoU= +github.com/docker/docker v23.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 080292661e3e72c74bad8b9b6797b180c2aa8c4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 May 2023 12:52:47 +0200 Subject: [PATCH 295/389] chore(deps): bump golang.org/x/net from 0.9.0 to 0.10.0 (#1648) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.9.0 to 0.10.0. - [Commits](https://github.com/golang/net/compare/v0.9.0...v0.10.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index ae3554b..103346a 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.15.0 github.com/stretchr/testify v1.8.2 - golang.org/x/net v0.9.0 + golang.org/x/net v0.10.0 ) require ( @@ -56,7 +56,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/sys v0.7.0 // indirect + golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.30.0 // indirect diff --git a/go.sum b/go.sum index bfd66ae..c334489 100644 --- a/go.sum +++ b/go.sum @@ -752,8 +752,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -887,8 +887,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= From e271286799ad39ea49ee959c491368c8d967afa9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 May 2023 12:57:22 +0200 Subject: [PATCH 296/389] chore(deps): bump github.com/docker/cli (#1649) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 23.0.5+incompatible to 23.0.6+incompatible. - [Commits](https://github.com/docker/cli/compare/v23.0.5...v23.0.6) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 103346a..4842606 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 - github.com/docker/cli v23.0.5+incompatible + github.com/docker/cli v23.0.6+incompatible github.com/docker/distribution v2.8.1+incompatible github.com/docker/docker v23.0.6+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index c334489..17dc79d 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v23.0.5+incompatible h1:ufWmAOuD3Vmr7JP2G5K3cyuNC4YZWiAsuDEvFVVDafE= -github.com/docker/cli v23.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v23.0.6+incompatible h1:CScadyCJ2ZKUDpAMZta6vK8I+6/m60VIjGIV7Wg/Eu4= +github.com/docker/cli v23.0.6+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v23.0.6+incompatible h1:aBD4np894vatVX99UTx/GyOUOK4uEcROwA3+bQhEcoU= From 43a296aee38bf8ad09edf5c3cc271dac5a1312c4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 May 2023 12:58:17 +0200 Subject: [PATCH 297/389] chore(deps): bump github.com/prometheus/client_golang (#1647) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.15.0 to 1.15.1. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.15.0...v1.15.1) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4842606..26b0b1c 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.6 - github.com/prometheus/client_golang v1.15.0 + github.com/prometheus/client_golang v1.15.1 github.com/robfig/cron v1.2.0 github.com/sirupsen/logrus v1.9.0 github.com/spf13/cobra v1.7.0 diff --git a/go.sum b/go.sum index 17dc79d..59075c1 100644 --- a/go.sum +++ b/go.sum @@ -542,8 +542,8 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.15.0 h1:5fCgGYogn0hFdhyhLbw7hEsWxufKtY9klyvdNfFlFhM= -github.com/prometheus/client_golang v1.15.0/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= +github.com/prometheus/client_golang v1.15.1 h1:8tXpTmJbyH5lydzFPoxSIJ0J46jdh3tylbvM1xCv0LI= +github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= From 021e9f3320fb32c387721e496794f6ababa3c16f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 14 May 2023 16:16:23 +0200 Subject: [PATCH 298/389] chore(deps): bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible (#1652) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 26b0b1c..6d3091c 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v23.0.6+incompatible - github.com/docker/distribution v2.8.1+incompatible + github.com/docker/distribution v2.8.2+incompatible github.com/docker/docker v23.0.6+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 diff --git a/go.sum b/go.sum index 59075c1..163f628 100644 --- a/go.sum +++ b/go.sum @@ -240,8 +240,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/docker/cli v23.0.6+incompatible h1:CScadyCJ2ZKUDpAMZta6vK8I+6/m60VIjGIV7Wg/Eu4= github.com/docker/cli v23.0.6+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v23.0.6+incompatible h1:aBD4np894vatVX99UTx/GyOUOK4uEcROwA3+bQhEcoU= github.com/docker/docker v23.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= From 0a74e509fb6fcd8bb2ba44f50698db51d18b5bc5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 23:05:37 +0200 Subject: [PATCH 299/389] chore(deps): bump alpine from 3.17.3 to 3.18.0 in /dockerfiles (#1653) Bumps alpine from 3.17.3 to 3.18.0. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dockerfiles/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 33dfba8..64b5f71 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM alpine:3.17.3 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.18.0 as alpine RUN apk add --no-cache \ ca-certificates \ From bac02e74afc43bf0b677eacccd500b3f0d941209 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 May 2023 09:32:48 +0200 Subject: [PATCH 300/389] chore(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 (#1659) Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.0 to 1.9.2. - [Release notes](https://github.com/sirupsen/logrus/releases) - [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md) - [Commits](https://github.com/sirupsen/logrus/compare/v1.9.0...v1.9.2) --- updated-dependencies: - dependency-name: github.com/sirupsen/logrus dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6d3091c..3b9c344 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/onsi/gomega v1.27.6 github.com/prometheus/client_golang v1.15.1 github.com/robfig/cron v1.2.0 - github.com/sirupsen/logrus v1.9.0 + github.com/sirupsen/logrus v1.9.2 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.15.0 diff --git a/go.sum b/go.sum index 163f628..16067c9 100644 --- a/go.sum +++ b/go.sum @@ -578,8 +578,8 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.2 h1:oxx1eChJGI6Uks2ZC4W1zpLlVgqB8ner4EuQwV4Ik1Y= +github.com/sirupsen/logrus v1.9.2/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= From 9806c953310fe3a2523e9e23cca317c8041f5465 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 May 2023 09:38:25 +0200 Subject: [PATCH 301/389] chore(deps): bump github.com/onsi/gomega from 1.27.6 to 1.27.7 (#1658) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.6 to 1.27.7. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.27.6...v1.27.7) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 3b9c344..3e11ed4 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v23.0.6+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.27.6 + github.com/onsi/gomega v1.27.7 github.com/prometheus/client_golang v1.15.1 github.com/robfig/cron v1.2.0 github.com/sirupsen/logrus v1.9.2 diff --git a/go.sum b/go.sum index 16067c9..9c67ae0 100644 --- a/go.sum +++ b/go.sum @@ -281,8 +281,8 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= @@ -508,7 +508,7 @@ github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47 github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= -github.com/onsi/ginkgo/v2 v2.9.2 h1:BA2GMJOtfGAfagzYtrAlufIP0lq6QERkFmHLMLPwFSU= +github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -516,8 +516,8 @@ github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9 github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= -github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= -github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg= +github.com/onsi/gomega v1.27.7 h1:fVih9JD6ogIiHUN6ePK7HJidyEDpWGVB5mzM7cWNXoU= +github.com/onsi/gomega v1.27.7/go.mod h1:1p8OOlwo2iUUDsHnOrjE5UKYJ+e3W8eQ3qSlRahPmr4= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -970,7 +970,7 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= -golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= +golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 89da17a23f35b75a00c7168133f5aaf10a5d1ee1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 May 2023 09:39:04 +0200 Subject: [PATCH 302/389] chore(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#1660) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.2 to 1.8.3. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.8.2...v1.8.3) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3e11ed4..be5b04a 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.15.0 - github.com/stretchr/testify v1.8.2 + github.com/stretchr/testify v1.8.3 golang.org/x/net v0.10.0 ) diff --git a/go.sum b/go.sum index 9c67ae0..cdfb1b9 100644 --- a/go.sum +++ b/go.sum @@ -612,8 +612,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= From 4a5c03823e595121c7e2361f8445555c84fbfa17 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 May 2023 09:39:33 +0200 Subject: [PATCH 303/389] chore(deps): bump github.com/docker/cli (#1661) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 23.0.6+incompatible to 24.0.1+incompatible. - [Commits](https://github.com/docker/cli/compare/v23.0.6...v24.0.1) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index be5b04a..0de0ff3 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 - github.com/docker/cli v23.0.6+incompatible + github.com/docker/cli v24.0.1+incompatible github.com/docker/distribution v2.8.2+incompatible github.com/docker/docker v23.0.6+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index cdfb1b9..396c42e 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v23.0.6+incompatible h1:CScadyCJ2ZKUDpAMZta6vK8I+6/m60VIjGIV7Wg/Eu4= -github.com/docker/cli v23.0.6+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v24.0.1+incompatible h1:uVl5Xv/39kZJpDo9VaktTOYBc702sdYYF33FqwUG/dM= +github.com/docker/cli v24.0.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v23.0.6+incompatible h1:aBD4np894vatVX99UTx/GyOUOK4uEcROwA3+bQhEcoU= From 1fed2a87a682bd865fa07adbc994f71482fc5bdc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 10:47:40 +0200 Subject: [PATCH 304/389] chore(deps): bump github.com/docker/cli from 24.0.1+incompatible to 24.0.2+incompatible (#1664) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0de0ff3..062f43a 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 - github.com/docker/cli v24.0.1+incompatible + github.com/docker/cli v24.0.2+incompatible github.com/docker/distribution v2.8.2+incompatible github.com/docker/docker v23.0.6+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index 396c42e..dbd918d 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v24.0.1+incompatible h1:uVl5Xv/39kZJpDo9VaktTOYBc702sdYYF33FqwUG/dM= -github.com/docker/cli v24.0.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v24.0.2+incompatible h1:QdqR7znue1mtkXIJ+ruQMGQhpw2JzMJLRXp6zpzF6tM= +github.com/docker/cli v24.0.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v23.0.6+incompatible h1:aBD4np894vatVX99UTx/GyOUOK4uEcROwA3+bQhEcoU= From 6c9dd5012ec864f58ebed87cef5a04aedffa5e79 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 11:09:52 +0200 Subject: [PATCH 305/389] chore(deps): bump github.com/docker/docker from 23.0.6+incompatible to 24.0.2+incompatible (#1663) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 062f43a..cc11fa7 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v24.0.2+incompatible github.com/docker/distribution v2.8.2+incompatible - github.com/docker/docker v23.0.6+incompatible + github.com/docker/docker v24.0.2+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.7 diff --git a/go.sum b/go.sum index dbd918d..2c6f41b 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v24.0.2+incompatible h1:QdqR7znue1mtkXIJ+ruQMGQhpw2JzMJLRX github.com/docker/cli v24.0.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v23.0.6+incompatible h1:aBD4np894vatVX99UTx/GyOUOK4uEcROwA3+bQhEcoU= -github.com/docker/docker v23.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.2+incompatible h1:eATx+oLz9WdNVkQrr0qjQ8HvRJ4bOOxfzEo8R+dA3cg= +github.com/docker/docker v24.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 118069162fcbe3dbbcd228349f7bd27ee7e566ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Jun 2023 11:10:12 +0200 Subject: [PATCH 306/389] chore(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#1668) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cc11fa7..252a0fa 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.15.0 - github.com/stretchr/testify v1.8.3 + github.com/stretchr/testify v1.8.4 golang.org/x/net v0.10.0 ) diff --git a/go.sum b/go.sum index 2c6f41b..21799f7 100644 --- a/go.sum +++ b/go.sum @@ -612,8 +612,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= From 44954456482d20b318e07affac50be9d27050e39 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:20:11 +0200 Subject: [PATCH 307/389] chore(deps): bump golang.org/x/text from 0.9.0 to 0.10.0 (#1670) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 252a0fa..2eae0f4 100644 --- a/go.mod +++ b/go.mod @@ -57,7 +57,7 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect golang.org/x/sys v0.8.0 // indirect - golang.org/x/text v0.9.0 + golang.org/x/text v0.10.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 21799f7..e1f8a86 100644 --- a/go.sum +++ b/go.sum @@ -902,8 +902,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From b0acc8f6265de35219a16ba6baacc1190e80783b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:21:08 +0200 Subject: [PATCH 308/389] chore(deps): bump goreleaser/goreleaser-action from 4.2.0 to 4.3.0 (#1673) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 30cc0d1..0c776cb 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -64,7 +64,7 @@ jobs: with: go-version: 1.18.x - name: Build - uses: goreleaser/goreleaser-action@f82d6c1c344bcacabba2c841718984797f664a6b #v3 + uses: goreleaser/goreleaser-action@336e29918d653399e599bfca99fadc1d7ffbc9f7 #v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b2ae831..7a061ad 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: password: ${{ secrets.BOT_GHCR_PAT }} registry: ghcr.io - name: Build - uses: goreleaser/goreleaser-action@f82d6c1c344bcacabba2c841718984797f664a6b #v3 + uses: goreleaser/goreleaser-action@336e29918d653399e599bfca99fadc1d7ffbc9f7 #v3 with: version: v0.155.0 args: --debug From ad644fc756896767f1b9dc339587df461b4ae059 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:21:28 +0200 Subject: [PATCH 309/389] chore(deps): bump github.com/onsi/gomega from 1.27.7 to 1.27.8 (#1671) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 2eae0f4..5f2d8a6 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v24.0.2+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.27.7 + github.com/onsi/gomega v1.27.8 github.com/prometheus/client_golang v1.15.1 github.com/robfig/cron v1.2.0 github.com/sirupsen/logrus v1.9.2 diff --git a/go.sum b/go.sum index e1f8a86..abff7c6 100644 --- a/go.sum +++ b/go.sum @@ -508,7 +508,7 @@ github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47 github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= -github.com/onsi/ginkgo/v2 v2.9.5 h1:+6Hr4uxzP4XIUyAkg61dWBw8lb/gc4/X5luuxN/EC+Q= +github.com/onsi/ginkgo/v2 v2.9.7 h1:06xGQy5www2oN160RtEZoTvnP2sPhEfePYmCDc2szss= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -516,8 +516,8 @@ github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9 github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= -github.com/onsi/gomega v1.27.7 h1:fVih9JD6ogIiHUN6ePK7HJidyEDpWGVB5mzM7cWNXoU= -github.com/onsi/gomega v1.27.7/go.mod h1:1p8OOlwo2iUUDsHnOrjE5UKYJ+e3W8eQ3qSlRahPmr4= +github.com/onsi/gomega v1.27.8 h1:gegWiwZjBsf2DgiSbf5hpokZ98JVDMcWkUiigk6/KXc= +github.com/onsi/gomega v1.27.8/go.mod h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJKFnNQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= From a7ca7832ff1e8bf4621466937c1a3db70307b047 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jun 2023 13:21:51 +0200 Subject: [PATCH 310/389] chore(deps): bump docker/login-action from 2.1.0 to 2.2.0 (#1672) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7a061ad..8e18bbe 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,12 +70,12 @@ jobs: with: go-version: 1.18.x - name: Login to Docker Hub - uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a #v2 + uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc #v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to GHCR - uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a #v2 + uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc #v2 with: username: ${{ secrets.BOT_USERNAME }} password: ${{ secrets.BOT_GHCR_PAT }} From 170c79d7e4c01bf8718a95a4b96fdce5e6a11665 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jun 2023 14:16:56 +0200 Subject: [PATCH 311/389] chore(deps): bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 (#1666) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5f2d8a6..a10cb16 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/onsi/gomega v1.27.8 github.com/prometheus/client_golang v1.15.1 github.com/robfig/cron v1.2.0 - github.com/sirupsen/logrus v1.9.2 + github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.15.0 diff --git a/go.sum b/go.sum index abff7c6..3bf5aba 100644 --- a/go.sum +++ b/go.sum @@ -578,8 +578,8 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.2 h1:oxx1eChJGI6Uks2ZC4W1zpLlVgqB8ner4EuQwV4Ik1Y= -github.com/sirupsen/logrus v1.9.2/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= From c7c1aee20b8a1dd3c9c747259a3b3b8ce4227fde Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Jun 2023 14:22:21 +0200 Subject: [PATCH 312/389] chore(deps): bump github.com/spf13/viper from 1.15.0 to 1.16.0 (#1667) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 8 ++++---- go.sum | 21 ++++++++++++--------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index a10cb16..7762fb8 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.15.0 + github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 golang.org/x/net v0.10.0 ) @@ -45,14 +45,14 @@ require ( github.com/nxadm/tail v1.4.8 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.42.0 // indirect github.com/prometheus/procfs v0.9.0 // indirect - github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect diff --git a/go.sum b/go.sum index 3bf5aba..1cc99d2 100644 --- a/go.sum +++ b/go.sum @@ -265,8 +265,8 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= @@ -526,8 +526,8 @@ github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FI github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -567,8 +567,8 @@ github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ= github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= @@ -582,10 +582,11 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= @@ -595,8 +596,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -612,6 +613,7 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= @@ -655,6 +657,7 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= From 243b217dad6b5b943f26b5cc0db411962951a4ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Jun 2023 18:23:50 +0200 Subject: [PATCH 313/389] chore(deps): bump alpine from 3.18.0 to 3.18.2 in /dockerfiles (#1679) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dockerfiles/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 64b5f71..6429eb1 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM alpine:3.18.0 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.18.2 as alpine RUN apk add --no-cache \ ca-certificates \ From 244e3ce737b243043242d47a89b1b1f951e223be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Jun 2023 18:24:39 +0200 Subject: [PATCH 314/389] chore(deps): bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 (#1677) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 7762fb8..f0b7015 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.8 - github.com/prometheus/client_golang v1.15.1 + github.com/prometheus/client_golang v1.16.0 github.com/robfig/cron v1.2.0 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.7.0 @@ -50,7 +50,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.42.0 // indirect - github.com/prometheus/procfs v0.9.0 // indirect + github.com/prometheus/procfs v0.10.1 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect diff --git a/go.sum b/go.sum index 1cc99d2..5af5304 100644 --- a/go.sum +++ b/go.sum @@ -542,8 +542,8 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.15.1 h1:8tXpTmJbyH5lydzFPoxSIJ0J46jdh3tylbvM1xCv0LI= -github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= +github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= +github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -561,8 +561,8 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= -github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= +github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ= github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= From 787ce72ffd3b16b757a9a3c152a666774f74d458 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Jun 2023 18:25:15 +0200 Subject: [PATCH 315/389] chore(deps): bump golang.org/x/net from 0.10.0 to 0.11.0 (#1678) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index f0b7015..1fbfedc 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 - golang.org/x/net v0.10.0 + golang.org/x/net v0.11.0 ) require ( @@ -56,7 +56,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/sys v0.8.0 // indirect + golang.org/x/sys v0.9.0 // indirect golang.org/x/text v0.10.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.30.0 // indirect diff --git a/go.sum b/go.sum index 5af5304..04578d2 100644 --- a/go.sum +++ b/go.sum @@ -755,8 +755,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -890,8 +890,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= From 1b3a5d7921d2c83df1706d75917ff791db4bd417 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 16:59:46 +0200 Subject: [PATCH 316/389] chore(deps): bump github.com/docker/docker from 24.0.2+incompatible to 24.0.4+incompatible (#1694) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1fbfedc..27eb981 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v24.0.2+incompatible github.com/docker/distribution v2.8.2+incompatible - github.com/docker/docker v24.0.2+incompatible + github.com/docker/docker v24.0.4+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.8 diff --git a/go.sum b/go.sum index 04578d2..b4c63f1 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v24.0.2+incompatible h1:QdqR7znue1mtkXIJ+ruQMGQhpw2JzMJLRX github.com/docker/cli v24.0.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.2+incompatible h1:eATx+oLz9WdNVkQrr0qjQ8HvRJ4bOOxfzEo8R+dA3cg= -github.com/docker/docker v24.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.4+incompatible h1:s/LVDftw9hjblvqIeTiGYXBCD95nOEEl7qRsRrIOuQI= +github.com/docker/docker v24.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 32988aa9bc29f9051859817384b2eebd442358dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 17:00:03 +0200 Subject: [PATCH 317/389] chore(deps): bump golang.org/x/net from 0.11.0 to 0.12.0 (#1692) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 27eb981..e9e5831 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 - golang.org/x/net v0.11.0 + golang.org/x/net v0.12.0 ) require ( @@ -56,8 +56,8 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/sys v0.9.0 // indirect - golang.org/x/text v0.10.0 + golang.org/x/sys v0.10.0 // indirect + golang.org/x/text v0.11.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index b4c63f1..ea0f4b9 100644 --- a/go.sum +++ b/go.sum @@ -755,8 +755,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= -golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -890,8 +890,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -905,8 +905,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= -golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From dfe4346ab333900561a6c6d309915564c2a713a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 17:14:03 +0200 Subject: [PATCH 318/389] chore(deps): bump github.com/docker/cli from 24.0.2+incompatible to 24.0.4+incompatible (#1695) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e9e5831..2458cca 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 - github.com/docker/cli v24.0.2+incompatible + github.com/docker/cli v24.0.4+incompatible github.com/docker/distribution v2.8.2+incompatible github.com/docker/docker v24.0.4+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index ea0f4b9..c480f58 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v24.0.2+incompatible h1:QdqR7znue1mtkXIJ+ruQMGQhpw2JzMJLRXp6zpzF6tM= -github.com/docker/cli v24.0.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v24.0.4+incompatible h1:Y3bYF9ekNTm2VFz5U/0BlMdJy73D+Y1iAAZ8l63Ydzw= +github.com/docker/cli v24.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v24.0.4+incompatible h1:s/LVDftw9hjblvqIeTiGYXBCD95nOEEl7qRsRrIOuQI= From 7dc8d9f5b05794ea6763a82c5346d286013c35f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Jul 2023 20:39:06 +0200 Subject: [PATCH 319/389] chore(deps): bump github.com/onsi/gomega from 1.27.8 to 1.27.10 (#1700) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 2458cca..c6334b4 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/docker/docker v24.0.4+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.27.8 + github.com/onsi/gomega v1.27.10 github.com/prometheus/client_golang v1.16.0 github.com/robfig/cron v1.2.0 github.com/sirupsen/logrus v1.9.3 diff --git a/go.sum b/go.sum index c480f58..df2ad02 100644 --- a/go.sum +++ b/go.sum @@ -508,7 +508,7 @@ github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47 github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= -github.com/onsi/ginkgo/v2 v2.9.7 h1:06xGQy5www2oN160RtEZoTvnP2sPhEfePYmCDc2szss= +github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -516,8 +516,8 @@ github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9 github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= -github.com/onsi/gomega v1.27.8 h1:gegWiwZjBsf2DgiSbf5hpokZ98JVDMcWkUiigk6/KXc= -github.com/onsi/gomega v1.27.8/go.mod h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJKFnNQ= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -973,7 +973,7 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= -golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= +golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 5eb00cc7e51db82b8294465c03ba5234c17e7f54 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Jul 2023 00:58:04 +0200 Subject: [PATCH 320/389] chore(deps): bump github.com/docker/docker (#1702) Bumps [github.com/docker/docker](https://github.com/docker/docker) from 24.0.4+incompatible to 24.0.5+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](https://github.com/docker/docker/compare/v24.0.4...v24.0.5) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c6334b4..f064836 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.7.1 github.com/docker/cli v24.0.4+incompatible github.com/docker/distribution v2.8.2+incompatible - github.com/docker/docker v24.0.4+incompatible + github.com/docker/docker v24.0.5+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.10 diff --git a/go.sum b/go.sum index df2ad02..2f70200 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v24.0.4+incompatible h1:Y3bYF9ekNTm2VFz5U/0BlMdJy73D+Y1iAA github.com/docker/cli v24.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.4+incompatible h1:s/LVDftw9hjblvqIeTiGYXBCD95nOEEl7qRsRrIOuQI= -github.com/docker/docker v24.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.5+incompatible h1:WmgcE4fxyI6EEXxBRxsHnZXrO1pQ3smi0k/jho4HLeY= +github.com/docker/docker v24.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From a5d7f23d2ecdb30f7e3f6a834314faeb7f7e01ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Jul 2023 02:50:09 +0200 Subject: [PATCH 321/389] chore(deps): bump github.com/docker/cli (#1701) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 24.0.4+incompatible to 24.0.5+incompatible. - [Commits](https://github.com/docker/cli/compare/v24.0.4...v24.0.5) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f064836..30a0974 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.7.1 - github.com/docker/cli v24.0.4+incompatible + github.com/docker/cli v24.0.5+incompatible github.com/docker/distribution v2.8.2+incompatible github.com/docker/docker v24.0.5+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index 2f70200..abbc3bb 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v24.0.4+incompatible h1:Y3bYF9ekNTm2VFz5U/0BlMdJy73D+Y1iAAZ8l63Ydzw= -github.com/docker/cli v24.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v24.0.5+incompatible h1:WeBimjvS0eKdH4Ygx+ihVq1Q++xg36M/rMi4aXAvodc= +github.com/docker/cli v24.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v24.0.5+incompatible h1:WmgcE4fxyI6EEXxBRxsHnZXrO1pQ3smi0k/jho4HLeY= From bba9b2b10004408bd3477164a9fd8effbcd2130b Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Fri, 28 Jul 2023 15:20:22 +0200 Subject: [PATCH 322/389] fix: empty out the aliases on recreation (#1699) * fix: empty out the aliases on recreation * test alias purging --- pkg/container/client.go | 17 ++++++++++++++++- pkg/container/client_test.go | 19 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/pkg/container/client.go b/pkg/container/client.go index 052d1a2..e62923f 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -208,11 +208,25 @@ func (client dockerClient) StopContainer(c t.Container, timeout time.Duration) e return nil } +func (client dockerClient) GetNetworkConfig(c t.Container) *network.NetworkingConfig { + config := &network.NetworkingConfig{ + EndpointsConfig: c.ContainerInfo().NetworkSettings.Networks, + } + + for _, ep := range config.EndpointsConfig { + // This keeps accumulating across upgrades with no apparent added value + // so throwing the information away to prevent overflows. + ep.Aliases = nil + } + return config +} + func (client dockerClient) StartContainer(c t.Container) (t.ContainerID, error) { bg := context.Background() config := c.GetCreateConfig() hostConfig := c.GetCreateHostConfig() - networkConfig := &network.NetworkingConfig{EndpointsConfig: c.ContainerInfo().NetworkSettings.Networks} + networkConfig := client.GetNetworkConfig(c) + // simpleNetworkConfig is a networkConfig with only 1 network. // see: https://github.com/docker/docker/issues/29265 simpleNetworkConfig := func() *network.NetworkingConfig { @@ -228,6 +242,7 @@ func (client dockerClient) StartContainer(c t.Container) (t.ContainerID, error) name := c.Name() log.Infof("Creating %s", name) + createdContainer, err := client.api.ContainerCreate(bg, config, hostConfig, simpleNetworkConfig, nil, name) if err != nil { return "", err diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 24c3222..6600123 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -1,6 +1,7 @@ package container import ( + "github.com/docker/docker/api/types/network" "time" "github.com/containrrr/watchtower/internal/util" @@ -284,6 +285,24 @@ var _ = Describe("the client", func() { }) }) }) + Describe(`GetNetworkConfig`, func() { + When(`providing a container with network aliases`, func() { + It(`should purge the aliases`, func() { + aliases := []string{"One", "Two"} + client := dockerClient{ + api: docker, + ClientOptions: ClientOptions{PullImages: false, IncludeRestarting: false}, + } + container := MockContainer(WithImageName("docker.io/prefix/imagename:latest")) + endpoints := map[string]*network.EndpointSettings{ + `test`: {Aliases: aliases}, + } + container.containerInfo.NetworkSettings = &types.NetworkSettings{Networks: endpoints} + Expect(container.ContainerInfo().NetworkSettings.Networks[`test`].Aliases).To(Equal(aliases)) + Expect(client.GetNetworkConfig(container).EndpointsConfig[`test`].Aliases).To(BeEmpty()) + }) + }) + }) }) // Capture logrus output in buffer From dca45f50cb0d25ddce27f9ff5424d4fcc151f848 Mon Sep 17 00:00:00 2001 From: schizo99 Date: Tue, 8 Aug 2023 18:32:44 +0200 Subject: [PATCH 323/389] feat: support container network mode (#1429) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén Co-authored-by: Andreas Åhman --- .../container-networking/docker-compose.yml | 17 + docs/linked-containers.md | 4 +- pkg/container/client.go | 16 + pkg/container/client_test.go | 42 +- pkg/container/container.go | 7 + pkg/container/mocks/ApiServer.go | 141 +++++-- pkg/container/mocks/container_ref.go | 42 ++ ...ntainer_net_consumer-missing_supplier.json | 205 ++++++++++ .../mocks/data/container_net_consumer.json | 205 ++++++++++ .../mocks/data/container_net_supplier.json | 380 ++++++++++++++++++ .../data/{image01.json => image_default.json} | 0 .../mocks/data/image_net_consumer.json | 115 ++++++ .../mocks/data/image_net_producer.json | 210 ++++++++++ .../data/{image02.json => image_running.json} | 0 scripts/contnet-tests.sh | 42 ++ 15 files changed, 1379 insertions(+), 47 deletions(-) create mode 100644 dockerfiles/container-networking/docker-compose.yml create mode 100644 pkg/container/mocks/container_ref.go create mode 100644 pkg/container/mocks/data/container_net_consumer-missing_supplier.json create mode 100644 pkg/container/mocks/data/container_net_consumer.json create mode 100644 pkg/container/mocks/data/container_net_supplier.json rename pkg/container/mocks/data/{image01.json => image_default.json} (100%) create mode 100644 pkg/container/mocks/data/image_net_consumer.json create mode 100644 pkg/container/mocks/data/image_net_producer.json rename pkg/container/mocks/data/{image02.json => image_running.json} (100%) create mode 100755 scripts/contnet-tests.sh diff --git a/dockerfiles/container-networking/docker-compose.yml b/dockerfiles/container-networking/docker-compose.yml new file mode 100644 index 0000000..24cd00d --- /dev/null +++ b/dockerfiles/container-networking/docker-compose.yml @@ -0,0 +1,17 @@ +services: + producer: + image: qmcgaw/gluetun:v3.35.0 + cap_add: + - NET_ADMIN + environment: + - VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER} + - OPENVPN_USER=${OPENVPN_USER} + - OPENVPN_PASSWORD=${OPENVPN_PASSWORD} + - SERVER_COUNTRIES=${SERVER_COUNTRIES} + consumer: + depends_on: + - producer + image: nginx:1.25.1 + network_mode: "service:producer" + labels: + - "com.centurylinklabs.watchtower.depends-on=/wt-contnet-producer-1" diff --git a/docs/linked-containers.md b/docs/linked-containers.md index 240fb97..c7e9be8 100644 --- a/docs/linked-containers.md +++ b/docs/linked-containers.md @@ -2,4 +2,6 @@ Watchtower will detect if there are links between any of the running containers For example, imagine you were running a _mysql_ container and a _wordpress_ container which had been linked to the _mysql_ container. If watchtower were to detect that the _mysql_ container required an update, it would first shut down the linked _wordpress_ container followed by the _mysql_ container. When restarting the containers it would handle _mysql_ first and then _wordpress_ to ensure that the link continued to work. -If you want to override existing links you can use special `com.centurylinklabs.watchtower.depends-on` label with dependent container names, separated by a comma. +If you want to override existing links, or if you are not using links, you can use special `com.centurylinklabs.watchtower.depends-on` label with dependent container names, separated by a comma. + +When you have a depending container that is using `network_mode: service:container` then watchtower will treat that container as an implicit link. diff --git a/pkg/container/client.go b/pkg/container/client.go index e62923f..14ca237 100644 --- a/pkg/container/client.go +++ b/pkg/container/client.go @@ -157,6 +157,22 @@ func (client dockerClient) GetContainer(containerID t.ContainerID) (t.Container, return &Container{}, err } + netType, netContainerId, found := strings.Cut(string(containerInfo.HostConfig.NetworkMode), ":") + if found && netType == "container" { + parentContainer, err := client.api.ContainerInspect(bg, netContainerId) + if err != nil { + log.WithFields(map[string]interface{}{ + "container": containerInfo.Name, + "error": err, + "network-container": netContainerId, + }).Warnf("Unable to resolve network container: %v", err) + + } else { + // Replace the container ID with a container name to allow it to reference the re-created network container + containerInfo.HostConfig.NetworkMode = container.NetworkMode(fmt.Sprintf("container:%s", parentContainer.Name)) + } + } + imageInfo, _, err := client.api.ImageInspectWithRaw(bg, containerInfo.Image) if err != nil { log.Warnf("Failed to retrieve container image info: %v", err) diff --git a/pkg/container/client_test.go b/pkg/container/client_test.go index 6600123..e8fcca2 100644 --- a/pkg/container/client_test.go +++ b/pkg/container/client_test.go @@ -141,7 +141,7 @@ var _ = Describe("the client", func() { When("no filter is provided", func() { It("should return all available containers", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running")) - mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) + mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...) client := dockerClient{ api: docker, ClientOptions: ClientOptions{PullImages: false}, @@ -154,7 +154,7 @@ var _ = Describe("the client", func() { When("a filter matching nothing", func() { It("should return an empty array", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running")) - mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) + mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...) filter := filters.FilterByNames([]string{"lollercoaster"}, filters.NoFilter) client := dockerClient{ api: docker, @@ -168,7 +168,7 @@ var _ = Describe("the client", func() { When("a watchtower filter is provided", func() { It("should return only the watchtower container", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running")) - mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) + mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...) client := dockerClient{ api: docker, ClientOptions: ClientOptions{PullImages: false}, @@ -181,7 +181,7 @@ var _ = Describe("the client", func() { When(`include stopped is enabled`, func() { It("should return both stopped and running containers", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running", "exited", "created")) - mockServer.AppendHandlers(mocks.GetContainerHandlers("stopped", "watchtower", "running")...) + mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Stopped, &mocks.Watchtower, &mocks.Running)...) client := dockerClient{ api: docker, ClientOptions: ClientOptions{PullImages: false, IncludeStopped: true}, @@ -194,7 +194,7 @@ var _ = Describe("the client", func() { When(`include restarting is enabled`, func() { It("should return both restarting and running containers", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running", "restarting")) - mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running", "restarting")...) + mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running, &mocks.Restarting)...) client := dockerClient{ api: docker, ClientOptions: ClientOptions{PullImages: false, IncludeRestarting: true}, @@ -207,7 +207,7 @@ var _ = Describe("the client", func() { When(`include restarting is disabled`, func() { It("should not return restarting containers", func() { mockServer.AppendHandlers(mocks.ListContainersHandler("running")) - mockServer.AppendHandlers(mocks.GetContainerHandlers("watchtower", "running")...) + mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...) client := dockerClient{ api: docker, ClientOptions: ClientOptions{PullImages: false, IncludeRestarting: false}, @@ -217,6 +217,36 @@ var _ = Describe("the client", func() { Expect(containers).NotTo(ContainElement(havingRestartingState(true))) }) }) + When(`a container uses container network mode`, func() { + When(`the network container can be resolved`, func() { + It("should return the container name instead of the ID", func() { + consumerContainerRef := mocks.NetConsumerOK + mockServer.AppendHandlers(mocks.GetContainerHandlers(&consumerContainerRef)...) + client := dockerClient{ + api: docker, + ClientOptions: ClientOptions{PullImages: false}, + } + container, err := client.GetContainer(consumerContainerRef.ContainerID()) + Expect(err).NotTo(HaveOccurred()) + networkMode := container.ContainerInfo().HostConfig.NetworkMode + Expect(networkMode.ConnectedContainer()).To(Equal(mocks.NetSupplierContainerName)) + }) + }) + When(`the network container cannot be resolved`, func() { + It("should still return the container ID", func() { + consumerContainerRef := mocks.NetConsumerInvalidSupplier + mockServer.AppendHandlers(mocks.GetContainerHandlers(&consumerContainerRef)...) + client := dockerClient{ + api: docker, + ClientOptions: ClientOptions{PullImages: false}, + } + container, err := client.GetContainer(consumerContainerRef.ContainerID()) + Expect(err).NotTo(HaveOccurred()) + networkMode := container.ContainerInfo().HostConfig.NetworkMode + Expect(networkMode.ConnectedContainer()).To(Equal(mocks.NetSupplierNotFoundID)) + }) + }) + }) }) Describe(`ExecuteCommand`, func() { When(`logging`, func() { diff --git a/pkg/container/container.go b/pkg/container/container.go index 20ae2e0..0f78f62 100644 --- a/pkg/container/container.go +++ b/pkg/container/container.go @@ -196,6 +196,13 @@ func (c Container) Links() []string { name := strings.Split(link, ":")[0] links = append(links, name) } + + // If the container uses another container for networking, it can be considered an implicit link + // since the container would stop working if the network supplier were to be recreated + networkMode := c.containerInfo.HostConfig.NetworkMode + if networkMode.IsContainer() { + links = append(links, networkMode.ConnectedContainer()) + } } return links diff --git a/pkg/container/mocks/ApiServer.go b/pkg/container/mocks/ApiServer.go index 652bafb..84756f0 100644 --- a/pkg/container/mocks/ApiServer.go +++ b/pkg/container/mocks/ApiServer.go @@ -3,12 +3,15 @@ package mocks import ( "encoding/json" "fmt" - "io/ioutil" + "github.com/onsi/ginkgo" "net/http" "net/url" + "os" "path/filepath" "strings" + t "github.com/containrrr/watchtower/pkg/types" + "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" O "github.com/onsi/gomega" @@ -17,10 +20,9 @@ import ( func getMockJSONFile(relPath string) ([]byte, error) { absPath, _ := filepath.Abs(relPath) - buf, err := ioutil.ReadFile(absPath) + buf, err := os.ReadFile(absPath) if err != nil { - // logrus.WithError(err).WithField("file", absPath).Error(err) - return nil, err + return nil, fmt.Errorf("mock JSON file %q not found: %e", absPath, err) } return buf, nil } @@ -41,19 +43,22 @@ func respondWithJSONFile(relPath string, statusCode int, optionalHeader ...http. } // GetContainerHandlers returns the handlers serving lookups for the supplied container mock files -func GetContainerHandlers(containerFiles ...string) []http.HandlerFunc { - handlers := make([]http.HandlerFunc, 0, len(containerFiles)*2) - for _, file := range containerFiles { - handlers = append(handlers, getContainerFileHandler(file)) +func GetContainerHandlers(containerRefs ...*ContainerRef) []http.HandlerFunc { + handlers := make([]http.HandlerFunc, 0, len(containerRefs)*3) + for _, containerRef := range containerRefs { + handlers = append(handlers, getContainerFileHandler(containerRef)) + + // Also append any containers that the container references, if any + for _, ref := range containerRef.references { + handlers = append(handlers, getContainerFileHandler(ref)) + } // Also append the image request since that will be called for every container - if file == "running" { - // The "running" container is the only one using image02 - handlers = append(handlers, getImageFileHandler(1)) - } else { - handlers = append(handlers, getImageFileHandler(0)) - } + handlers = append(handlers, getImageHandler(containerRef.image.id, + RespondWithJSONFile(containerRef.image.getFileName(), http.StatusOK), + )) } + return handlers } @@ -65,24 +70,90 @@ func createFilterArgs(statuses []string) filters.Args { return args } -var containerFileIds = map[string]string{ - "stopped": "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65", - "watchtower": "3d88e0e3543281c747d88b27e246578b65ae8964ba86c7cd7522cf84e0978134", - "running": "b978af0b858aa8855cce46b628817d4ed58e58f2c4f66c9b9c5449134ed4c008", - "restarting": "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b67", +var defaultImage = imageRef{ + // watchtower + id: t.ImageID("sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa"), + file: "default", } -var imageIds = []string{ - "sha256:4dbc5f9c07028a985e14d1393e849ea07f68804c4293050d5a641b138db72daa", - "sha256:19d07168491a3f9e2798a9bed96544e34d57ddc4757a4ac5bb199dea896c87fd", +var Watchtower = ContainerRef{ + name: "watchtower", + id: "3d88e0e3543281c747d88b27e246578b65ae8964ba86c7cd7522cf84e0978134", + image: &defaultImage, +} +var Stopped = ContainerRef{ + name: "stopped", + id: "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b65", + image: &defaultImage, +} +var Running = ContainerRef{ + name: "running", + id: "b978af0b858aa8855cce46b628817d4ed58e58f2c4f66c9b9c5449134ed4c008", + image: &imageRef{ + // portainer + id: t.ImageID("sha256:19d07168491a3f9e2798a9bed96544e34d57ddc4757a4ac5bb199dea896c87fd"), + file: "running", + }, +} +var Restarting = ContainerRef{ + name: "restarting", + id: "ae8964ba86c7cd7522cf84e09781343d88e0e3543281c747d88b27e246578b67", + image: &defaultImage, } -func getContainerFileHandler(file string) http.HandlerFunc { - id, ok := containerFileIds[file] - failTestUnless(ok) +var netSupplierOK = ContainerRef{ + id: "25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2", + name: "net_supplier", + image: &imageRef{ + // gluetun + id: t.ImageID("sha256:c22b543d33bfdcb9992cbef23961677133cdf09da71d782468ae2517138bad51"), + file: "net_producer", + }, +} +var netSupplierNotFound = ContainerRef{ + id: NetSupplierNotFoundID, + name: netSupplierOK.name, + isMissing: true, +} + +// NetConsumerOK is used for testing `container` networking mode +// returns a container that consumes an existing supplier container +var NetConsumerOK = ContainerRef{ + id: "1f6b79d2aff23244382026c76f4995851322bed5f9c50631620162f6f9aafbd6", + name: "net_consumer", + image: &imageRef{ + id: t.ImageID("sha256:904b8cb13b932e23230836850610fa45dce9eb0650d5618c2b1487c2a4f577b8"), // nginx + file: "net_consumer", + }, + references: []*ContainerRef{&netSupplierOK}, +} + +// NetConsumerInvalidSupplier is used for testing `container` networking mode +// returns a container that references a supplying container that does not exist +var NetConsumerInvalidSupplier = ContainerRef{ + id: NetConsumerOK.id, + name: "net_consumer-missing_supplier", + image: NetConsumerOK.image, + references: []*ContainerRef{&netSupplierNotFound}, +} + +const NetSupplierNotFoundID = "badc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc" +const NetSupplierContainerName = "/wt-contnet-producer-1" + +func getContainerFileHandler(cr *ContainerRef) http.HandlerFunc { + + if cr.isMissing { + return containerNotFoundResponse(string(cr.id)) + } + + containerFile, err := cr.getContainerFile() + if err != nil { + ginkgo.Fail(fmt.Sprintf("Failed to get container mock file: %v", err)) + } + return getContainerHandler( - id, - RespondWithJSONFile(fmt.Sprintf("./mocks/data/container_%v.json", file), http.StatusOK), + string(cr.id), + RespondWithJSONFile(containerFile, http.StatusOK), ) } @@ -104,7 +175,7 @@ func GetContainerHandler(containerID string, containerInfo *types.ContainerJSON) // GetImageHandler mocks the GET images/{id}/json endpoint func GetImageHandler(imageInfo *types.ImageInspect) http.HandlerFunc { - return getImageHandler(imageInfo.ID, ghttp.RespondWithJSONEncoded(http.StatusOK, imageInfo)) + return getImageHandler(t.ImageID(imageInfo.ID), ghttp.RespondWithJSONEncoded(http.StatusOK, imageInfo)) } // ListContainersHandler mocks the GET containers/json endpoint, filtering the returned containers based on statuses @@ -138,23 +209,13 @@ func respondWithFilteredContainers(filters filters.Args) http.HandlerFunc { return ghttp.RespondWithJSONEncoded(http.StatusOK, filteredContainers) } -func getImageHandler(imageId string, responseHandler http.HandlerFunc) http.HandlerFunc { +func getImageHandler(imageId t.ImageID, responseHandler http.HandlerFunc) http.HandlerFunc { return ghttp.CombineHandlers( ghttp.VerifyRequest("GET", O.HaveSuffix("/images/%s/json", imageId)), responseHandler, ) } -func getImageFileHandler(index int) http.HandlerFunc { - return getImageHandler(imageIds[index], - RespondWithJSONFile(fmt.Sprintf("./mocks/data/image%02d.json", index+1), http.StatusOK), - ) -} - -func failTestUnless(ok bool) { - O.ExpectWithOffset(2, ok).To(O.BeTrue(), "test setup failed") -} - // KillContainerHandler mocks the POST containers/{id}/kill endpoint func KillContainerHandler(containerID string, found FoundStatus) http.HandlerFunc { responseHandler := noContentStatusResponse @@ -180,7 +241,7 @@ func RemoveContainerHandler(containerID string, found FoundStatus) http.HandlerF } func containerNotFoundResponse(containerID string) http.HandlerFunc { - return ghttp.RespondWithJSONEncoded(http.StatusNotFound, struct{ message string }{message: "No such container: " + containerID}) + return ghttp.RespondWithJSONEncoded(http.StatusNotFound, struct{ message string }{message: "No such container: " + string(containerID)}) } var noContentStatusResponse = ghttp.RespondWith(http.StatusNoContent, nil) diff --git a/pkg/container/mocks/container_ref.go b/pkg/container/mocks/container_ref.go new file mode 100644 index 0000000..c46eb93 --- /dev/null +++ b/pkg/container/mocks/container_ref.go @@ -0,0 +1,42 @@ +package mocks + +import ( + "fmt" + "os" + + t "github.com/containrrr/watchtower/pkg/types" +) + +type imageRef struct { + id t.ImageID + file string +} + +func (ir *imageRef) getFileName() string { + return fmt.Sprintf("./mocks/data/image_%v.json", ir.file) +} + +type ContainerRef struct { + name string + id t.ContainerID + image *imageRef + file string + references []*ContainerRef + isMissing bool +} + +func (cr *ContainerRef) getContainerFile() (containerFile string, err error) { + file := cr.file + if file == "" { + file = cr.name + } + + containerFile = fmt.Sprintf("./mocks/data/container_%v.json", file) + _, err = os.Stat(containerFile) + + return containerFile, err +} + +func (cr *ContainerRef) ContainerID() t.ContainerID { + return cr.id +} diff --git a/pkg/container/mocks/data/container_net_consumer-missing_supplier.json b/pkg/container/mocks/data/container_net_consumer-missing_supplier.json new file mode 100644 index 0000000..c1a233b --- /dev/null +++ b/pkg/container/mocks/data/container_net_consumer-missing_supplier.json @@ -0,0 +1,205 @@ +{ + "Id": "1f6b79d2aff23244382026c76f4995851322bed5f9c50631620162f6f9aafbd6", + "Created": "2023-07-25T14:55:14.69155887Z", + "Path": "/docker-entrypoint.sh", + "Args": [ + "nginx", + "-g", + "daemon off;" + ], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 3743, + "ExitCode": 0, + "Error": "", + "StartedAt": "2023-07-25T14:55:15.299654437Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + "Image": "sha256:904b8cb13b932e23230836850610fa45dce9eb0650d5618c2b1487c2a4f577b8", + "ResolvConfPath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/hostname", + "HostsPath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/hosts", + "LogPath": "/var/lib/docker/containers/1f6b79d2aff23244382026c76f4995851322bed5f9c50631620162f6f9aafbd6/1f6b79d2aff23244382026c76f4995851322bed5f9c50631620162f6f9aafbd6-json.log", + "Name": "/wt-contnet-consumer-1", + "RestartCount": 0, + "Driver": "overlay2", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "", + "ExecIDs": null, + "HostConfig": { + "Binds": null, + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "container:badc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc1dbadc", + "PortBindings": {}, + "RestartPolicy": { + "Name": "", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 0, + 0 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "host", + "Dns": null, + "DnsOptions": null, + "DnsSearch": null, + "ExtraHosts": [], + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": null, + "BlkioDeviceReadBps": null, + "BlkioDeviceWriteBps": null, + "BlkioDeviceReadIOps": null, + "BlkioDeviceWriteIOps": null, + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": null, + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": false, + "PidsLimit": null, + "Ulimits": null, + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/asound", + "/proc/acpi", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/timer_list", + "/proc/timer_stats", + "/proc/sched_debug", + "/proc/scsi", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "GraphDriver": { + "Data": { + "LowerDir": "/var/lib/docker/overlay2/05501c86219af9f713c74c129426cf5a17dc5e42f96f7f881f443cab100280e2-init/diff:/var/lib/docker/overlay2/105427179e5628eb7e893d53e21f42f9e76278f8b5665387ecdeed54a7231137/diff:/var/lib/docker/overlay2/09785ba17f27c783ef8b44f369f9aac0ca936000b57abf22b3c54d1e6eb8e27b/diff:/var/lib/docker/overlay2/6f8acd64ae44fd4d14bcb90c105eceba46854aa3985b5b6b317bcc5692cfc286/diff:/var/lib/docker/overlay2/73d41c15edb21c5f12cf53e313f48b5da55283aafc77d35b7bc662241879d7e7/diff:/var/lib/docker/overlay2/d97b55f3d966ae031492369a98e9e00d2bd31e520290fe2034e0a2b1ed77c91e/diff:/var/lib/docker/overlay2/053e9ca65c6b64cb9d98a812ff7488c7e77938b4fb8e0c4d2ad7f8ec235f0f20/diff", + "MergedDir": "/var/lib/docker/overlay2/05501c86219af9f713c74c129426cf5a17dc5e42f96f7f881f443cab100280e2/merged", + "UpperDir": "/var/lib/docker/overlay2/05501c86219af9f713c74c129426cf5a17dc5e42f96f7f881f443cab100280e2/diff", + "WorkDir": "/var/lib/docker/overlay2/05501c86219af9f713c74c129426cf5a17dc5e42f96f7f881f443cab100280e2/work" + }, + "Name": "overlay2" + }, + "Mounts": [], + "Config": { + "Hostname": "25e75393800b", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": true, + "AttachStderr": true, + "ExposedPorts": { + "80/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "NGINX_VERSION=1.23.3", + "NJS_VERSION=0.7.9", + "PKG_RELEASE=1~bullseye" + ], + "Cmd": [ + "nginx", + "-g", + "daemon off;" + ], + "Image": "nginx", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/docker-entrypoint.sh" + ], + "OnBuild": null, + "Labels": { + "com.docker.compose.config-hash": "8bb0e1c8c61f6d495840ba9133ebfb1e4ffda3e1adb701a011b03951848bb9fa", + "com.docker.compose.container-number": "1", + "com.docker.compose.depends_on": "producer:service_started:false", + "com.docker.compose.image": "sha256:904b8cb13b932e23230836850610fa45dce9eb0650d5618c2b1487c2a4f577b8", + "com.docker.compose.oneoff": "False", + "com.docker.compose.project": "wt-contnet", + "com.docker.compose.project.config_files": "/tmp/wt-contnet/docker-compose.yaml", + "com.docker.compose.project.working_dir": "/tmp/wt-contnet", + "com.docker.compose.replace": "07bb70608f96f577aa02b9f317500e23e691c94eb099f6fb52301dfb031d0668", + "com.docker.compose.service": "consumer", + "com.docker.compose.version": "2.19.1", + "desktop.docker.io/wsl-distro": "Ubuntu", + "maintainer": "NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e" + }, + "StopSignal": "SIGQUIT" + }, + "NetworkSettings": { + "Bridge": "", + "SandboxID": "", + "HairpinMode": false, + "LinkLocalIPv6Address": "", + "LinkLocalIPv6PrefixLen": 0, + "Ports": {}, + "SandboxKey": "", + "SecondaryIPAddresses": null, + "SecondaryIPv6Addresses": null, + "EndpointID": "", + "Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "IPAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "MacAddress": "", + "Networks": {} + } +} diff --git a/pkg/container/mocks/data/container_net_consumer.json b/pkg/container/mocks/data/container_net_consumer.json new file mode 100644 index 0000000..2e64f89 --- /dev/null +++ b/pkg/container/mocks/data/container_net_consumer.json @@ -0,0 +1,205 @@ +{ + "Id": "1f6b79d2aff23244382026c76f4995851322bed5f9c50631620162f6f9aafbd6", + "Created": "2023-07-25T14:55:14.69155887Z", + "Path": "/docker-entrypoint.sh", + "Args": [ + "nginx", + "-g", + "daemon off;" + ], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 3743, + "ExitCode": 0, + "Error": "", + "StartedAt": "2023-07-25T14:55:15.299654437Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + "Image": "sha256:904b8cb13b932e23230836850610fa45dce9eb0650d5618c2b1487c2a4f577b8", + "ResolvConfPath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/hostname", + "HostsPath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/hosts", + "LogPath": "/var/lib/docker/containers/1f6b79d2aff23244382026c76f4995851322bed5f9c50631620162f6f9aafbd6/1f6b79d2aff23244382026c76f4995851322bed5f9c50631620162f6f9aafbd6-json.log", + "Name": "/wt-contnet-consumer-1", + "RestartCount": 0, + "Driver": "overlay2", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "", + "ExecIDs": null, + "HostConfig": { + "Binds": null, + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "container:25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2", + "PortBindings": {}, + "RestartPolicy": { + "Name": "", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 0, + 0 + ], + "CapAdd": null, + "CapDrop": null, + "CgroupnsMode": "host", + "Dns": null, + "DnsOptions": null, + "DnsSearch": null, + "ExtraHosts": [], + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": null, + "BlkioDeviceReadBps": null, + "BlkioDeviceWriteBps": null, + "BlkioDeviceReadIOps": null, + "BlkioDeviceWriteIOps": null, + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": null, + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": false, + "PidsLimit": null, + "Ulimits": null, + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/asound", + "/proc/acpi", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/timer_list", + "/proc/timer_stats", + "/proc/sched_debug", + "/proc/scsi", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "GraphDriver": { + "Data": { + "LowerDir": "/var/lib/docker/overlay2/05501c86219af9f713c74c129426cf5a17dc5e42f96f7f881f443cab100280e2-init/diff:/var/lib/docker/overlay2/105427179e5628eb7e893d53e21f42f9e76278f8b5665387ecdeed54a7231137/diff:/var/lib/docker/overlay2/09785ba17f27c783ef8b44f369f9aac0ca936000b57abf22b3c54d1e6eb8e27b/diff:/var/lib/docker/overlay2/6f8acd64ae44fd4d14bcb90c105eceba46854aa3985b5b6b317bcc5692cfc286/diff:/var/lib/docker/overlay2/73d41c15edb21c5f12cf53e313f48b5da55283aafc77d35b7bc662241879d7e7/diff:/var/lib/docker/overlay2/d97b55f3d966ae031492369a98e9e00d2bd31e520290fe2034e0a2b1ed77c91e/diff:/var/lib/docker/overlay2/053e9ca65c6b64cb9d98a812ff7488c7e77938b4fb8e0c4d2ad7f8ec235f0f20/diff", + "MergedDir": "/var/lib/docker/overlay2/05501c86219af9f713c74c129426cf5a17dc5e42f96f7f881f443cab100280e2/merged", + "UpperDir": "/var/lib/docker/overlay2/05501c86219af9f713c74c129426cf5a17dc5e42f96f7f881f443cab100280e2/diff", + "WorkDir": "/var/lib/docker/overlay2/05501c86219af9f713c74c129426cf5a17dc5e42f96f7f881f443cab100280e2/work" + }, + "Name": "overlay2" + }, + "Mounts": [], + "Config": { + "Hostname": "25e75393800b", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": true, + "AttachStderr": true, + "ExposedPorts": { + "80/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "NGINX_VERSION=1.23.3", + "NJS_VERSION=0.7.9", + "PKG_RELEASE=1~bullseye" + ], + "Cmd": [ + "nginx", + "-g", + "daemon off;" + ], + "Image": "nginx", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/docker-entrypoint.sh" + ], + "OnBuild": null, + "Labels": { + "com.docker.compose.config-hash": "8bb0e1c8c61f6d495840ba9133ebfb1e4ffda3e1adb701a011b03951848bb9fa", + "com.docker.compose.container-number": "1", + "com.docker.compose.depends_on": "producer:service_started:false", + "com.docker.compose.image": "sha256:904b8cb13b932e23230836850610fa45dce9eb0650d5618c2b1487c2a4f577b8", + "com.docker.compose.oneoff": "False", + "com.docker.compose.project": "wt-contnet", + "com.docker.compose.project.config_files": "/tmp/wt-contnet/docker-compose.yaml", + "com.docker.compose.project.working_dir": "/tmp/wt-contnet", + "com.docker.compose.replace": "07bb70608f96f577aa02b9f317500e23e691c94eb099f6fb52301dfb031d0668", + "com.docker.compose.service": "consumer", + "com.docker.compose.version": "2.19.1", + "desktop.docker.io/wsl-distro": "Ubuntu", + "maintainer": "NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e" + }, + "StopSignal": "SIGQUIT" + }, + "NetworkSettings": { + "Bridge": "", + "SandboxID": "", + "HairpinMode": false, + "LinkLocalIPv6Address": "", + "LinkLocalIPv6PrefixLen": 0, + "Ports": {}, + "SandboxKey": "", + "SecondaryIPAddresses": null, + "SecondaryIPv6Addresses": null, + "EndpointID": "", + "Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "IPAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "MacAddress": "", + "Networks": {} + } +} diff --git a/pkg/container/mocks/data/container_net_supplier.json b/pkg/container/mocks/data/container_net_supplier.json new file mode 100644 index 0000000..24db841 --- /dev/null +++ b/pkg/container/mocks/data/container_net_supplier.json @@ -0,0 +1,380 @@ +{ + "Id": "25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2", + "Created": "2023-07-25T14:55:14.595662628Z", + "Path": "/gluetun-entrypoint", + "Args": [], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 3648, + "ExitCode": 0, + "Error": "", + "StartedAt": "2023-07-25T14:55:15.193430103Z", + "FinishedAt": "0001-01-01T00:00:00Z", + "Health": { + "Status": "healthy", + "FailingStreak": 0, + "Log": [ + { + "Start": "2023-07-25T15:00:32.078491228Z", + "End": "2023-07-25T15:00:32.194554876Z", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2023-07-25T15:00:37.199245496Z", + "End": "2023-07-25T15:00:37.294845687Z", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2023-07-25T15:00:42.299676089Z", + "End": "2023-07-25T15:00:42.384213818Z", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2023-07-25T15:00:47.389142447Z", + "End": "2023-07-25T15:00:47.514483294Z", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2023-07-25T15:00:52.518770886Z", + "End": "2023-07-25T15:00:52.644288742Z", + "ExitCode": 0, + "Output": "" + } + ] + } + }, + "Image": "sha256:c22b543d33bfdcb9992cbef23961677133cdf09da71d782468ae2517138bad51", + "ResolvConfPath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/resolv.conf", + "HostnamePath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/hostname", + "HostsPath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/hosts", + "LogPath": "/var/lib/docker/containers/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2/25e75393800b5c450a6841212a3b92ed28fa35414a586dec9f2c8a520d4910c2-json.log", + "Name": "/wt-contnet-producer-1", + "RestartCount": 0, + "Driver": "overlay2", + "Platform": "linux", + "MountLabel": "", + "ProcessLabel": "", + "AppArmorProfile": "", + "ExecIDs": null, + "HostConfig": { + "Binds": null, + "ContainerIDFile": "", + "LogConfig": { + "Type": "json-file", + "Config": {} + }, + "NetworkMode": "wt-contnet_default", + "PortBindings": {}, + "RestartPolicy": { + "Name": "", + "MaximumRetryCount": 0 + }, + "AutoRemove": false, + "VolumeDriver": "", + "VolumesFrom": null, + "ConsoleSize": [ + 0, + 0 + ], + "CapAdd": [ + "NET_ADMIN" + ], + "CapDrop": null, + "CgroupnsMode": "host", + "Dns": null, + "DnsOptions": null, + "DnsSearch": null, + "ExtraHosts": [], + "GroupAdd": null, + "IpcMode": "private", + "Cgroup": "", + "Links": null, + "OomScoreAdj": 0, + "PidMode": "", + "Privileged": false, + "PublishAllPorts": false, + "ReadonlyRootfs": false, + "SecurityOpt": null, + "UTSMode": "", + "UsernsMode": "", + "ShmSize": 67108864, + "Runtime": "runc", + "Isolation": "", + "CpuShares": 0, + "Memory": 0, + "NanoCpus": 0, + "CgroupParent": "", + "BlkioWeight": 0, + "BlkioWeightDevice": null, + "BlkioDeviceReadBps": null, + "BlkioDeviceWriteBps": null, + "BlkioDeviceReadIOps": null, + "BlkioDeviceWriteIOps": null, + "CpuPeriod": 0, + "CpuQuota": 0, + "CpuRealtimePeriod": 0, + "CpuRealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "Devices": null, + "DeviceCgroupRules": null, + "DeviceRequests": null, + "MemoryReservation": 0, + "MemorySwap": 0, + "MemorySwappiness": null, + "OomKillDisable": false, + "PidsLimit": null, + "Ulimits": null, + "CpuCount": 0, + "CpuPercent": 0, + "IOMaximumIOps": 0, + "IOMaximumBandwidth": 0, + "MaskedPaths": [ + "/proc/asound", + "/proc/acpi", + "/proc/kcore", + "/proc/keys", + "/proc/latency_stats", + "/proc/timer_list", + "/proc/timer_stats", + "/proc/sched_debug", + "/proc/scsi", + "/sys/firmware" + ], + "ReadonlyPaths": [ + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ] + }, + "GraphDriver": { + "Data": { + "LowerDir": "/var/lib/docker/overlay2/618bd1e7a13880c07ec7f5bfc45012a9f81d5de452f942b49d8f49b3c67a19a2-init/diff:/var/lib/docker/overlay2/0d222a3aa067159831c4111a408e40325be1085b935c98d39c2e9a01ff50b224/diff:/var/lib/docker/overlay2/a20c9490a23ee8af51898892d9bf32258d44e0e07f3799475be8e8f273a50f73/diff:/var/lib/docker/overlay2/d4c97f367c37c6ada9de57f438a3e19cc714be2a54a6f582a03de9e42d88b344/diff", + "MergedDir": "/var/lib/docker/overlay2/618bd1e7a13880c07ec7f5bfc45012a9f81d5de452f942b49d8f49b3c67a19a2/merged", + "UpperDir": "/var/lib/docker/overlay2/618bd1e7a13880c07ec7f5bfc45012a9f81d5de452f942b49d8f49b3c67a19a2/diff", + "WorkDir": "/var/lib/docker/overlay2/618bd1e7a13880c07ec7f5bfc45012a9f81d5de452f942b49d8f49b3c67a19a2/work" + }, + "Name": "overlay2" + }, + "Mounts": [], + "Config": { + "Hostname": "25e75393800b", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": true, + "AttachStderr": true, + "ExposedPorts": { + "8000/tcp": {}, + "8388/tcp": {}, + "8388/udp": {}, + "8888/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "OPENVPN_PASSWORD=", + "SERVER_COUNTRIES=Sweden", + "VPN_SERVICE_PROVIDER=nordvpn", + "OPENVPN_USER=", + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "VPN_TYPE=openvpn", + "VPN_ENDPOINT_IP=", + "VPN_ENDPOINT_PORT=", + "VPN_INTERFACE=tun0", + "OPENVPN_PROTOCOL=udp", + "OPENVPN_USER_SECRETFILE=/run/secrets/openvpn_user", + "OPENVPN_PASSWORD_SECRETFILE=/run/secrets/openvpn_password", + "OPENVPN_VERSION=2.5", + "OPENVPN_VERBOSITY=1", + "OPENVPN_FLAGS=", + "OPENVPN_CIPHERS=", + "OPENVPN_AUTH=", + "OPENVPN_PROCESS_USER=root", + "OPENVPN_CUSTOM_CONFIG=", + "WIREGUARD_PRIVATE_KEY=", + "WIREGUARD_PRESHARED_KEY=", + "WIREGUARD_PUBLIC_KEY=", + "WIREGUARD_ALLOWED_IPS=", + "WIREGUARD_ADDRESSES=", + "WIREGUARD_MTU=1400", + "WIREGUARD_IMPLEMENTATION=auto", + "SERVER_REGIONS=", + "SERVER_CITIES=", + "SERVER_HOSTNAMES=", + "ISP=", + "OWNED_ONLY=no", + "PRIVATE_INTERNET_ACCESS_OPENVPN_ENCRYPTION_PRESET=", + "VPN_PORT_FORWARDING=off", + "VPN_PORT_FORWARDING_PROVIDER=", + "VPN_PORT_FORWARDING_STATUS_FILE=/tmp/gluetun/forwarded_port", + "OPENVPN_CERT=", + "OPENVPN_KEY=", + "OPENVPN_CLIENTCRT_SECRETFILE=/run/secrets/openvpn_clientcrt", + "OPENVPN_CLIENTKEY_SECRETFILE=/run/secrets/openvpn_clientkey", + "OPENVPN_ENCRYPTED_KEY=", + "OPENVPN_ENCRYPTED_KEY_SECRETFILE=/run/secrets/openvpn_encrypted_key", + "OPENVPN_KEY_PASSPHRASE=", + "OPENVPN_KEY_PASSPHRASE_SECRETFILE=/run/secrets/openvpn_key_passphrase", + "SERVER_NUMBER=", + "SERVER_NAMES=", + "FREE_ONLY=", + "MULTIHOP_ONLY=", + "PREMIUM_ONLY=", + "FIREWALL=on", + "FIREWALL_VPN_INPUT_PORTS=", + "FIREWALL_INPUT_PORTS=", + "FIREWALL_OUTBOUND_SUBNETS=", + "FIREWALL_DEBUG=off", + "LOG_LEVEL=info", + "HEALTH_SERVER_ADDRESS=127.0.0.1:9999", + "HEALTH_TARGET_ADDRESS=cloudflare.com:443", + "HEALTH_SUCCESS_WAIT_DURATION=5s", + "HEALTH_VPN_DURATION_INITIAL=6s", + "HEALTH_VPN_DURATION_ADDITION=5s", + "DOT=on", + "DOT_PROVIDERS=cloudflare", + "DOT_PRIVATE_ADDRESS=127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16,::1/128,fc00::/7,fe80::/10,::ffff:7f00:1/104,::ffff:a00:0/104,::ffff:a9fe:0/112,::ffff:ac10:0/108,::ffff:c0a8:0/112", + "DOT_VERBOSITY=1", + "DOT_VERBOSITY_DETAILS=0", + "DOT_VALIDATION_LOGLEVEL=0", + "DOT_CACHING=on", + "DOT_IPV6=off", + "BLOCK_MALICIOUS=on", + "BLOCK_SURVEILLANCE=off", + "BLOCK_ADS=off", + "UNBLOCK=", + "DNS_UPDATE_PERIOD=24h", + "DNS_ADDRESS=127.0.0.1", + "DNS_KEEP_NAMESERVER=off", + "HTTPPROXY=", + "HTTPPROXY_LOG=off", + "HTTPPROXY_LISTENING_ADDRESS=:8888", + "HTTPPROXY_STEALTH=off", + "HTTPPROXY_USER=", + "HTTPPROXY_PASSWORD=", + "HTTPPROXY_USER_SECRETFILE=/run/secrets/httpproxy_user", + "HTTPPROXY_PASSWORD_SECRETFILE=/run/secrets/httpproxy_password", + "SHADOWSOCKS=off", + "SHADOWSOCKS_LOG=off", + "SHADOWSOCKS_LISTENING_ADDRESS=:8388", + "SHADOWSOCKS_PASSWORD=", + "SHADOWSOCKS_PASSWORD_SECRETFILE=/run/secrets/shadowsocks_password", + "SHADOWSOCKS_CIPHER=chacha20-ietf-poly1305", + "HTTP_CONTROL_SERVER_LOG=on", + "HTTP_CONTROL_SERVER_ADDRESS=:8000", + "UPDATER_PERIOD=0", + "UPDATER_MIN_RATIO=0.8", + "UPDATER_VPN_SERVICE_PROVIDERS=", + "PUBLICIP_FILE=/tmp/gluetun/ip", + "PUBLICIP_PERIOD=12h", + "PPROF_ENABLED=no", + "PPROF_BLOCK_PROFILE_RATE=0", + "PPROF_MUTEX_PROFILE_RATE=0", + "PPROF_HTTP_SERVER_ADDRESS=:6060", + "VERSION_INFORMATION=on", + "TZ=", + "PUID=", + "PGID=" + ], + "Cmd": null, + "Healthcheck": { + "Test": [ + "CMD-SHELL", + "/gluetun-entrypoint healthcheck" + ], + "Interval": 5000000000, + "Timeout": 5000000000, + "StartPeriod": 10000000000, + "Retries": 1 + }, + "Image": "qmcgaw/gluetun", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/gluetun-entrypoint" + ], + "OnBuild": null, + "Labels": { + "com.docker.compose.config-hash": "6dc7dc42a86edb47039de3650a9cb9bdcf4866c113b8f9d797722c9dfd20428b", + "com.docker.compose.container-number": "1", + "com.docker.compose.depends_on": "", + "com.docker.compose.image": "sha256:c22b543d33bfdcb9992cbef23961677133cdf09da71d782468ae2517138bad51", + "com.docker.compose.oneoff": "False", + "com.docker.compose.project": "wt-contnet", + "com.docker.compose.project.config_files": "/tmp/wt-contnet/docker-compose.yaml", + "com.docker.compose.project.working_dir": "/tmp/wt-contnet", + "com.docker.compose.replace": "9bd1ce000be81819fc915aa60a1674c7573b59a26ac4643ecf427a5732b9785f", + "com.docker.compose.service": "producer", + "com.docker.compose.version": "2.19.1", + "desktop.docker.io/wsl-distro": "Ubuntu", + "org.opencontainers.image.authors": "quentin.mcgaw@gmail.com", + "org.opencontainers.image.created": "2023-07-22T16:07:05.641Z", + "org.opencontainers.image.description": "VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.", + "org.opencontainers.image.documentation": "https://github.com/qdm12/gluetun", + "org.opencontainers.image.licenses": "MIT", + "org.opencontainers.image.revision": "eecfb3952f202c0de3867d88e96d80c6b0f48359", + "org.opencontainers.image.source": "https://github.com/qdm12/gluetun", + "org.opencontainers.image.title": "gluetun", + "org.opencontainers.image.url": "https://github.com/qdm12/gluetun", + "org.opencontainers.image.version": "latest" + } + }, + "NetworkSettings": { + "Bridge": "", + "SandboxID": "34a321b64bb1b15f994dfccff0e235f881504f240c2028876ff6683962eaa10e", + "HairpinMode": false, + "LinkLocalIPv6Address": "", + "LinkLocalIPv6PrefixLen": 0, + "Ports": { + "8000/tcp": null, + "8388/tcp": null, + "8388/udp": null, + "8888/tcp": null + }, + "SandboxKey": "/var/run/docker/netns/34a321b64bb1", + "SecondaryIPAddresses": null, + "SecondaryIPv6Addresses": null, + "EndpointID": "", + "Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "IPAddress": "", + "IPPrefixLen": 0, + "IPv6Gateway": "", + "MacAddress": "", + "Networks": { + "wt-contnet_default": { + "IPAMConfig": null, + "Links": null, + "Aliases": [ + "wt-contnet-producer-1", + "producer", + "25e75393800b" + ], + "NetworkID": "f0f652a79efc54bcad52aafb4cbcc3b5dce1acaf11b172d8678d25f665faf63d", + "EndpointID": "2429c2b5d08db6c986bbd419a52ca4dd352715d80c5aeae04742efb84b0356fc", + "Gateway": "172.19.0.1", + "IPAddress": "172.19.0.2", + "IPPrefixLen": 16, + "IPv6Gateway": "", + "GlobalIPv6Address": "", + "GlobalIPv6PrefixLen": 0, + "MacAddress": "02:42:ac:13:00:02", + "DriverOpts": null + } + } + } +} diff --git a/pkg/container/mocks/data/image01.json b/pkg/container/mocks/data/image_default.json similarity index 100% rename from pkg/container/mocks/data/image01.json rename to pkg/container/mocks/data/image_default.json diff --git a/pkg/container/mocks/data/image_net_consumer.json b/pkg/container/mocks/data/image_net_consumer.json new file mode 100644 index 0000000..add6edf --- /dev/null +++ b/pkg/container/mocks/data/image_net_consumer.json @@ -0,0 +1,115 @@ +{ + "Id": "sha256:904b8cb13b932e23230836850610fa45dce9eb0650d5618c2b1487c2a4f577b8", + "RepoTags": [ + "nginx:latest" + ], + "RepoDigests": [ + "nginx@sha256:aa0afebbb3cfa473099a62c4b32e9b3fb73ed23f2a75a65ce1d4b4f55a5c2ef2" + ], + "Parent": "", + "Comment": "", + "Created": "2023-03-01T18:43:12.914398123Z", + "Container": "71a4c9a59d252d7c54812429bfe5df477e54e91ebfff1939ae39ecdf055d445c", + "ContainerConfig": { + "Hostname": "71a4c9a59d25", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "80/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "NGINX_VERSION=1.23.3", + "NJS_VERSION=0.7.9", + "PKG_RELEASE=1~bullseye" + ], + "Cmd": [ + "/bin/sh", + "-c", + "#(nop) ", + "CMD [\"nginx\" \"-g\" \"daemon off;\"]" + ], + "Image": "sha256:6716b8a33f73b21e193bb63424ea1105eaaa6a8237fefe75570bea18c87a1711", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/docker-entrypoint.sh" + ], + "OnBuild": null, + "Labels": { + "maintainer": "NGINX Docker Maintainers " + }, + "StopSignal": "SIGQUIT" + }, + "DockerVersion": "20.10.23", + "Author": "", + "Config": { + "Hostname": "", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "80/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "NGINX_VERSION=1.23.3", + "NJS_VERSION=0.7.9", + "PKG_RELEASE=1~bullseye" + ], + "Cmd": [ + "nginx", + "-g", + "daemon off;" + ], + "Image": "sha256:6716b8a33f73b21e193bb63424ea1105eaaa6a8237fefe75570bea18c87a1711", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/docker-entrypoint.sh" + ], + "OnBuild": null, + "Labels": { + "maintainer": "NGINX Docker Maintainers " + }, + "StopSignal": "SIGQUIT" + }, + "Architecture": "amd64", + "Os": "linux", + "Size": 141838643, + "VirtualSize": 141838643, + "GraphDriver": { + "Data": { + "LowerDir": "/var/lib/docker/overlay2/09785ba17f27c783ef8b44f369f9aac0ca936000b57abf22b3c54d1e6eb8e27b/diff:/var/lib/docker/overlay2/6f8acd64ae44fd4d14bcb90c105eceba46854aa3985b5b6b317bcc5692cfc286/diff:/var/lib/docker/overlay2/73d41c15edb21c5f12cf53e313f48b5da55283aafc77d35b7bc662241879d7e7/diff:/var/lib/docker/overlay2/d97b55f3d966ae031492369a98e9e00d2bd31e520290fe2034e0a2b1ed77c91e/diff:/var/lib/docker/overlay2/053e9ca65c6b64cb9d98a812ff7488c7e77938b4fb8e0c4d2ad7f8ec235f0f20/diff", + "MergedDir": "/var/lib/docker/overlay2/105427179e5628eb7e893d53e21f42f9e76278f8b5665387ecdeed54a7231137/merged", + "UpperDir": "/var/lib/docker/overlay2/105427179e5628eb7e893d53e21f42f9e76278f8b5665387ecdeed54a7231137/diff", + "WorkDir": "/var/lib/docker/overlay2/105427179e5628eb7e893d53e21f42f9e76278f8b5665387ecdeed54a7231137/work" + }, + "Name": "overlay2" + }, + "RootFS": { + "Type": "layers", + "Layers": [ + "sha256:650abce4b096b06ac8bec2046d821d66d801af34f1f1d4c5e272ad030c7873db", + "sha256:4dc5cd799a08ff49a603870c8378ea93083bfc2a4176f56e5531997e94c195d0", + "sha256:e161c82b34d21179db1f546c1cd84153d28a17d865ccaf2dedeb06a903fec12c", + "sha256:83ba6d8ffb8c2974174c02d3ba549e7e0656ebb1bc075a6b6ee89b6c609c6a71", + "sha256:d8466e142d8710abf5b495ebb536478f7e19d9d03b151b5d5bd09df4cfb49248", + "sha256:101af4ba983b04be266217ecee414e88b23e394f62e9801c7c1bdb37cb37bcaa" + ] + }, + "Metadata": { + "LastTagTime": "0001-01-01T00:00:00Z" + } +} diff --git a/pkg/container/mocks/data/image_net_producer.json b/pkg/container/mocks/data/image_net_producer.json new file mode 100644 index 0000000..563ad95 --- /dev/null +++ b/pkg/container/mocks/data/image_net_producer.json @@ -0,0 +1,210 @@ +{ + "Id": "sha256:c22b543d33bfdcb9992cbef23961677133cdf09da71d782468ae2517138bad51", + "RepoTags": [ + "qmcgaw/gluetun:latest" + ], + "RepoDigests": [ + "qmcgaw/gluetun@sha256:cd532bf4ef88a348a915c6dc62a9867a2eca89aa70559b0b4a1ea15cc0e595d1" + ], + "Parent": "", + "Comment": "buildkit.dockerfile.v0", + "Created": "2023-07-22T16:10:29.457146856Z", + "Container": "", + "ContainerConfig": { + "Hostname": "", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": null, + "Cmd": null, + "Image": "", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": null, + "OnBuild": null, + "Labels": null + }, + "DockerVersion": "", + "Author": "", + "Config": { + "Hostname": "", + "Domainname": "", + "User": "", + "AttachStdin": false, + "AttachStdout": false, + "AttachStderr": false, + "ExposedPorts": { + "8000/tcp": {}, + "8388/tcp": {}, + "8388/udp": {}, + "8888/tcp": {} + }, + "Tty": false, + "OpenStdin": false, + "StdinOnce": false, + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "VPN_SERVICE_PROVIDER=pia", + "VPN_TYPE=openvpn", + "VPN_ENDPOINT_IP=", + "VPN_ENDPOINT_PORT=", + "VPN_INTERFACE=tun0", + "OPENVPN_PROTOCOL=udp", + "OPENVPN_USER=", + "OPENVPN_PASSWORD=", + "OPENVPN_USER_SECRETFILE=/run/secrets/openvpn_user", + "OPENVPN_PASSWORD_SECRETFILE=/run/secrets/openvpn_password", + "OPENVPN_VERSION=2.5", + "OPENVPN_VERBOSITY=1", + "OPENVPN_FLAGS=", + "OPENVPN_CIPHERS=", + "OPENVPN_AUTH=", + "OPENVPN_PROCESS_USER=root", + "OPENVPN_CUSTOM_CONFIG=", + "WIREGUARD_PRIVATE_KEY=", + "WIREGUARD_PRESHARED_KEY=", + "WIREGUARD_PUBLIC_KEY=", + "WIREGUARD_ALLOWED_IPS=", + "WIREGUARD_ADDRESSES=", + "WIREGUARD_MTU=1400", + "WIREGUARD_IMPLEMENTATION=auto", + "SERVER_REGIONS=", + "SERVER_COUNTRIES=", + "SERVER_CITIES=", + "SERVER_HOSTNAMES=", + "ISP=", + "OWNED_ONLY=no", + "PRIVATE_INTERNET_ACCESS_OPENVPN_ENCRYPTION_PRESET=", + "VPN_PORT_FORWARDING=off", + "VPN_PORT_FORWARDING_PROVIDER=", + "VPN_PORT_FORWARDING_STATUS_FILE=/tmp/gluetun/forwarded_port", + "OPENVPN_CERT=", + "OPENVPN_KEY=", + "OPENVPN_CLIENTCRT_SECRETFILE=/run/secrets/openvpn_clientcrt", + "OPENVPN_CLIENTKEY_SECRETFILE=/run/secrets/openvpn_clientkey", + "OPENVPN_ENCRYPTED_KEY=", + "OPENVPN_ENCRYPTED_KEY_SECRETFILE=/run/secrets/openvpn_encrypted_key", + "OPENVPN_KEY_PASSPHRASE=", + "OPENVPN_KEY_PASSPHRASE_SECRETFILE=/run/secrets/openvpn_key_passphrase", + "SERVER_NUMBER=", + "SERVER_NAMES=", + "FREE_ONLY=", + "MULTIHOP_ONLY=", + "PREMIUM_ONLY=", + "FIREWALL=on", + "FIREWALL_VPN_INPUT_PORTS=", + "FIREWALL_INPUT_PORTS=", + "FIREWALL_OUTBOUND_SUBNETS=", + "FIREWALL_DEBUG=off", + "LOG_LEVEL=info", + "HEALTH_SERVER_ADDRESS=127.0.0.1:9999", + "HEALTH_TARGET_ADDRESS=cloudflare.com:443", + "HEALTH_SUCCESS_WAIT_DURATION=5s", + "HEALTH_VPN_DURATION_INITIAL=6s", + "HEALTH_VPN_DURATION_ADDITION=5s", + "DOT=on", + "DOT_PROVIDERS=cloudflare", + "DOT_PRIVATE_ADDRESS=127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16,::1/128,fc00::/7,fe80::/10,::ffff:7f00:1/104,::ffff:a00:0/104,::ffff:a9fe:0/112,::ffff:ac10:0/108,::ffff:c0a8:0/112", + "DOT_VERBOSITY=1", + "DOT_VERBOSITY_DETAILS=0", + "DOT_VALIDATION_LOGLEVEL=0", + "DOT_CACHING=on", + "DOT_IPV6=off", + "BLOCK_MALICIOUS=on", + "BLOCK_SURVEILLANCE=off", + "BLOCK_ADS=off", + "UNBLOCK=", + "DNS_UPDATE_PERIOD=24h", + "DNS_ADDRESS=127.0.0.1", + "DNS_KEEP_NAMESERVER=off", + "HTTPPROXY=", + "HTTPPROXY_LOG=off", + "HTTPPROXY_LISTENING_ADDRESS=:8888", + "HTTPPROXY_STEALTH=off", + "HTTPPROXY_USER=", + "HTTPPROXY_PASSWORD=", + "HTTPPROXY_USER_SECRETFILE=/run/secrets/httpproxy_user", + "HTTPPROXY_PASSWORD_SECRETFILE=/run/secrets/httpproxy_password", + "SHADOWSOCKS=off", + "SHADOWSOCKS_LOG=off", + "SHADOWSOCKS_LISTENING_ADDRESS=:8388", + "SHADOWSOCKS_PASSWORD=", + "SHADOWSOCKS_PASSWORD_SECRETFILE=/run/secrets/shadowsocks_password", + "SHADOWSOCKS_CIPHER=chacha20-ietf-poly1305", + "HTTP_CONTROL_SERVER_LOG=on", + "HTTP_CONTROL_SERVER_ADDRESS=:8000", + "UPDATER_PERIOD=0", + "UPDATER_MIN_RATIO=0.8", + "UPDATER_VPN_SERVICE_PROVIDERS=", + "PUBLICIP_FILE=/tmp/gluetun/ip", + "PUBLICIP_PERIOD=12h", + "PPROF_ENABLED=no", + "PPROF_BLOCK_PROFILE_RATE=0", + "PPROF_MUTEX_PROFILE_RATE=0", + "PPROF_HTTP_SERVER_ADDRESS=:6060", + "VERSION_INFORMATION=on", + "TZ=", + "PUID=", + "PGID=" + ], + "Cmd": null, + "Healthcheck": { + "Test": [ + "CMD-SHELL", + "/gluetun-entrypoint healthcheck" + ], + "Interval": 5000000000, + "Timeout": 5000000000, + "StartPeriod": 10000000000, + "Retries": 1 + }, + "Image": "", + "Volumes": null, + "WorkingDir": "", + "Entrypoint": [ + "/gluetun-entrypoint" + ], + "OnBuild": null, + "Labels": { + "org.opencontainers.image.authors": "quentin.mcgaw@gmail.com", + "org.opencontainers.image.created": "2023-07-22T16:07:05.641Z", + "org.opencontainers.image.description": "VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.", + "org.opencontainers.image.documentation": "https://github.com/qdm12/gluetun", + "org.opencontainers.image.licenses": "MIT", + "org.opencontainers.image.revision": "eecfb3952f202c0de3867d88e96d80c6b0f48359", + "org.opencontainers.image.source": "https://github.com/qdm12/gluetun", + "org.opencontainers.image.title": "gluetun", + "org.opencontainers.image.url": "https://github.com/qdm12/gluetun", + "org.opencontainers.image.version": "latest" + } + }, + "Architecture": "amd64", + "Os": "linux", + "Size": 42602255, + "VirtualSize": 42602255, + "GraphDriver": { + "Data": { + "LowerDir": "/var/lib/docker/overlay2/a20c9490a23ee8af51898892d9bf32258d44e0e07f3799475be8e8f273a50f73/diff:/var/lib/docker/overlay2/d4c97f367c37c6ada9de57f438a3e19cc714be2a54a6f582a03de9e42d88b344/diff", + "MergedDir": "/var/lib/docker/overlay2/0d222a3aa067159831c4111a408e40325be1085b935c98d39c2e9a01ff50b224/merged", + "UpperDir": "/var/lib/docker/overlay2/0d222a3aa067159831c4111a408e40325be1085b935c98d39c2e9a01ff50b224/diff", + "WorkDir": "/var/lib/docker/overlay2/0d222a3aa067159831c4111a408e40325be1085b935c98d39c2e9a01ff50b224/work" + }, + "Name": "overlay2" + }, + "RootFS": { + "Type": "layers", + "Layers": [ + "sha256:78a822fe2a2d2c84f3de4a403188c45f623017d6a4521d23047c9fbb0801794c", + "sha256:122dbeefc08382d88b3fe57ad81c1e2428af5b81c172d112723a33e2a20fe880", + "sha256:3d215e55b88a99dcd7cf4349618326ab129771e12fdf6c6ef5cbb71a265dbb6c" + ] + }, + "Metadata": { + "LastTagTime": "0001-01-01T00:00:00Z" + } +} diff --git a/pkg/container/mocks/data/image02.json b/pkg/container/mocks/data/image_running.json similarity index 100% rename from pkg/container/mocks/data/image02.json rename to pkg/container/mocks/data/image_running.json diff --git a/scripts/contnet-tests.sh b/scripts/contnet-tests.sh new file mode 100755 index 0000000..25269dc --- /dev/null +++ b/scripts/contnet-tests.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +set -e + +function exit_env_err() { + >&2 echo "Required environment variable not set: $1" + exit 1 +} + +if [ -z "$VPN_SERVICE_PROVIDER" ]; then exit_env_err "VPN_SERVICE_PROVIDER"; fi +if [ -z "$OPENVPN_USER" ]; then exit_env_err "OPENVPN_USER"; fi +if [ -z "$OPENVPN_PASSWORD" ]; then exit_env_err "OPENVPN_PASSWORD"; fi +# if [ -z "$SERVER_COUNTRIES" ]; then exit_env_err "SERVER_COUNTRIES"; fi + + +export SERVER_COUNTRIES=${SERVER_COUNTRIES:"Sweden"} +REPO_ROOT="$(git rev-parse --show-toplevel)" +COMPOSE_FILE="$REPO_ROOT/dockerfiles/container-networking/docker-compose.yml" +DEFAULT_WATCHTOWER="$REPO_ROOT/watchtower" +WATCHTOWER="$*" +WATCHTOWER=${WATCHTOWER:-$DEFAULT_WATCHTOWER} +echo "repo root path is $REPO_ROOT" +echo "watchtower path is $WATCHTOWER" +echo "compose file path is $COMPOSE_FILE" + +echo; echo "=== Forcing network container producer update..." + +echo "Pull previous version of gluetun..." +docker pull qmcgaw/gluetun:v3.34.3 +echo "Fake new version of gluetun by retagging v3.34.4 as v3.35.0..." +docker tag qmcgaw/gluetun:v3.34.3 qmcgaw/gluetun:v3.35.0 + +echo; echo "=== Creating containers..." + +docker compose -p "wt-contnet" -f "$COMPOSE_FILE" up -d + +echo; echo "=== Running watchtower" +$WATCHTOWER --run-once + +echo; echo "=== Removing containers..." + +docker compose -p "wt-contnet" -f "$COMPOSE_FILE" down From be113d7798ad4d899899b7e8e137d13ab1b018eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Aug 2023 20:24:09 +0200 Subject: [PATCH 324/389] chore(deps): bump golang.org/x/text from 0.11.0 to 0.12.0 (#1721) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 30a0974..e775c36 100644 --- a/go.mod +++ b/go.mod @@ -57,7 +57,7 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect golang.org/x/sys v0.10.0 // indirect - golang.org/x/text v0.11.0 + golang.org/x/text v0.12.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index abbc3bb..ea36552 100644 --- a/go.sum +++ b/go.sum @@ -905,8 +905,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 7948242260f786a19f0cc9ebc494c217b4d5313a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 8 Aug 2023 20:30:50 +0200 Subject: [PATCH 325/389] chore(deps): bump golang.org/x/net from 0.12.0 to 0.14.0 (#1720) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.12.0 to 0.14.0. - [Commits](https://github.com/golang/net/compare/v0.12.0...v0.14.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index e775c36..7d34252 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 - golang.org/x/net v0.12.0 + golang.org/x/net v0.14.0 ) require ( @@ -56,7 +56,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/sys v0.10.0 // indirect + golang.org/x/sys v0.11.0 // indirect golang.org/x/text v0.12.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.30.0 // indirect diff --git a/go.sum b/go.sum index ea36552..57eec34 100644 --- a/go.sum +++ b/go.sum @@ -755,8 +755,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -890,8 +890,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= From 30280e38b45fad395dfa19320a5bce8a132bc8a2 Mon Sep 17 00:00:00 2001 From: Tentoe Date: Sat, 12 Aug 2023 14:16:40 +0200 Subject: [PATCH 326/389] fix(notifications): correctly set the delay from options (#1726) Co-authored-by: Tentoe --- pkg/notifications/shoutrrr.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/notifications/shoutrrr.go b/pkg/notifications/shoutrrr.go index d6ce859..c7e59e9 100644 --- a/pkg/notifications/shoutrrr.go +++ b/pkg/notifications/shoutrrr.go @@ -110,6 +110,7 @@ func createNotifier(urls []string, level log.Level, tplString string, legacy boo legacyTemplate: legacy, data: data, params: params, + delay: delay, } } From 32204a7c2d2b9aa040022566c5d13b77cdb7f417 Mon Sep 17 00:00:00 2001 From: kirbylink <86572636+kirbylink@users.noreply.github.com> Date: Sat, 12 Aug 2023 15:50:59 +0200 Subject: [PATCH 327/389] docs: fix env variable name `notification(s)-delay` (#1486) --- docs/notifications.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notifications.md b/docs/notifications.md index 835df44..2be270d 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -18,7 +18,7 @@ system, [logrus](http://github.com/sirupsen/logrus). - `--notifications-level` (env. `WATCHTOWER_NOTIFICATIONS_LEVEL`): Controls the log level which is used for the notifications. If omitted, the default log level is `info`. Possible values are: `panic`, `fatal`, `error`, `warn`, `info`, `debug` or `trace`. - `--notifications-hostname` (env. `WATCHTOWER_NOTIFICATIONS_HOSTNAME`): Custom hostname specified in subject/title. Useful to override the operating system hostname. -- `--notifications-delay` (env. `WATCHTOWER_NOTIFICATION_DELAY`): Delay before sending notifications expressed in seconds. +- `--notifications-delay` (env. `WATCHTOWER_NOTIFICATIONS_DELAY`): Delay before sending notifications expressed in seconds. - Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. - `notification-title-tag` (env. `WATCHTOWER_NOTIFICATION_TITLE_TAG`): Prefix to include in the title. Useful when running multiple watchtowers. - `notification-skip-title` (env. `WATCHTOWER_NOTIFICATION_SKIP_TITLE`): Do not pass the title param to notifications. This will not pass a dynamic title override to notification services. If no title is configured for the service, it will remove the title all together. From 139f67270b7bc59b9a3f1799aa4b10f243f175f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 12 Aug 2023 18:49:19 +0200 Subject: [PATCH 328/389] test(flags): ensure temp files are cleaned up (#1727) --- internal/flags/flags.go | 34 ++++++++++++++++--------------- internal/flags/flags_test.go | 39 ++++++++++++------------------------ 2 files changed, 31 insertions(+), 42 deletions(-) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 5428b95..95cd3ea 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -4,7 +4,6 @@ import ( "bufio" "errors" "fmt" - "io/ioutil" "os" "strings" "time" @@ -469,12 +468,14 @@ func GetSecretsFromFiles(rootCmd *cobra.Command) { "notification-url", } for _, secret := range secrets { - getSecretFromFile(flags, secret) + if err := getSecretFromFile(flags, secret); err != nil { + log.Fatalf("failed to get secret from flag %v: %s", secret, err) + } } } // getSecretFromFile will check if the flag contains a reference to a file; if it does, replaces the value of the flag with the contents of the file. -func getSecretFromFile(flags *pflag.FlagSet, secret string) { +func getSecretFromFile(flags *pflag.FlagSet, secret string) error { flag := flags.Lookup(secret) if sliceValue, ok := flag.Value.(pflag.SliceValue); ok { oldValues := sliceValue.GetSlice() @@ -483,7 +484,7 @@ func getSecretFromFile(flags *pflag.FlagSet, secret string) { if value != "" && isFile(value) { file, err := os.Open(value) if err != nil { - log.Fatal(err) + return err } scanner := bufio.NewScanner(file) for scanner.Scan() { @@ -493,25 +494,26 @@ func getSecretFromFile(flags *pflag.FlagSet, secret string) { } values = append(values, line) } + if err := file.Close(); err != nil { + return err + } } else { values = append(values, value) } } - sliceValue.Replace(values) - return + return sliceValue.Replace(values) } value := flag.Value.String() if value != "" && isFile(value) { - file, err := ioutil.ReadFile(value) + content, err := os.ReadFile(value) if err != nil { - log.Fatal(err) - } - err = flags.Set(secret, strings.TrimSpace(string(file))) - if err != nil { - log.Error(err) + return err } + return flags.Set(secret, strings.TrimSpace(string(content))) } + + return nil } func isFile(s string) bool { @@ -564,15 +566,15 @@ func ProcessFlagAliases(flags *pflag.FlagSet) { // update schedule flag to match interval if it's set, or to the default if none of them are if intervalChanged || !scheduleChanged { interval, _ := flags.GetInt(`interval`) - flags.Set(`schedule`, fmt.Sprintf(`@every %ds`, interval)) + _ = flags.Set(`schedule`, fmt.Sprintf(`@every %ds`, interval)) } if flagIsEnabled(flags, `debug`) { - flags.Set(`log-level`, `debug`) + _ = flags.Set(`log-level`, `debug`) } if flagIsEnabled(flags, `trace`) { - flags.Set(`log-level`, `trace`) + _ = flags.Set(`log-level`, `trace`) } } @@ -593,7 +595,7 @@ func appendFlagValue(flags *pflag.FlagSet, name string, values ...string) error if flagValues, ok := flag.Value.(pflag.SliceValue); ok { for _, value := range values { - flagValues.Append(value) + _ = flagValues.Append(value) } } else { return fmt.Errorf(`the value for flag %q is not a slice value`, name) diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index ca6f4ae..1885dfe 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -1,20 +1,18 @@ package flags import ( - "io/ioutil" - "os" - "testing" - "github.com/sirupsen/logrus" "github.com/spf13/cobra" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "os" + "testing" ) func TestEnvConfig_Defaults(t *testing.T) { // Unset testing environments own variables, since those are not what is under test - os.Unsetenv("DOCKER_TLS_VERIFY") - os.Unsetenv("DOCKER_HOST") + _ = os.Unsetenv("DOCKER_TLS_VERIFY") + _ = os.Unsetenv("DOCKER_HOST") cmd := new(cobra.Command) SetDefaults() @@ -48,10 +46,7 @@ func TestEnvConfig_Custom(t *testing.T) { func TestGetSecretsFromFilesWithString(t *testing.T) { value := "supersecretstring" - - err := os.Setenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD", value) - require.NoError(t, err) - defer os.Unsetenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD") + t.Setenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD", value) testGetSecretsFromFiles(t, "notification-email-server-password", value) } @@ -60,18 +55,15 @@ func TestGetSecretsFromFilesWithFile(t *testing.T) { value := "megasecretstring" // Create the temporary file which will contain a secret. - file, err := ioutil.TempFile(os.TempDir(), "watchtower-") + file, err := os.CreateTemp(t.TempDir(), "watchtower-") require.NoError(t, err) - defer os.Remove(file.Name()) // Make sure to remove the temporary file later. // Write the secret to the temporary file. - secret := []byte(value) - _, err = file.Write(secret) + _, err = file.Write([]byte(value)) require.NoError(t, err) + require.NoError(t, file.Close()) - err = os.Setenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD", file.Name()) - require.NoError(t, err) - defer os.Unsetenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD") + t.Setenv("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD", file.Name()) testGetSecretsFromFiles(t, "notification-email-server-password", value) } @@ -80,16 +72,15 @@ func TestGetSliceSecretsFromFiles(t *testing.T) { values := []string{"entry2", "", "entry3"} // Create the temporary file which will contain a secret. - file, err := ioutil.TempFile(os.TempDir(), "watchtower-") + file, err := os.CreateTemp(t.TempDir(), "watchtower-") require.NoError(t, err) - defer os.Remove(file.Name()) // Make sure to remove the temporary file later. // Write the secret to the temporary file. for _, value := range values { _, err = file.WriteString("\n" + value) require.NoError(t, err) } - file.Close() + require.NoError(t, file.Close()) testGetSecretsFromFiles(t, "notification-url", `[entry1,entry2,entry3]`, `--notification-url`, "entry1", @@ -166,9 +157,7 @@ func TestProcessFlagAliases(t *testing.T) { func TestProcessFlagAliasesLogLevelFromEnvironment(t *testing.T) { cmd := new(cobra.Command) - err := os.Setenv("WATCHTOWER_DEBUG", `true`) - require.NoError(t, err) - defer os.Unsetenv("WATCHTOWER_DEBUG") + t.Setenv("WATCHTOWER_DEBUG", `true`) SetDefaults() RegisterDockerFlags(cmd) @@ -202,9 +191,7 @@ func TestProcessFlagAliasesSchedAndInterval(t *testing.T) { func TestProcessFlagAliasesScheduleFromEnvironment(t *testing.T) { cmd := new(cobra.Command) - err := os.Setenv("WATCHTOWER_SCHEDULE", `@hourly`) - require.NoError(t, err) - defer os.Unsetenv("WATCHTOWER_SCHEDULE") + t.Setenv("WATCHTOWER_SCHEDULE", `@hourly`) SetDefaults() RegisterDockerFlags(cmd) From 9f60766692644a39a871fe8a42f8d86159d84c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 12 Aug 2023 19:19:08 +0200 Subject: [PATCH 329/389] feat: enabled loading http-api-token from file (#1728) --- docs/arguments.md | 30 +++++++++++++++++++++++++++++- internal/flags/flags.go | 1 + internal/flags/flags_test.go | 1 + 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/docs/arguments.md b/docs/arguments.md index d0e46ae..f74b102 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -27,6 +27,33 @@ In the example above, watchtower will execute an upgrade attempt on the containe When no arguments are specified, watchtower will monitor all running containers. +## Secrets/Files + +Some arguments can also reference a file, in which case the contents of the file are used as the value. +This can be used to avoid putting secrets in the configuration file or command line. + +The following arguments are currently supported (including their corresponding `WATCHTOWER_` environment variables): + - `notification-url` + - `notification-email-server-password` + - `notification-slack-hook-url` + - `notification-msteams-hook` + - `notification-gotify-token` + - `http-api-token` + +### Example docker-compose usage +```yaml +secrets: + access_token: + file: access_token + +services: + watchtower: + secrets: + - access_token + environment: + - WATCHTOWER_HTTP_API_TOKEN=/run/secrets/access_token +``` + ## Help Shows documentation about the supported flags. @@ -270,6 +297,7 @@ Environment Variable: WATCHTOWER_HTTP_API_UPDATE ## HTTP API Token Sets an authentication token to HTTP API requests. +Can also reference a file, in which case the contents of the file are used. ```text Argument: --http-api-token @@ -363,4 +391,4 @@ requests and may rate limit pull requests (mainly docker.io). Environment Variable: WATCHTOWER_WARN_ON_HEAD_FAILURE Possible values: always, auto, never Default: auto -``` \ No newline at end of file +``` diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 95cd3ea..1195119 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -466,6 +466,7 @@ func GetSecretsFromFiles(rootCmd *cobra.Command) { "notification-msteams-hook", "notification-gotify-token", "notification-url", + "http-api-token", } for _, secret := range secrets { if err := getSecretFromFile(flags, secret); err != nil { diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index 1885dfe..9d11af6 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -90,6 +90,7 @@ func TestGetSliceSecretsFromFiles(t *testing.T) { func testGetSecretsFromFiles(t *testing.T, flagName string, expected string, args ...string) { cmd := new(cobra.Command) SetDefaults() + RegisterSystemFlags(cmd) RegisterNotificationFlags(cmd) require.NoError(t, cmd.ParseFlags(args)) GetSecretsFromFiles(cmd) From 02da45d3f802adb908a0e53f6a3d45c3a11bd359 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Aug 2023 13:05:19 +0200 Subject: [PATCH 330/389] chore(deps): bump alpine from 3.18.2 to 3.18.3 in /dockerfiles (#1732) Bumps alpine from 3.18.2 to 3.18.3. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- dockerfiles/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index 6429eb1..26ffb44 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM alpine:3.18.2 as alpine +FROM --platform=$BUILDPLATFORM alpine:3.18.3 as alpine RUN apk add --no-cache \ ca-certificates \ From 0d2eba1f9fe7d89baa390a5cd384cebe7840650a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Aug 2023 13:05:48 +0200 Subject: [PATCH 331/389] chore(deps): bump goreleaser/goreleaser-action from 4.3.0 to 4.4.0 (#1733) Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 4.3.0 to 4.4.0. - [Release notes](https://github.com/goreleaser/goreleaser-action/releases) - [Commits](https://github.com/goreleaser/goreleaser-action/compare/336e29918d653399e599bfca99fadc1d7ffbc9f7...3fa32b8bb5620a2c1afe798654bbad59f9da4906) --- updated-dependencies: - dependency-name: goreleaser/goreleaser-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 0c776cb..0f27a36 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -64,7 +64,7 @@ jobs: with: go-version: 1.18.x - name: Build - uses: goreleaser/goreleaser-action@336e29918d653399e599bfca99fadc1d7ffbc9f7 #v3 + uses: goreleaser/goreleaser-action@3fa32b8bb5620a2c1afe798654bbad59f9da4906 #v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8e18bbe..a61eab2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: password: ${{ secrets.BOT_GHCR_PAT }} registry: ghcr.io - name: Build - uses: goreleaser/goreleaser-action@336e29918d653399e599bfca99fadc1d7ffbc9f7 #v3 + uses: goreleaser/goreleaser-action@3fa32b8bb5620a2c1afe798654bbad59f9da4906 #v3 with: version: v0.155.0 args: --debug From 2e643ed7da0be47fe798cbaff0de9fb3d30114f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Tue, 22 Aug 2023 11:25:58 +0200 Subject: [PATCH 332/389] feat(notifications): update shoutrrr to v0.8 (#1737) --- docs/notifications.md | 2 +- go.mod | 6 +- go.sum | 643 +----------------------------------------- 3 files changed, 12 insertions(+), 639 deletions(-) diff --git a/docs/notifications.md b/docs/notifications.md index 2be270d..efad0a5 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -30,7 +30,7 @@ To send notifications via shoutrrr, the following command-line options, or their - `--notification-url` (env. `WATCHTOWER_NOTIFICATION_URL`): The shoutrrr service URL to be used. This option can also reference a file, in which case the contents of the file are used. -Go to [containrrr.dev/shoutrrr/v0.7/services/overview](https://containrrr.dev/shoutrrr/v0.6/services/overview) to +Go to [containrrr.dev/shoutrrr/v0.8/services/overview](https://containrrr.dev/shoutrrr/v0.8/services/overview) to learn more about the different service URLs you can use. You can define multiple services by space separating the URLs. (See example below) diff --git a/go.mod b/go.mod index 7d34252..6066ac0 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/containrrr/watchtower go 1.18 require ( - github.com/containrrr/shoutrrr v0.7.1 + github.com/containrrr/shoutrrr v0.8.0 github.com/docker/cli v24.0.5+incompatible github.com/docker/distribution v2.8.2+incompatible github.com/docker/docker v24.0.5+incompatible @@ -28,7 +28,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/docker/docker-credential-helpers v0.6.1 // indirect github.com/docker/go-units v0.4.0 // indirect - github.com/fatih/color v1.13.0 // indirect + github.com/fatih/color v1.15.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.3 // indirect @@ -37,7 +37,7 @@ require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect diff --git a/go.sum b/go.sum index 57eec34..401def0 100644 --- a/go.sum +++ b/go.sum @@ -17,222 +17,46 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= -cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= -cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= -cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= -cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= -cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= -cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= -cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= -cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= -cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= -cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= -cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= -cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= -cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= -cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= -cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= -cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= -cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= -cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= -cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= -cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= -cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= -cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= -cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= -cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= -cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= -cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= -cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= -cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= -cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= -cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= -cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= -cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= -cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= -cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= -cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= -cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= -cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= -cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= -cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= -cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= -cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= -cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= -cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= -cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= -cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= -cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= -cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= -cloud.google.com/go/firestore v1.8.0/go.mod h1:r3KB8cAdRIe8znzoPWLw8S6gpDVd9treohhn8b09424= -cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= -cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= -cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= -cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= -cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= -cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= -cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= -cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= -cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= -cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= -cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= -cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= -cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= -cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= -cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= -cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= -cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= -cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= -cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= -cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= -cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= -cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= -cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= -cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= -cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= -cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= -cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= -cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= -cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= -cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= -cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= -cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= -cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= -cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= -cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= -cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= -cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= -cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= -cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= -cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= -cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= -cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= -cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= -cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= -cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= -cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= -cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= -cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= -cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= -cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= -cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= -cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= -cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= -cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= -cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= -cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= -cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= -cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= -cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= -cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= -cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= -cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= -cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= -cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= -cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w= github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/containrrr/shoutrrr v0.7.1 h1:19j+YbYXRgj3PJHMzqdQ4dEoQ6teapGdjx0aB8asyho= -github.com/containrrr/shoutrrr v0.7.1/go.mod h1:wz7j7NfcSA+HUlOIj4sDKYXYpgKopfgxcCYGuto8J3s= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/containrrr/shoutrrr v0.8.0 h1:mfG2ATzIS7NR2Ec6XL+xyoHzN97H8WPjir8aYzJUSec= +github.com/containrrr/shoutrrr v0.8.0/go.mod h1:ioyQAyu1LJY6sILuNyKaQaw+9Ttik5QePU8atnAdO2o= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -250,51 +74,31 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -302,8 +106,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -319,11 +121,8 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -334,19 +133,13 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -357,237 +150,92 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= -github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= -github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.15.3/go.mod h1:/g/qgcoBcEXALCNZgRRisyTW0nY86++L0KbeAMXYCeY= -github.com/hashicorp/consul/sdk v0.11.0/go.mod h1:yPkX5Q6CsxTFMjQQDJwzeNmUUF5NUGGbrDsv9wTb8cw= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jarcoal/httpmock v1.2.0 h1:gSvTxxFR/MEMfsGrvRbdfpRUMBStovlSRLw0Ep1bwwc= -github.com/jarcoal/httpmock v1.2.0/go.mod h1:oCoTsnAz4+UoOUIf5lJOWV2QQIW5UoeUI6aM2YnWAZk= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jarcoal/httpmock v1.3.0 h1:2RJ8GP0IIaWwcC9Fp2BmVi8Kog3v2Hn7VXM3fTd+nuc= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/maxatome/go-testdeep v1.11.0/go.mod h1:011SgQ6efzZYAen6fDn4BqQ+lUR72ysdyKe7Dyogw70= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c h1:nXxl5PrvVm2L/wCy8dQu6DMTwH4oIuGN8GJDAlqDdVE= github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= -github.com/onsi/ginkgo/v2 v2.1.6/go.mod h1:MEH45j8TBi6u9BMogfbp0stKC5cdGjumZj5Y7AG4VIk= -github.com/onsi/ginkgo/v2 v2.3.0/go.mod h1:Eew0uilEqZmIEZr8JrvYlvOM7Rr6xzTmMV8AyFNU9d0= -github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo= github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= -github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= -github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= -github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ= github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.8.0/go.mod h1:TmKwZAo97S4Fy4sfMH/HX/cQP5D+ijra2NyLpNNmttY= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= @@ -595,70 +243,40 @@ github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0 github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= -go.etcd.io/etcd/client/pkg/v3 v3.5.5/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= -go.etcd.io/etcd/client/v2 v2.305.5/go.mod h1:zQjKllfqfBVyVStbt4FaosoX2iYd8fV/GRy/PbowgP4= -go.etcd.io/etcd/client/v3 v3.5.5/go.mod h1:aApjR4WGlSumpnJ2kloS75h6aHUmAyaPLjHMxpc7E7c= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -682,7 +300,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -693,14 +310,9 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -708,11 +320,9 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -730,31 +340,10 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -766,21 +355,6 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -791,39 +365,24 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -835,8 +394,6 @@ golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -846,71 +403,30 @@ golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -927,7 +443,6 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -965,23 +480,11 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1001,36 +504,6 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= -google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= -google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1061,7 +534,6 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= @@ -1074,73 +546,7 @@ google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= -google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= -google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= -google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1154,30 +560,9 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1190,15 +575,10 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= @@ -1206,16 +586,10 @@ gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= @@ -1231,4 +605,3 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= From b801b63881eb90fc2a29778e93dddb4fc4dfaa39 Mon Sep 17 00:00:00 2001 From: Tom Paine Date: Tue, 5 Sep 2023 07:33:40 +0100 Subject: [PATCH 333/389] docs: bump go version in credential helper example (#1749) --- docs/private-registries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/private-registries.md b/docs/private-registries.md index 1852795..68fbe84 100644 --- a/docs/private-registries.md +++ b/docs/private-registries.md @@ -124,7 +124,7 @@ in a volume that may be mounted onto your watchtower container. 1. Create the Dockerfile (contents below): ```Dockerfile - FROM golang:1.16 + FROM golang:1.17 ENV GO111MODULE off ENV CGO_ENABLED 0 From cd458fa5265b577fd48566222572fc8f0d685fe9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 17:38:31 +0200 Subject: [PATCH 334/389] chore(deps): bump golang.org/x/text from 0.12.0 to 0.13.0 (#1751) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6066ac0..e92e995 100644 --- a/go.mod +++ b/go.mod @@ -57,7 +57,7 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect golang.org/x/sys v0.11.0 // indirect - golang.org/x/text v0.12.0 + golang.org/x/text v0.13.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 401def0..04d0b16 100644 --- a/go.sum +++ b/go.sum @@ -422,8 +422,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From 36391b0ae791ef9a451fd63b34b117689f6248eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 17:39:28 +0200 Subject: [PATCH 335/389] chore(deps): bump actions/checkout from 3 to 4 (#1750) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/publish-docs.yml | 2 +- .github/workflows/pull-request.yml | 6 +++--- .github/workflows/release-dev.yaml | 6 +++--- .github/workflows/release.yml | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 98f8387..8f0c724 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -31,7 +31,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index e7ac0c7..95ea170 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup python diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 0f27a36..35d4b4b 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go @@ -37,7 +37,7 @@ jobs: runs-on: ${{ matrix.platform }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go @@ -56,7 +56,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go diff --git a/.github/workflows/release-dev.yaml b/.github/workflows/release-dev.yaml index 260fbe2..df97308 100644 --- a/.github/workflows/release-dev.yaml +++ b/.github/workflows/release-dev.yaml @@ -10,7 +10,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v4 with: @@ -20,7 +20,7 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v4 with: @@ -37,7 +37,7 @@ jobs: - test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Publish to Docker Hub uses: jerray/publish-docker-action@87d84711629b0dc9f6bb127b568413cc92a2088e #master@2022-10-14 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a61eab2..7762706 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go @@ -40,7 +40,7 @@ jobs: runs-on: ${{ matrix.platform }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go @@ -62,7 +62,7 @@ jobs: TAG: ${{ github.event.release.tag_name }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go From e8affe3fef44459ab1cc9de3f3e1ca8447539405 Mon Sep 17 00:00:00 2001 From: guangwu Date: Wed, 13 Sep 2023 16:14:29 +0800 Subject: [PATCH 336/389] fix: received typo (#1765) Signed-off-by: guoguangwu --- pkg/registry/auth/auth_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/registry/auth/auth_test.go b/pkg/registry/auth/auth_test.go index f29ebff..1dfcce4 100644 --- a/pkg/registry/auth/auth_test.go +++ b/pkg/registry/auth/auth_test.go @@ -112,7 +112,7 @@ var _ = Describe("the auth module", func() { Expect(getScopeFromImageAuthURL("ghcr.io/containrrr/watchtower")).To(Equal("containrrr/watchtower")) }) }) - It("should not crash when an empty field is recieved", func() { + It("should not crash when an empty field is received", func() { input := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull",` imageRef, err := ref.ParseNormalizedNamed("containrrr/watchtower") Expect(err).NotTo(HaveOccurred()) @@ -120,7 +120,7 @@ var _ = Describe("the auth module", func() { Expect(err).NotTo(HaveOccurred()) Expect(res).NotTo(BeNil()) }) - It("should not crash when a field without a value is recieved", func() { + It("should not crash when a field without a value is received", func() { input := `bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull",valuelesskey` imageRef, err := ref.ParseNormalizedNamed("containrrr/watchtower") Expect(err).NotTo(HaveOccurred()) From a56b9bdb7c7c8de96fc4e5f5fe5b5f4a952447be Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 13 Sep 2023 10:16:43 +0200 Subject: [PATCH 337/389] add testwill as a contributor for doc (#1766) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 12 ++- README.md | 188 ++++++++++++++++++++++---------------------- 2 files changed, 105 insertions(+), 95 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index d50406c..4c07c48 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -849,6 +849,15 @@ "contributions": [ "doc" ] + }, + { + "login": "testwill", + "name": "guangwu", + "avatar_url": "https://avatars.githubusercontent.com/u/8717479?v=4", + "profile": "https://github.com/testwill", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, @@ -857,5 +866,6 @@ "repoType": "github", "repoHost": "https://github.com", "commitConvention": "none", - "skipCi": true + "skipCi": true, + "commitType": "docs" } diff --git a/README.md b/README.md index cc8c0bb..ba6642d 100644 --- a/README.md +++ b/README.md @@ -44,126 +44,126 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + + + + - - -
James
James

⚠️ 🤔
Florian
Florian

👀 📖
Brian DeHamer
Brian DeHamer

💻 🚧
Ross Cadogan
Ross Cadogan

💻
stffabi
stffabi

💻 🚧
Austin
Austin

📖
David Gardner
David Gardner

👀 📖
James
James

⚠️ 🤔
Florian
Florian

👀 📖
Brian DeHamer
Brian DeHamer

💻 🚧
Ross Cadogan
Ross Cadogan

💻
stffabi
stffabi

💻 🚧
Austin
Austin

📖
David Gardner
David Gardner

👀 📖
Tanguy ⧓ Herrmann
Tanguy ⧓ Herrmann

💻
Rodrigo Damazio Bovendorp
Rodrigo Damazio Bovendorp

💻 📖
Ryan Kuba
Ryan Kuba

🚇
cnrmck
cnrmck

📖
Harry Walter
Harry Walter

💻
Robotex
Robotex

📖
Gerald Pape
Gerald Pape

📖
Tanguy ⧓ Herrmann
Tanguy ⧓ Herrmann

💻
Rodrigo Damazio Bovendorp
Rodrigo Damazio Bovendorp

💻 📖
Ryan Kuba
Ryan Kuba

🚇
cnrmck
cnrmck

📖
Harry Walter
Harry Walter

💻
Robotex
Robotex

📖
Gerald Pape
Gerald Pape

📖
fomk
fomk

💻
Sven Gottwald
Sven Gottwald

🚇
techknowlogick
techknowlogick

💻
waja
waja

📖
Scott Albertson
Scott Albertson

📖
Jason Huddleston
Jason Huddleston

📖
Napster
Napster

💻
fomk
fomk

💻
Sven Gottwald
Sven Gottwald

🚇
techknowlogick
techknowlogick

💻
waja
waja

📖
Scott Albertson
Scott Albertson

📖
Jason Huddleston
Jason Huddleston

📖
Napster
Napster

💻
Maxim
Maxim

💻 📖
Max Schmitt
Max Schmitt

📖
cron410
cron410

📖
Paulo Henrique
Paulo Henrique

📖
Kaleb Elwert
Kaleb Elwert

📖
Bill Butler
Bill Butler

📖
Mario Tacke
Mario Tacke

💻
Maxim
Maxim

💻 📖
Max Schmitt
Max Schmitt

📖
cron410
cron410

📖
Paulo Henrique
Paulo Henrique

📖
Kaleb Elwert
Kaleb Elwert

📖
Bill Butler
Bill Butler

📖
Mario Tacke
Mario Tacke

💻
Mark Woodbridge
Mark Woodbridge

💻
Simon Aronsson
Simon Aronsson

💻 🚧 👀 📖
Ansem93
Ansem93

📖
Luka Peschke
Luka Peschke

💻 📖
Zois Pagoulatos
Zois Pagoulatos

💻 👀 🚧
Alexandre Menif
Alexandre Menif

💻
Andrey
Andrey

📖
Mark Woodbridge
Mark Woodbridge

💻
Simon Aronsson
Simon Aronsson

💻 🚧 👀 📖
Ansem93
Ansem93

📖
Luka Peschke
Luka Peschke

💻 📖
Zois Pagoulatos
Zois Pagoulatos

💻 👀 🚧
Alexandre Menif
Alexandre Menif

💻
Andrey
Andrey

📖
Armando Lüscher
Armando Lüscher

📖
Ryan Budke
Ryan Budke

📖
Kaloyan Raev
Kaloyan Raev

💻 ⚠️
sixth
sixth

📖
Gina Häußge
Gina Häußge

💻
Max H.
Max H.

💻
Jungkook Park
Jungkook Park

📖
Armando Lüscher
Armando Lüscher

📖
Ryan Budke
Ryan Budke

📖
Kaloyan Raev
Kaloyan Raev

💻 ⚠️
sixth
sixth

📖
Gina Häußge
Gina Häußge

💻
Max H.
Max H.

💻
Jungkook Park
Jungkook Park

📖
Jan Kristof Nidzwetzki
Jan Kristof Nidzwetzki

📖
lukas
lukas

💻
Ameya Shenoy
Ameya Shenoy

💻
Raymon de Looff
Raymon de Looff

💻
John Clayton
John Clayton

💻
Germs2004
Germs2004

📖
Lukas Willburger
Lukas Willburger

💻
Jan Kristof Nidzwetzki
Jan Kristof Nidzwetzki

📖
lukas
lukas

💻
Ameya Shenoy
Ameya Shenoy

💻
Raymon de Looff
Raymon de Looff

💻
John Clayton
John Clayton

💻
Germs2004
Germs2004

📖
Lukas Willburger
Lukas Willburger

💻
Oliver Cervera
Oliver Cervera

📖
Victor Moura
Victor Moura

⚠️ 💻 📖
Maximilian Brandau
Maximilian Brandau

💻 ⚠️
Andrew
Andrew

📖
sixcorners
sixcorners

📖
nils måsén
nils måsén

📖 💻
Arne Jørgensen
Arne Jørgensen

⚠️ 👀
Oliver Cervera
Oliver Cervera

📖
Victor Moura
Victor Moura

⚠️ 💻 📖
Maximilian Brandau
Maximilian Brandau

💻 ⚠️
Andrew
Andrew

📖
sixcorners
sixcorners

📖
nils måsén
nils måsén

📖 💻
Arne Jørgensen
Arne Jørgensen

⚠️ 👀
PatSki123
PatSki123

📖
Valentine Zavadsky
Valentine Zavadsky

💻 📖 ⚠️
Alexander Voronin
Alexander Voronin

💻 🐛
Oliver Mueller
Oliver Mueller

📖
Sebastiaan Tammer
Sebastiaan Tammer

💻
miosame
miosame

📖
Andrew Metzger
Andrew Metzger

🐛 💡
PatSki123
PatSki123

📖
Valentine Zavadsky
Valentine Zavadsky

💻 📖 ⚠️
Alexander Voronin
Alexander Voronin

💻 🐛
Oliver Mueller
Oliver Mueller

📖
Sebastiaan Tammer
Sebastiaan Tammer

💻
miosame
miosame

📖
Andrew Metzger
Andrew Metzger

🐛 💡
Pierre Grimaud
Pierre Grimaud

📖
Matt Doran
Matt Doran

📖
MihailITPlace
MihailITPlace

💻
bugficks
bugficks

💻 📖
Michael
Michael

💻
D. Domig
D. Domig

📖
Ben Osheroff
Ben Osheroff

💻
Pierre Grimaud
Pierre Grimaud

📖
Matt Doran
Matt Doran

📖
MihailITPlace
MihailITPlace

💻
bugficks
bugficks

💻 📖
Michael
Michael

💻
D. Domig
D. Domig

📖
Ben Osheroff
Ben Osheroff

💻
David H.
David H.

💻
Chander Ganesan
Chander Ganesan

📖
yrien30
yrien30

💻
ksurl
ksurl

📖 💻 🚇
rg9400
rg9400

💻
Turtle Kalus
Turtle Kalus

💻
Srihari Thalla
Srihari Thalla

📖
David H.
David H.

💻
Chander Ganesan
Chander Ganesan

📖
yrien30
yrien30

💻
ksurl
ksurl

📖 💻 🚇
rg9400
rg9400

💻
Turtle Kalus
Turtle Kalus

💻
Srihari Thalla
Srihari Thalla

📖
Thomas Gaudin
Thomas Gaudin

📖
hydrargyrum
hydrargyrum

📖
Reinout van Rees
Reinout van Rees

📖
DasSkelett
DasSkelett

💻
zenjabba
zenjabba

📖
Dan Quan
Dan Quan

📖
modem7
modem7

📖
Thomas Gaudin
Thomas Gaudin

📖
hydrargyrum
hydrargyrum

📖
Reinout van Rees
Reinout van Rees

📖
DasSkelett
DasSkelett

💻
zenjabba
zenjabba

📖
Dan Quan
Dan Quan

📖
modem7
modem7

📖
Igor Zibarev
Igor Zibarev

💻
Patrice
Patrice

💻
James White
James White

📖
Dirk Kok
Dirk Kok

💻
EDIflyer
EDIflyer

📖
Jauder Ho
Jauder Ho

💻
Tamal Das
Tamal Das

📖
Igor Zibarev
Igor Zibarev

💻
Patrice
Patrice

💻
James White
James White

📖
Dirk Kok
Dirk Kok

💻
EDIflyer
EDIflyer

📖
Jauder Ho
Jauder Ho

💻
Tamal Das
Tamal Das

📖
guangwu
guangwu

📖
From 11423d1aae7e6c467552944a01374add9ce2756a Mon Sep 17 00:00:00 2001 From: valankar <31250800+valankar@users.noreply.github.com> Date: Sat, 16 Sep 2023 14:47:32 +0200 Subject: [PATCH 338/389] docs: update interval text in introduction (#1767) --- docs/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/introduction.md b/docs/introduction.md index ded074f..cbbc3a3 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -11,5 +11,5 @@ CONTAINER ID IMAGE STATUS PORTS 6cc4d2a9d1a5 containrrr/watchtower Up 15 minutes watchtower ``` -Every few minutes watchtower will pull the latest _centurylink/wetty-cli_ image and compare it to the one that was used to run the "wetty" container. If it sees that the image has changed it will stop/remove the "wetty" container and then restart it using the new image and the same `docker run` options that were used to start the container initially (in this case, that would include the `-p 8080:3000` port mapping). +Every day watchtower will pull the latest _centurylink/wetty-cli_ image and compare it to the one that was used to run the "wetty" container. If it sees that the image has changed it will stop/remove the "wetty" container and then restart it using the new image and the same `docker run` options that were used to start the container initially (in this case, that would include the `-p 8080:3000` port mapping). From da3988363fae268992465ccc40273d12ee5195f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Sep 2023 14:52:15 +0200 Subject: [PATCH 339/389] chore(deps): bump goreleaser/goreleaser-action from 4.4.0 to 5.0.0 (#1759) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 35d4b4b..819a554 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -64,7 +64,7 @@ jobs: with: go-version: 1.18.x - name: Build - uses: goreleaser/goreleaser-action@3fa32b8bb5620a2c1afe798654bbad59f9da4906 #v3 + uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 #v3 with: version: v0.155.0 args: --snapshot --skip-publish --debug diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7762706..b6ef374 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: password: ${{ secrets.BOT_GHCR_PAT }} registry: ghcr.io - name: Build - uses: goreleaser/goreleaser-action@3fa32b8bb5620a2c1afe798654bbad59f9da4906 #v3 + uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 #v3 with: version: v0.155.0 args: --debug From 856fd25b60b65171f3e955bbd3a730129e4ef174 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Sep 2023 14:52:32 +0200 Subject: [PATCH 340/389] chore(deps): bump golang.org/x/net from 0.14.0 to 0.15.0 (#1760) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index e92e995..62b9c1f 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 - golang.org/x/net v0.14.0 + golang.org/x/net v0.15.0 ) require ( @@ -56,7 +56,7 @@ require ( github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/sys v0.11.0 // indirect + golang.org/x/sys v0.12.0 // indirect golang.org/x/text v0.13.0 golang.org/x/time v0.1.0 // indirect google.golang.org/protobuf v1.30.0 // indirect diff --git a/go.sum b/go.sum index 04d0b16..8a6bc50 100644 --- a/go.sum +++ b/go.sum @@ -344,8 +344,8 @@ golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -411,8 +411,8 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 6685fef287492f125b5f6cd1e369aebc30cc9e54 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Sep 2023 14:52:54 +0200 Subject: [PATCH 341/389] chore(deps): bump github.com/docker/cli from 24.0.5+incompatible to 24.0.6+incompatible (#1762) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 62b9c1f..2099f74 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.18 require ( github.com/containrrr/shoutrrr v0.8.0 - github.com/docker/cli v24.0.5+incompatible + github.com/docker/cli v24.0.6+incompatible github.com/docker/distribution v2.8.2+incompatible github.com/docker/docker v24.0.5+incompatible github.com/docker/go-connections v0.4.0 diff --git a/go.sum b/go.sum index 8a6bc50..5d97612 100644 --- a/go.sum +++ b/go.sum @@ -62,8 +62,8 @@ github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/cli v24.0.5+incompatible h1:WeBimjvS0eKdH4Ygx+ihVq1Q++xg36M/rMi4aXAvodc= -github.com/docker/cli v24.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWTcc7GAneOY= +github.com/docker/cli v24.0.6+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v24.0.5+incompatible h1:WmgcE4fxyI6EEXxBRxsHnZXrO1pQ3smi0k/jho4HLeY= From 7648e9c98a592e9f24d224e45ad90703fa91b534 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Sep 2023 15:00:01 +0200 Subject: [PATCH 342/389] chore(deps): bump github.com/docker/docker from 24.0.5+incompatible to 24.0.6+incompatible (#1761) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2099f74..128c4ce 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/containrrr/shoutrrr v0.8.0 github.com/docker/cli v24.0.6+incompatible github.com/docker/distribution v2.8.2+incompatible - github.com/docker/docker v24.0.5+incompatible + github.com/docker/docker v24.0.6+incompatible github.com/docker/go-connections v0.4.0 github.com/onsi/ginkgo v1.16.5 github.com/onsi/gomega v1.27.10 diff --git a/go.sum b/go.sum index 5d97612..d681cd2 100644 --- a/go.sum +++ b/go.sum @@ -66,8 +66,8 @@ github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWT github.com/docker/cli v24.0.6+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.5+incompatible h1:WmgcE4fxyI6EEXxBRxsHnZXrO1pQ3smi0k/jho4HLeY= -github.com/docker/docker v24.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.6+incompatible h1:hceabKCtUgDqPu+qm0NgsaXf28Ljf4/pWFL7xjWWDgE= +github.com/docker/docker v24.0.6+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.1 h1:Dq4iIfcM7cNtddhLVWe9h4QDjsi4OER3Z8voPu/I52g= github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= From 1d5a8d9a4c056600716ae85955db24fdc77cdb21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20m=C3=A5s=C3=A9n?= Date: Sat, 16 Sep 2023 17:04:44 +0200 Subject: [PATCH 343/389] test: check flag/docs consistency (#1770) --- docs/arguments.md | 21 +++++- docs/notifications.md | 5 +- internal/flags/flags.go | 141 +++++++++++++++++++++-------------- internal/flags/flags_test.go | 68 ++++++++++++++++- 4 files changed, 171 insertions(+), 64 deletions(-) diff --git a/docs/arguments.md b/docs/arguments.md index f74b102..95d75d0 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -178,7 +178,7 @@ Environment Variable: WATCHTOWER_INCLUDE_RESTARTING Will also include created and exited containers. ```text - Argument: --include-stopped + Argument: --include-stopped, -S Environment Variable: WATCHTOWER_INCLUDE_STOPPED Type: Boolean Default: false @@ -278,7 +278,7 @@ Environment Variable: WATCHTOWER_NO_STARTUP_MESSAGE Run an update attempt against a container name list one time immediately and exit. ```text - Argument: --run-once + Argument: --run-once, -R Environment Variable: WATCHTOWER_RUN_ONCE Type: Boolean Default: false @@ -392,3 +392,20 @@ Environment Variable: WATCHTOWER_WARN_ON_HEAD_FAILURE Possible values: always, auto, never Default: auto ``` +## Programatic Output (porcelain) + +Writes the session results to STDOUT using a stable, machine-readable format (indicated by the argument VERSION). + +Alias for: + +```text + --notification-url logger:// + --notification-log-stdout + --notification-report + --notification-template porcelain.VERSION.summary-no-log + + Argument: --porcelain, -P +Environment Variable: WATCHTOWER_PORCELAIN + Possible values: v1 + Default: - +``` diff --git a/docs/notifications.md b/docs/notifications.md index efad0a5..3042919 100644 --- a/docs/notifications.md +++ b/docs/notifications.md @@ -20,8 +20,9 @@ system, [logrus](http://github.com/sirupsen/logrus). - `--notifications-hostname` (env. `WATCHTOWER_NOTIFICATIONS_HOSTNAME`): Custom hostname specified in subject/title. Useful to override the operating system hostname. - `--notifications-delay` (env. `WATCHTOWER_NOTIFICATIONS_DELAY`): Delay before sending notifications expressed in seconds. - Watchtower will post a notification every time it is started. This behavior [can be changed](https://containrrr.github.io/watchtower/arguments/#without_sending_a_startup_message) with an argument. -- `notification-title-tag` (env. `WATCHTOWER_NOTIFICATION_TITLE_TAG`): Prefix to include in the title. Useful when running multiple watchtowers. -- `notification-skip-title` (env. `WATCHTOWER_NOTIFICATION_SKIP_TITLE`): Do not pass the title param to notifications. This will not pass a dynamic title override to notification services. If no title is configured for the service, it will remove the title all together. +- `--notification-title-tag` (env. `WATCHTOWER_NOTIFICATION_TITLE_TAG`): Prefix to include in the title. Useful when running multiple watchtowers. +- `--notification-skip-title` (env. `WATCHTOWER_NOTIFICATION_SKIP_TITLE`): Do not pass the title param to notifications. This will not pass a dynamic title override to notification services. If no title is configured for the service, it will remove the title all together. +- `--notification-log-stdout` (env. `WATCHTOWER_NOTIFICATION_LOG_STDOUT`): Enable output from `logger://` shoutrrr service to stdout. ## [shoutrrr](https://github.com/containrrr/shoutrrr) notifications diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 1195119..f27c39d 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -23,9 +23,9 @@ var defaultInterval = int((time.Hour * 24).Seconds()) // RegisterDockerFlags that are used directly by the docker api client func RegisterDockerFlags(rootCmd *cobra.Command) { flags := rootCmd.PersistentFlags() - flags.StringP("host", "H", viper.GetString("DOCKER_HOST"), "daemon socket to connect to") - flags.BoolP("tlsverify", "v", viper.GetBool("DOCKER_TLS_VERIFY"), "use TLS and verify the remote") - flags.StringP("api-version", "a", viper.GetString("DOCKER_API_VERSION"), "api version to use by docker client") + flags.StringP("host", "H", envString("DOCKER_HOST"), "daemon socket to connect to") + flags.BoolP("tlsverify", "v", envBool("DOCKER_TLS_VERIFY"), "use TLS and verify the remote") + flags.StringP("api-version", "a", envString("DOCKER_API_VERSION"), "api version to use by docker client") } // RegisterSystemFlags that are used by watchtower to modify the program flow @@ -34,132 +34,132 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { flags.IntP( "interval", "i", - viper.GetInt("WATCHTOWER_POLL_INTERVAL"), + envInt("WATCHTOWER_POLL_INTERVAL"), "Poll interval (in seconds)") flags.StringP( "schedule", "s", - viper.GetString("WATCHTOWER_SCHEDULE"), + envString("WATCHTOWER_SCHEDULE"), "The cron expression which defines when to update") flags.DurationP( "stop-timeout", "t", - viper.GetDuration("WATCHTOWER_TIMEOUT"), + envDuration("WATCHTOWER_TIMEOUT"), "Timeout before a container is forcefully stopped") flags.BoolP( "no-pull", "", - viper.GetBool("WATCHTOWER_NO_PULL"), + envBool("WATCHTOWER_NO_PULL"), "Do not pull any new images") flags.BoolP( "no-restart", "", - viper.GetBool("WATCHTOWER_NO_RESTART"), + envBool("WATCHTOWER_NO_RESTART"), "Do not restart any containers") flags.BoolP( "no-startup-message", "", - viper.GetBool("WATCHTOWER_NO_STARTUP_MESSAGE"), + envBool("WATCHTOWER_NO_STARTUP_MESSAGE"), "Prevents watchtower from sending a startup message") flags.BoolP( "cleanup", "c", - viper.GetBool("WATCHTOWER_CLEANUP"), + envBool("WATCHTOWER_CLEANUP"), "Remove previously used images after updating") flags.BoolP( "remove-volumes", "", - viper.GetBool("WATCHTOWER_REMOVE_VOLUMES"), + envBool("WATCHTOWER_REMOVE_VOLUMES"), "Remove attached volumes before updating") flags.BoolP( "label-enable", "e", - viper.GetBool("WATCHTOWER_LABEL_ENABLE"), + envBool("WATCHTOWER_LABEL_ENABLE"), "Watch containers where the com.centurylinklabs.watchtower.enable label is true") flags.BoolP( "debug", "d", - viper.GetBool("WATCHTOWER_DEBUG"), + envBool("WATCHTOWER_DEBUG"), "Enable debug mode with verbose logging") flags.BoolP( "trace", "", - viper.GetBool("WATCHTOWER_TRACE"), + envBool("WATCHTOWER_TRACE"), "Enable trace mode with very verbose logging - caution, exposes credentials") flags.BoolP( "monitor-only", "m", - viper.GetBool("WATCHTOWER_MONITOR_ONLY"), + envBool("WATCHTOWER_MONITOR_ONLY"), "Will only monitor for new images, not update the containers") flags.BoolP( "run-once", "R", - viper.GetBool("WATCHTOWER_RUN_ONCE"), + envBool("WATCHTOWER_RUN_ONCE"), "Run once now and exit") flags.BoolP( "include-restarting", "", - viper.GetBool("WATCHTOWER_INCLUDE_RESTARTING"), + envBool("WATCHTOWER_INCLUDE_RESTARTING"), "Will also include restarting containers") flags.BoolP( "include-stopped", "S", - viper.GetBool("WATCHTOWER_INCLUDE_STOPPED"), + envBool("WATCHTOWER_INCLUDE_STOPPED"), "Will also include created and exited containers") flags.BoolP( "revive-stopped", "", - viper.GetBool("WATCHTOWER_REVIVE_STOPPED"), + envBool("WATCHTOWER_REVIVE_STOPPED"), "Will also start stopped containers that were updated, if include-stopped is active") flags.BoolP( "enable-lifecycle-hooks", "", - viper.GetBool("WATCHTOWER_LIFECYCLE_HOOKS"), + envBool("WATCHTOWER_LIFECYCLE_HOOKS"), "Enable the execution of commands triggered by pre- and post-update lifecycle hooks") flags.BoolP( "rolling-restart", "", - viper.GetBool("WATCHTOWER_ROLLING_RESTART"), + envBool("WATCHTOWER_ROLLING_RESTART"), "Restart containers one at a time") flags.BoolP( "http-api-update", "", - viper.GetBool("WATCHTOWER_HTTP_API_UPDATE"), + envBool("WATCHTOWER_HTTP_API_UPDATE"), "Runs Watchtower in HTTP API mode, so that image updates must to be triggered by a request") flags.BoolP( "http-api-metrics", "", - viper.GetBool("WATCHTOWER_HTTP_API_METRICS"), + envBool("WATCHTOWER_HTTP_API_METRICS"), "Runs Watchtower with the Prometheus metrics API enabled") flags.StringP( "http-api-token", "", - viper.GetString("WATCHTOWER_HTTP_API_TOKEN"), + envString("WATCHTOWER_HTTP_API_TOKEN"), "Sets an authentication token to HTTP API requests.") flags.BoolP( "http-api-periodic-polls", "", - viper.GetBool("WATCHTOWER_HTTP_API_PERIODIC_POLLS"), + envBool("WATCHTOWER_HTTP_API_PERIODIC_POLLS"), "Also run periodic updates (specified with --interval and --schedule) if HTTP API is enabled") // https://no-color.org/ @@ -172,18 +172,18 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { flags.StringP( "scope", "", - viper.GetString("WATCHTOWER_SCOPE"), + envString("WATCHTOWER_SCOPE"), "Defines a monitoring scope for the Watchtower instance.") flags.StringP( "porcelain", "P", - viper.GetString("WATCHTOWER_PORCELAIN"), + envString("WATCHTOWER_PORCELAIN"), `Write session results to stdout using a stable versioned format. Supported values: "v1"`) flags.String( "log-level", - viper.GetString("WATCHTOWER_LOG_LEVEL"), + envString("WATCHTOWER_LOG_LEVEL"), "The maximum log level that will be written to STDERR. Possible values: panic, fatal, error, warn, info, debug or trace") } @@ -194,177 +194,202 @@ func RegisterNotificationFlags(rootCmd *cobra.Command) { flags.StringSliceP( "notifications", "n", - viper.GetStringSlice("WATCHTOWER_NOTIFICATIONS"), + envStringSlice("WATCHTOWER_NOTIFICATIONS"), " Notification types to send (valid: email, slack, msteams, gotify, shoutrrr)") flags.String( "notifications-level", - viper.GetString("WATCHTOWER_NOTIFICATIONS_LEVEL"), + envString("WATCHTOWER_NOTIFICATIONS_LEVEL"), "The log level used for sending notifications. Possible values: panic, fatal, error, warn, info or debug") flags.IntP( "notifications-delay", "", - viper.GetInt("WATCHTOWER_NOTIFICATIONS_DELAY"), + envInt("WATCHTOWER_NOTIFICATIONS_DELAY"), "Delay before sending notifications, expressed in seconds") flags.StringP( "notifications-hostname", "", - viper.GetString("WATCHTOWER_NOTIFICATIONS_HOSTNAME"), + envString("WATCHTOWER_NOTIFICATIONS_HOSTNAME"), "Custom hostname for notification titles") flags.StringP( "notification-email-from", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_FROM"), + envString("WATCHTOWER_NOTIFICATION_EMAIL_FROM"), "Address to send notification emails from") flags.StringP( "notification-email-to", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_TO"), + envString("WATCHTOWER_NOTIFICATION_EMAIL_TO"), "Address to send notification emails to") flags.IntP( "notification-email-delay", "", - viper.GetInt("WATCHTOWER_NOTIFICATION_EMAIL_DELAY"), + envInt("WATCHTOWER_NOTIFICATION_EMAIL_DELAY"), "Delay before sending notifications, expressed in seconds") flags.StringP( "notification-email-server", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER"), + envString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER"), "SMTP server to send notification emails through") flags.IntP( "notification-email-server-port", "", - viper.GetInt("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT"), + envInt("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT"), "SMTP server port to send notification emails through") flags.BoolP( "notification-email-server-tls-skip-verify", "", - viper.GetBool("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_TLS_SKIP_VERIFY"), + envBool("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_TLS_SKIP_VERIFY"), `Controls whether watchtower verifies the SMTP server's certificate chain and host name. Should only be used for testing.`) flags.StringP( "notification-email-server-user", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER"), + envString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER"), "SMTP server user for sending notifications") flags.StringP( "notification-email-server-password", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD"), + envString("WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD"), "SMTP server password for sending notifications") flags.StringP( "notification-email-subjecttag", "", - viper.GetString("WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG"), + envString("WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG"), "Subject prefix tag for notifications via mail") flags.StringP( "notification-slack-hook-url", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL"), + envString("WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL"), "The Slack Hook URL to send notifications to") flags.StringP( "notification-slack-identifier", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER"), + envString("WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER"), "A string which will be used to identify the messages coming from this watchtower instance") flags.StringP( "notification-slack-channel", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_CHANNEL"), + envString("WATCHTOWER_NOTIFICATION_SLACK_CHANNEL"), "A string which overrides the webhook's default channel. Example: #my-custom-channel") flags.StringP( "notification-slack-icon-emoji", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI"), + envString("WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI"), "An emoji code string to use in place of the default icon") flags.StringP( "notification-slack-icon-url", "", - viper.GetString("WATCHTOWER_NOTIFICATION_SLACK_ICON_URL"), + envString("WATCHTOWER_NOTIFICATION_SLACK_ICON_URL"), "An icon image URL string to use in place of the default icon") flags.StringP( "notification-msteams-hook", "", - viper.GetString("WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL"), + envString("WATCHTOWER_NOTIFICATION_MSTEAMS_HOOK_URL"), "The MSTeams WebHook URL to send notifications to") flags.BoolP( "notification-msteams-data", "", - viper.GetBool("WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA"), + envBool("WATCHTOWER_NOTIFICATION_MSTEAMS_USE_LOG_DATA"), "The MSTeams notifier will try to extract log entry fields as MSTeams message facts") flags.StringP( "notification-gotify-url", "", - viper.GetString("WATCHTOWER_NOTIFICATION_GOTIFY_URL"), + envString("WATCHTOWER_NOTIFICATION_GOTIFY_URL"), "The Gotify URL to send notifications to") flags.StringP( "notification-gotify-token", "", - viper.GetString("WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN"), + envString("WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN"), "The Gotify Application required to query the Gotify API") flags.BoolP( "notification-gotify-tls-skip-verify", "", - viper.GetBool("WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY"), + envBool("WATCHTOWER_NOTIFICATION_GOTIFY_TLS_SKIP_VERIFY"), `Controls whether watchtower verifies the Gotify server's certificate chain and host name. Should only be used for testing.`) flags.String( "notification-template", - viper.GetString("WATCHTOWER_NOTIFICATION_TEMPLATE"), + envString("WATCHTOWER_NOTIFICATION_TEMPLATE"), "The shoutrrr text/template for the messages") flags.StringArray( "notification-url", - viper.GetStringSlice("WATCHTOWER_NOTIFICATION_URL"), + envStringSlice("WATCHTOWER_NOTIFICATION_URL"), "The shoutrrr URL to send notifications to") flags.Bool("notification-report", - viper.GetBool("WATCHTOWER_NOTIFICATION_REPORT"), + envBool("WATCHTOWER_NOTIFICATION_REPORT"), "Use the session report as the notification template data") flags.StringP( "notification-title-tag", "", - viper.GetString("WATCHTOWER_NOTIFICATION_TITLE_TAG"), + envString("WATCHTOWER_NOTIFICATION_TITLE_TAG"), "Title prefix tag for notifications") flags.Bool("notification-skip-title", - viper.GetBool("WATCHTOWER_NOTIFICATION_SKIP_TITLE"), + envBool("WATCHTOWER_NOTIFICATION_SKIP_TITLE"), "Do not pass the title param to notifications") flags.String( "warn-on-head-failure", - viper.GetString("WATCHTOWER_WARN_ON_HEAD_FAILURE"), + envString("WATCHTOWER_WARN_ON_HEAD_FAILURE"), "When to warn about HEAD pull requests failing. Possible values: always, auto or never") flags.Bool( "notification-log-stdout", - viper.GetBool("WATCHTOWER_NOTIFICATION_LOG_STDOUT"), + envBool("WATCHTOWER_NOTIFICATION_LOG_STDOUT"), "Write notification logs to stdout instead of logging (to stderr)") } +func envString(key string) string { + viper.MustBindEnv(key) + return viper.GetString(key) +} + +func envStringSlice(key string) []string { + viper.MustBindEnv(key) + return viper.GetStringSlice(key) +} + +func envInt(key string) int { + viper.MustBindEnv(key) + return viper.GetInt(key) +} + +func envBool(key string) bool { + viper.MustBindEnv(key) + return viper.GetBool(key) +} + +func envDuration(key string) time.Duration { + viper.MustBindEnv(key) + return viper.GetDuration(key) +} + // SetDefaults provides default values for environment variables func SetDefaults() { viper.AutomaticEnv() diff --git a/internal/flags/flags_test.go b/internal/flags/flags_test.go index 9d11af6..394b2c7 100644 --- a/internal/flags/flags_test.go +++ b/internal/flags/flags_test.go @@ -1,12 +1,16 @@ package flags import ( + "os" + "strings" + "testing" + "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "github.com/spf13/pflag" + "github.com/spf13/viper" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "os" - "testing" ) func TestEnvConfig_Defaults(t *testing.T) { @@ -222,3 +226,63 @@ func TestProcessFlagAliasesInvalidPorcelaineVersion(t *testing.T) { ProcessFlagAliases(flags) }) } + +func TestFlagsArePrecentInDocumentation(t *testing.T) { + + // Legacy notifcations are ignored, since they are (soft) deprecated + ignoredEnvs := map[string]string{ + "WATCHTOWER_NOTIFICATION_SLACK_ICON_EMOJI": "legacy", + "WATCHTOWER_NOTIFICATION_SLACK_ICON_URL": "legacy", + } + + ignoredFlags := map[string]string{ + "notification-gotify-url": "legacy", + "notification-slack-icon-emoji": "legacy", + "notification-slack-icon-url": "legacy", + } + + cmd := new(cobra.Command) + SetDefaults() + RegisterDockerFlags(cmd) + RegisterSystemFlags(cmd) + RegisterNotificationFlags(cmd) + + flags := cmd.PersistentFlags() + + docFiles := []string{ + "../../docs/arguments.md", + "../../docs/lifecycle-hooks.md", + "../../docs/notifications.md", + } + allDocs := "" + for _, f := range docFiles { + bytes, err := os.ReadFile(f) + if err != nil { + t.Fatalf("Could not load docs file %q: %v", f, err) + } + allDocs += string(bytes) + } + + flags.VisitAll(func(f *pflag.Flag) { + if !strings.Contains(allDocs, "--"+f.Name) { + if _, found := ignoredFlags[f.Name]; !found { + t.Logf("Docs does not mention flag long name %q", f.Name) + t.Fail() + } + } + if !strings.Contains(allDocs, "-"+f.Shorthand) { + t.Logf("Docs does not mention flag shorthand %q (%q)", f.Shorthand, f.Name) + t.Fail() + } + }) + + for _, key := range viper.AllKeys() { + envKey := strings.ToUpper(key) + if !strings.Contains(allDocs, envKey) { + if _, found := ignoredEnvs[envKey]; !found { + t.Logf("Docs does not mention environment variable %q", envKey) + t.Fail() + } + } + } +} From 650acde0156bb03ca6571815072629769092f2b5 Mon Sep 17 00:00:00 2001 From: jebabin Date: Sat, 16 Sep 2023 17:13:41 +0200 Subject: [PATCH 344/389] feat: add a label take precedence argument (#1754) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nils måsén --- cmd/root.go | 39 +++++++------- docs/arguments.md | 19 ++++++- internal/actions/mocks/client.go | 2 +- internal/actions/update.go | 14 +++-- internal/actions/update_test.go | 76 ++++++++++++++++++++++++++- internal/flags/flags.go | 6 +++ oryxBuildBinary | Bin 0 -> 20080625 bytes pkg/container/client.go | 6 +-- pkg/container/container.go | 49 ++++++++--------- pkg/container/container_test.go | 87 ++++++++++++++++++++++--------- pkg/container/errors.go | 1 + pkg/container/metadata.go | 10 ++++ pkg/types/container.go | 4 +- pkg/types/update_params.go | 16 +++--- 14 files changed, 236 insertions(+), 93 deletions(-) create mode 100755 oryxBuildBinary diff --git a/cmd/root.go b/cmd/root.go index dbb7e89..75a24be 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -28,17 +28,18 @@ import ( ) var ( - client container.Client - scheduleSpec string - cleanup bool - noRestart bool - monitorOnly bool - enableLabel bool - notifier t.Notifier - timeout time.Duration - lifecycleHooks bool - rollingRestart bool - scope string + client container.Client + scheduleSpec string + cleanup bool + noRestart bool + monitorOnly bool + enableLabel bool + notifier t.Notifier + timeout time.Duration + lifecycleHooks bool + rollingRestart bool + scope string + labelPrecedence bool ) var rootCmd = NewRootCommand() @@ -109,6 +110,7 @@ func PreRun(cmd *cobra.Command, _ []string) { lifecycleHooks, _ = f.GetBool("enable-lifecycle-hooks") rollingRestart, _ = f.GetBool("rolling-restart") scope, _ = f.GetString("scope") + labelPrecedence, _ = f.GetBool("label-take-precedence") if scope != "" { log.Debugf(`Using scope %q`, scope) @@ -359,13 +361,14 @@ func runUpgradesOnSchedule(c *cobra.Command, filter t.Filter, filtering string, func runUpdatesWithNotifications(filter t.Filter) *metrics.Metric { notifier.StartNotification() updateParams := t.UpdateParams{ - Filter: filter, - Cleanup: cleanup, - NoRestart: noRestart, - Timeout: timeout, - MonitorOnly: monitorOnly, - LifecycleHooks: lifecycleHooks, - RollingRestart: rollingRestart, + Filter: filter, + Cleanup: cleanup, + NoRestart: noRestart, + Timeout: timeout, + MonitorOnly: monitorOnly, + LifecycleHooks: lifecycleHooks, + RollingRestart: rollingRestart, + LabelPrecedence: labelPrecedence, } result, err := actions.Update(client, updateParams) if err != nil { diff --git a/docs/arguments.md b/docs/arguments.md index 95d75d0..8e5a8b6 100644 --- a/docs/arguments.md +++ b/docs/arguments.md @@ -205,7 +205,7 @@ Environment Variable: WATCHTOWER_POLL_INTERVAL ``` ## Filter by enable label -Update containers that have a `com.centurylinklabs.watchtower.enable` label set to true. +Monitor and update containers that have a `com.centurylinklabs.watchtower.enable` label set to true. ```text Argument: --label-enable @@ -215,7 +215,7 @@ Environment Variable: WATCHTOWER_LABEL_ENABLE ``` ## Filter by disable label -__Do not__ update containers that have `com.centurylinklabs.watchtower.enable` label set to false and +__Do not__ Monitor and update containers that have `com.centurylinklabs.watchtower.enable` label set to false and no `--label-enable` argument is passed. Note that only one or the other (targeting by enable label) can be used at the same time to target containers. @@ -238,6 +238,19 @@ Environment Variable: WATCHTOWER_MONITOR_ONLY Note that monitor-only can also be specified on a per-container basis with the `com.centurylinklabs.watchtower.monitor-only` label set on those containers. +See [With label taking precedence over arguments](#With-label-taking-precedence-over-arguments) for behavior when both argument and label are set + +## With label taking precedence over arguments + +By default, arguments will take precedence over labels. This means that if you set `WATCHTOWER_MONITOR_ONLY` to true or use `--monitor-only`, a container with `com.centurylinklabs.watchtower.monitor-only` set to false will not be updated. If you set `WATCHTOWER_LABEL_TAKE_PRECEDENCE` to true or use `--label-take-precedence`, then the container will also be updated. This also apply to the no pull option. if you set `WATCHTOWER_NO_PULL` to true or use `--no-pull`, a container with `com.centurylinklabs.watchtower.no-pull` set to false will not pull the new image. If you set `WATCHTOWER_LABEL_TAKE_PRECEDENCE` to true or use `--label-take-precedence`, then the container will pull image + +```text + Argument: --label-take-precedence +Environment Variable: WATCHTOWER_LABEL_TAKE_PRECEDENCE + Type: Boolean + Default: false +``` + ## Without restarting containers Do not restart containers after updating. This option can be useful when the start of the containers is managed by an external system such as systemd. @@ -264,6 +277,8 @@ Environment Variable: WATCHTOWER_NO_PULL Note that no-pull can also be specified on a per-container basis with the `com.centurylinklabs.watchtower.no-pull` label set on those containers. +See [With label taking precedence over arguments](#With-label-taking-precedence-over-arguments) for behavior when both argument and label are set + ## Without sending a startup message Do not send a message after watchtower started. Otherwise there will be an info-level notification. diff --git a/internal/actions/mocks/client.go b/internal/actions/mocks/client.go index 7b4162a..737404a 100644 --- a/internal/actions/mocks/client.go +++ b/internal/actions/mocks/client.go @@ -86,7 +86,7 @@ func (client MockClient) ExecuteCommand(_ t.ContainerID, command string, _ int) } // IsContainerStale is true if not explicitly stated in TestData for the mock client -func (client MockClient) IsContainerStale(cont t.Container) (bool, t.ImageID, error) { +func (client MockClient) IsContainerStale(cont t.Container, params t.UpdateParams) (bool, t.ImageID, error) { stale, found := client.TestData.Staleness[cont.Name()] if !found { stale = true diff --git a/internal/actions/update.go b/internal/actions/update.go index 9c97f27..8853c6e 100644 --- a/internal/actions/update.go +++ b/internal/actions/update.go @@ -33,8 +33,8 @@ func Update(client container.Client, params types.UpdateParams) (types.Report, e staleCheckFailed := 0 for i, targetContainer := range containers { - stale, newestImage, err := client.IsContainerStale(targetContainer) - shouldUpdate := stale && !params.NoRestart && !params.MonitorOnly && !targetContainer.IsMonitorOnly() + stale, newestImage, err := client.IsContainerStale(targetContainer, params) + shouldUpdate := stale && !params.NoRestart && !targetContainer.IsMonitorOnly(params) if err == nil && shouldUpdate { // Check to make sure we have all the necessary information for recreating the container err = targetContainer.VerifyConfiguration() @@ -72,12 +72,10 @@ func Update(client container.Client, params types.UpdateParams) (types.Report, e UpdateImplicitRestart(containers) var containersToUpdate []types.Container - if !params.MonitorOnly { - for _, c := range containers { - if !c.IsMonitorOnly() { - containersToUpdate = append(containersToUpdate, c) - progress.MarkForUpdate(c.ID()) - } + for _, c := range containers { + if !c.IsMonitorOnly(params) { + containersToUpdate = append(containersToUpdate, c) + progress.MarkForUpdate(c.ID()) } } diff --git a/internal/actions/update_test.go b/internal/actions/update_test.go index 24534de..9209dcd 100644 --- a/internal/actions/update_test.go +++ b/internal/actions/update_test.go @@ -178,12 +178,84 @@ var _ = Describe("the update action", func() { false, false, ) - _, err := actions.Update(client, types.UpdateParams{MonitorOnly: true}) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, MonitorOnly: true}) Expect(err).NotTo(HaveOccurred()) Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) }) - }) + When("watchtower has been instructed to have label take precedence", func() { + It("it should update containers when monitor only is set to false", func() { + client := CreateMockClient( + &TestData{ + //NameOfContainerToKeep: "test-container-02", + Containers: []types.Container{ + CreateMockContainerWithConfig( + "test-container-02", + "test-container-02", + "fake-image2:latest", + false, + false, + time.Now(), + &dockerContainer.Config{ + Labels: map[string]string{ + "com.centurylinklabs.watchtower.monitor-only": "false", + }, + }), + }, + }, + false, + false, + ) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, MonitorOnly: true, LabelPrecedence: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(1)) + }) + It("it should update not containers when monitor only is set to true", func() { + client := CreateMockClient( + &TestData{ + //NameOfContainerToKeep: "test-container-02", + Containers: []types.Container{ + CreateMockContainerWithConfig( + "test-container-02", + "test-container-02", + "fake-image2:latest", + false, + false, + time.Now(), + &dockerContainer.Config{ + Labels: map[string]string{ + "com.centurylinklabs.watchtower.monitor-only": "true", + }, + }), + }, + }, + false, + false, + ) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, MonitorOnly: true, LabelPrecedence: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) + }) + It("it should update not containers when monitor only is not set", func() { + client := CreateMockClient( + &TestData{ + Containers: []types.Container{ + CreateMockContainer( + "test-container-01", + "test-container-01", + "fake-image:latest", + time.Now()), + }, + }, + false, + false, + ) + _, err := actions.Update(client, types.UpdateParams{Cleanup: true, MonitorOnly: true, LabelPrecedence: true}) + Expect(err).NotTo(HaveOccurred()) + Expect(client.TestData.TriedToRemoveImageCount).To(Equal(0)) + }) + }) + }) }) When("watchtower has been instructed to run lifecycle hooks", func() { diff --git a/internal/flags/flags.go b/internal/flags/flags.go index f27c39d..5ae6a77 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -185,6 +185,12 @@ func RegisterSystemFlags(rootCmd *cobra.Command) { "log-level", envString("WATCHTOWER_LOG_LEVEL"), "The maximum log level that will be written to STDERR. Possible values: panic, fatal, error, warn, info, debug or trace") + + flags.BoolP( + "label-take-precedence", + "", + viper.GetBool("WATCHTOWER_LABEL_TAKE_PRECEDENCE"), + "Label applied to containers take precedence over arguments") } // RegisterNotificationFlags that are used by watchtower to send notifications diff --git a/oryxBuildBinary b/oryxBuildBinary new file mode 100755 index 0000000000000000000000000000000000000000..86cbe57d3dbc4ea7951d518c3f27c9d7fc8f98e2 GIT binary patch literal 20080625 zcmeFa33yaR)<4{x1)3$^1`=rYMq4Mik+5i5%-DehtD(aLK@5UpRLr2FM(8FH5gI!Q zxwbtfYXxfHVI8&-eO$ z=6TY$ZdILAr%s(Zb?Ve|mlb&?rI^ho<1fYZLleE(Q?BGFm!6Q9q6hGBnet3M@aw>D zH@v5DoJ@Bip8kyIaUHesG+8;>l!^zzeW1wq4-^*%jOP#;Z8Dw)g#<(YejU!Q!x_)H zI-K#Oy!1!#=^QeCTzWu0TRtx1cjIZ$NpOs#O{SaLR&hS#`S>%p@VoJhha=vYR&AB} zSM`)t(4Y3foN6k$pr=gN`I3S+O7TA{;r!1^IOFNk8DTsv657-qPou7SRHqLkzww;* zPw!kwNvGL6L>h1%68_Byss{Z>%eJ~C2AvNl_Lj+a{nwuGW-?s`-~{+Xt7MKtW&CU* zM#lZ=XpQDE-GnrPk7kRuYZ*g5yfT}g#*f_y=+6lNCVm_6k5_Nul*g-8e%kbWz4WKS zHzQso!9T0RKdZyr^~NN4DkB;G8o;-=x8G@$f1pm5f1pm5e`8YlMn2;?7w})l!I!BL zzD$+yejT2qllrPrz8-DL0zCC61K$B1{(ugz=^2yjZ^&pW;0bT?-+}vO`3sRA|CjV? zx=e>R$}f9Br~d&7-)^(R=P{zm)VrpHH%St;R7 zD<%8`Q;{L=&mI@1pb!6q*MMJjP{OY|DB)WMQLfmZJr?B9GW^EFS9~SmE54HON!dAX zd>rM9hxhC7ejVQSb60$JlRe?hWEzKef{(UgRKMwZ%jj@AT+*v)B!H>!8}NpHGxVN| zkmHZ|Pk#pg4Lo+F$CuymoYa#I&&l$uba)9JgE#ODPJ++-n}pB%n}j#=bp=oQHokn9 z4)4<8n^qf=E-}~*MEbKYp7HSZTNS3*e(Mg-(N@B*Q7C&fBm*ReM5Dn!`+BQ{U*EzR z);Nq5ncprS(chs6#ls(Xw;#hFc(;}FR79d#IbctGHBH1j!zWfVnyV}R85y2NfD25{ z*dXa2msow7*8s+IcNg&E8YTR%TXX|Khe<+b`fC^P`yM*L5F_^{@-G?wpaIXhV?U|4 zeZVj0$D%lt4F3vZIWDRG7wPZ|7aNw3M3fBwS{LxE{wdLxzmz2b_1|RpFS>y5_N)G! zwf4qDYbhB%0}&Kw=r6-=GwiuU>h-$DQRGIL`j7!{*l&hiH#aUX1(U^WWgKjL*821z zOsYRb*iEK$@ZW?OgUyEieiHGCEljyhChH^TF#LOOoFyalUye+O`Tpg54t&pn?>X@8 zI6!)BI{xW-<((!|>CCYUyv3f$w@vq4eaj8Au33EBteK;3aNjm%=2h2LO`TLydG-8~ z$+wUD$<$GITvLAgHC4ISl-_y!xQW+Jm_OBfL(wSb;>9*rRAv18^= zHjSEp%Z-9kLb%eWn6+qxQ+ZZYIx2 ztx%ntnp0Y+wp}~>x`H_c*A@JDgEHJtD7ZYmtOjH@$^cTgx{>l6krEED;eY#Oxqj-FbVmk=#j9wAEBK*OgGLtgg#q=k? z8@y}V+szalk7{VUksHj?-a(9K!3-m{(}hqFsd-?K=EO#_PXS zKM_iQbw?|(d@X|9(R$`?$=#LP-hQCGenWZr#mew%AV4*Ad6^FKGWP-?@Uc}J42;37 z!+TmyHM@N0i_p-M2*zN9`VMlRhuoT(a;7&^&Ia#C$SJ7Mz<87QGBDs*h)2#B@z6fn zU1rK{5H7Cr)USj2Q;;0~Gm;Z3B;}vzb~DyCM(4#zv`pYSBY!{rlx zR#%~XGr{+!oa)dw-)c3@2A)sw4BHTA@KDMVQd*Isz4K<7$rC*H8H5qlKv5BjQV*bS zMe!G0Q!vx59xb@qt-e_>!>w++TBu)5U+VCy3D?{sAYDcdfd<+1=kz; zP6Y2YY0n^QtfCHW9ap2Q?4!Y=3kNR1A3&^w1mP5sL;2kyZ ziT_yvsn&jfs=Yn3RvQD@V4gOgDi_NC;vjmvx(UfaB!_PU|6=k*qZu^N)zCmR3m2jJ zjuKDkkB%0q64+72iU^>0Ty=6cp))#+3XLfemI6 zIOXyVcL$4XLiyF6g&&6&nkhR{w4umN$-eiH3}HG6c{&%ua7wLqJWe&Q`9!H+fdKVn ztsNXFP&a{vN_7pT2CJFI-2I}th-a3b(9@1JRI`_e8A2_BBJv|-l4WYI14H1r+1J~n zYU*CmdO-95RXUBned4BSM;=v8EwZ3Ni6e0~1++r$E+%AAln~z@ZB`47%{h_n7( z!0ib|`2}^EH&{`6)Yn)|V$2301fSGpbDD$LK*Nj8jzIfP=oW}QO2r@p?I%^=2Exbs zgV?Fvu>*8KW7v);ccy}1r4PuO2m!g$Iy*e=OGte%eZk`x$uB@|V$D};kP@twcJZL_vC+Kz93WM_< zc297wBU?MZ1K3Au!o0zw-jnT77v>bIx53i6$pyybC5#Eu{>AtdwYZtS)r3J>Z{L)_ zM<6xdl)!7gDS>i4pz$-FzEZ7!*Yw$mdp3i6cH&+R{kR0!rG16wi&1Ga*eHS?hh2b! zm_m4A6e8pzUJ9}i(G*J@Ioea(i6?j!7eE1B1c5vXl;v)TOr*?c=E7}gI0%XMBjC~| zHxNR+>i9Px?lCTeGPlFfk%h_eTm(+^Sn`6FMUW+c)NZ3tH_9JMw_FH%$xo>HHc>ib zd0r=V5`?MHQ6WN;O328ng1H5YAv&<=dL2_UM;ocsHf_glYN6ZF$UY1oJmCX)|`1|Us z27jMmECzq;8c-XdKEQJp#p>UTSEWz2<2XI7{yqAu1&x7MO@Fn?SI&gY*?2`IoO&f5 z*w}`Agp~4YTVDi0uQIEuWz3q5i0Q|4=(PzP@3Ev&w$BrkeK#@vFhUsANO0g!0E5VW z)}HtyaSbowhhPeIkUux%Zqam>IWi^#CoGk@qGpTtLJ^wQPIg|+PM^J+#_%2sdx}un z9&~3bq2IH%2dD-AsH=w3Gw&_OW9W5DR+zNSkAtyH0NLgkO+1jTeg+*PNO4dcw#a?k z$n^gwnXxDW<8|YyD@0=?UxYFT3bj=ilPL>FiNO2E#mK$N>LFGTw`33xMXeu# zT>HTG5nuN>QilX4OzTwxE~qVQ$#SIn4+eep9jYCT_&3YXl;y7nk4>%bbNNR{9I0-_ z@S~R>tWGTd38;W?P`(IexNCNxrLr!ghja72wuPfbV0hvn9IgGfZOUqqd9*PN^mm>`1gdy&?L3v? z2OMp*D=WKz2YycP3O~zVSzIfid8deAiCw6>#j$<$!nw2ZeBs=?U?|#Os9O;SvA9Bv zXoWBi6J!eM@~HJe)nUAP)3qODgA+~oDX-TC|ljOnA@UiN-RG~i!YTnwH5NqwB$CxUe#afH>{^*?a^&rNI@L_Zr=j`xUTTm zQv(Fv8xB$JgZXRF<$|=tHD+9}L)|GN4!$qL=Ow~R`7wJ%w4BDzSc{Ct4D8*Zb*6U5 zRuO0r8}Q?zpFH|0p`X&|Yb-7&5qo0!mHnv}aGM5B^z{uvU2-a7j7i(zDKx-scSI{mzh{*;zW~;Yk!FHWT`H*6A`Jz5nUb zqw=@9BGYwrli52{SzR$8@F4_d(`Tgr17BMzFBhSVg+r(<4~tNRh>XRrD{?V@^CEE9 zRFp){#&2n42*>p2U-<7TO3Ldan2A^9L{ezxbkuv1^1@6Kb6+=_OGT96Qgo)TjXpF) zsBNV7JL^b#KPujm)Q?zyT%^~+5*5M|nZBMR?C6n}>o#cp(YG;V$u}OEw7{=*6%ctb zk)w%kgyeMm3%X_m4w$>n5fn3&b?=##hvPe4ToE!o5M+4{!B{{L?$`GNkm^Mp=H%K^JVG#t=-ic~pq3+cFxT%{-s=TL~si~9~ z&`aa$n;b;?=yTh#+op?5QTkpe8NK`ya_dD z`%pM{R9-Abo}iJEs{fH*{T&!Sf7p3XQ;%!qQ7V)d#OU&4jo1&``3R0FhqAiI(MC%b z>Gi_Ar;Da#9-b*(S#3IP|58?4jy9%rQ8-HA^sb0QI`NlQ2O??iklPFa?*+MWOOf^vq;!lZ{pRfLwAtGlDT{YzZR>MIJ=v*n8+ z;7HC;{6r`;sS5MC0{lqJRoneP24_BoQ#&SIyX zOwZ+~@M~8>&tYFqoc-D^W3NZ7Xs&kr6tDD0;d&Y5uypsz_*y+4)a@&RBS9$$Z1qp7 zTiKg{-R+HT6-N50?gfE^%V^Q7mpgEx=Ysv=&oC#Wpc2@FkdYrqP8Fd80?BJY@?<8J z6p!N!!K9 zuVJZuE!1P;*gK-}Ym984a{*q|)cLhgJXi#MQVN2zm5d^+7X#Eb59YDAFhy`$QLX1;DlEwh>Y1nj zw+b2C8c%LjWg$@%X#7g3J9LUXBX*E=>D&q~AoG*58#s@6tx&&O3KygEclk!@GS|UD zyx9XQ<~J{cDP#b^f5O2Q?GZfXJbTMaaO%OsK&#N?KZ?C+f999XoTU9S{$(Xz03I6p zdRrw>?|7MZq+Rqu^L-vl47D3cDPz_1bs<*C#n+s0-LhqO%L@3LPW0%Ab=Az(*9D4pTeY zmDQ9*S&cm5N3f0;uXyyZVV@KS%k9NjRlA<_*$i4e3}#e$*`aX@J)Dh8GZ$SNb7;&+ zu|yOeU$!jjCxVd6tJuQ<^IxAtLrW6>XTJ!2xQKpov8S}&16QEE*m%V{l-sR>t}^VU6sLVmKrG6W<(u5S6bO784mQ z*VS*(u1!R+p9y%=Ab{sL7wBBJ7&W;-$AtEM;uxkja+YHyOmcSf>&NvLjl4`8vvJ+F zGU|;6YJSGoFOfbnnuxx2&n7S^iN1Jv=5H^qpBY9QuM=zcB!VaN_l)%$AFE#up_27` z^=JP<{S4W(!uHt`=|*m0_?$yyVY6KB!haP^zR{;Q_&nzA(%@s@BgCJdS75Au^e+ia zV%dz48FBJx6QSRfUgIt$%V%cqWaO_UAl6?D{!#n%kK@2;+Na;Y(>_f9ojUziy)>ofKD2N( z`M=3sJ~`%3C3otD-^`ub^a9!E(xJM$FZAzS{qVC5At|GAzWqyA>a2;4AK{x|!V{lZ zSt~Vn;+41*E{~e_%prq6z0m%KBRVFPhnTU(UdYq&m*5RY^nU^$*FQ4<9sbADZ#cUD zlk(&GS5{Xte7gRHS-5oc#|r<1nfFm=T#LmS^v9Jid!Fmx>)&zw%ldct*LD9p`{Ts^ zx9g#A)Bk!z7cycD`j{E?VT>7_gbe;*9VT9Z9cIu-Oh3lef8f7Ue*^!`QvTWhsypl( zrT-Nxa`3-qP46y!=^?@XSHb>QXkqwY1^ZtG`(F_Q|0{km?-08G6Hh4eo{9rgcx z-|PSHxc-kDfBu*FPY&)&?0*mYzfJ%9&W|5sj(tCVbYj2%?;SsGd@E6YcisDKot|%>(}q~>wlzQyY7Dzb|m({&%NKK z|9$86_w*h4DHf(yZfQ_zR8w8I<2n`LneE&hg6AsW=ar zt&OEEIlS{NhLg`9>|c<8_b*BG(f;4#a{q5Tb`;8jHu`A~D(&8_k96~3BO!L1*X&oS zo!Bv(yCwWF9-_Gs8!_6kzhle2J+YCs2z#QAMsl$=L|O4CAQGXw%v3%$Z7TPLC}QMm zB6JV-a3t;b44g|dUfyu3Ja9AZSaohyR^$L( z?EZ+8Y07fBSsj zSt6L9y1WG&JHr;xS6Da0F&rm2+x#uqqdCLj%5A6*(@|0FsGoLlrfXN=e6bbHqTQ?_ z0y{2CX~&FRn@O*s^tG8)ruBA8FVfS?C|zim$n^cKi%jdmU!4C&gxtS)icsT_euW3< zO2TJhe>m-|%_cFLhyC^U$fA{zKs|y$57o({=Mm~`Z9lz+(*04?TM?oCIuYv{93940 z5DHZ+m|^Amc^oCVyXqs|agq-wtedE1Lv<*?Uu83S4=Jll2Z~^YwR*qzPX7;0zFUbQ zf{3cpPpMa6R}%UT*rdI+jA>Z)4A?V}Xq=?eh&*$UeyOB!#)C*7KThXZb zzHqpZ(y%#O%72RzdKqP+-nM0^zH_q@=uVQXHe)wyx+ggF#L^aALgPur?#v;n9_JPx z`r8r*A5q6;2zxZz*jwG;JC7)IQH9F5y=aFmZdO2}d9cq}V4E$ZC$a+NJPU**9C@^V zi^`*(j2naMIUaW}Y%2Vr&5VpID8jjU;T@h}#zKT8j-t95PVhb|5~r|pSMx4q7XRj7 zVBs)g;rq2x3_uJ?*cR3LHlo?Aix;1KNGU%dU!IM@B{f;j|Z6WuX|fe zSJutwHIOz&I*%)%8e{~CA0VDcJeRg?H@-*w+JdNwn+khz6*kKB1utp~2NQ6 z#b%#1Pzqr4PR&L;f9NF4PN6nw_ah4_G<7evk9LY*_h}39j5FM{U)>(BH^Xn>3ZEp^ z$*-iJmD;Jeq(IlvCE&t}hks(yo_ZCfH@hsfHyh_4Yj!O{u{fra@%s?2M^XjuTybUV ziMMg0up>1nQ*)3ixB{V!i+2;KaM3ABnOcI>d31grQTxB*)G`E1Wom_J_ES%y`kk9y|gYaKbn%OhM<~g>H0q^!S!n=*9}%YnJ;-1^gGg(?Dg$o5&N$|8upZ;4Lf- zGX+_HLcCkWB~@zrQ-nrsLO%eKp-^>q*#klBTp!!&w)jzscP>O1P=#W5kwMU%BEH#OnLn41g8FssXsy6 zwaa3ta&%NTyg{gt2wcC_ape#$K~*JOrTjY!xV8qUj*QEteX2&uD$#MR-Xn3jfa}LP zt`fpE&%jm1xb6n7r7>J(+EX!H6*{gvbzEh@)lbJ&F}b-KTNmVQ@)I^yr#y}@FjlAh z7X>%GLPv)FUTEPC4?LxWj2i#-<=ps$%%vS( zLDgfbN_0$i9g_=~X6l%r8wxG+NGO4%ihii+12Ifx+A}ds6*{JU-1}!(%77_D#{@l6 zZK0+o4Y8@(!Yz-d-tak$66fewTKveMO*62rv{1wAi2v(#Vw}tZ+<&Vh=E)q!rBm9a zPz8xPqR?TH`=e_blazAA zZp6;Ij2$v<@PafP6UYVS9?jQ*m^23wP`|JT9&~&gTPz#YMrbP!B8DJh#OAtmKQJMx zFmSxPa^F8tt2&QkBGr&C#nJ6Igp#Y-8z^w(JAI-g#DZ5UrXT)?;y;~;hP5zp#MZj3 zVMd;Z)3aodSkX%ci4~`6xza=RV5||ACzre&7ipoM{)OE{U}MR38`jVZx7W<%tf*8b zC;{Kne+~RHfBdg@PI))7AHq*y%;;?3)#HH30`sT0@)Y=Nh2@?JdjGG(6fCl}nuPO}IJUz=%B7c_pQNVS~KuG}!5OGxUvW5KYHD zoFx{e<{ngmC?aZ- zO`oOUb{ft*FA6_TsaY@MDga-h)ci?iuafXpN(~)92Ex1Zrr)j9Jji+LNiVT|`v`@6 zOGL1qZ5rnz^zhABR@alh%6o)Bn^%U@34)|vg5Y9*F z;kyt3B6YsYjRl8Cb>jksEel3^Ir>632v z&fqJIc<2d^h2ecUh6j%sMhdLZQ`%mI?0fGzXn8<~7MO9#0PG-|0tAQrkSzS1$-%U4 zlY^da7VVFm+4pE9NWBa5^P1RvU;FIFc#&fL5MGbTNav!(vG;c=`4XtsmfT|!k+s=R zpP|ii`t0J;H3BfcD zz>VlPoma7INGZo>N+)N7vsV|5OXZ&_9cT4-YGU2h`kxrlB1UW#AzaFZ1IUfx6tRAc z{wGH4rE96od`(qjI8B&$igk+qM?jdrHXg!-H<-o}s5KgbA(_?(mn(Eq8P*b=#LL>t z^My*SCpNygNS~CD2V!3CE_n4K{fchc{D|3PhI1fu09+ndhSGZC=HF$SP(LqNODP3> zvutE|k=k0M{AI6O{g->^mk4bU$2O6YDpHDCJ?e)z3byR++@o~hA2|2wIH4!oH(eR( zeU5N`z7&X$RK6d6j)oZa!bw_YkT-;m$P-nC7{+adNEkxnLy@!5cO@TazXL#p$YtkC zM0aZU;e2&@Jsc+&kv4{ZhY&!;LaUO05BhapArgiZBEeqBx>wyDQCOF|=p^?Ek4pE4 zwJJaTCspE>Ejqw-Hr6D#E43VBdd+`tJax^lA&qDY*8!mS>LiFm|< zqQjX8;j&wpC#bY&Zon&@2WAdv9(Av_ZyEVZwo>px4z{4rX=xk;DeO~O#BUhQ_G*!( z34Rng^3i#5a^#{47|paR=fsawa?}KYcJdQ}UStW+)rT!<|Cl?H<+NTBgLb!LHLa0F;Yu3dRwR;x_cOjnby2!T} zjh!djn<4VJuIMC*=P8KiPgp!zC`po}jDj9&DI01zq`=wcD>CexR^`46STxynkK0dn zY9GOThhXA5?~Z~A7C@g@y5N zNTt3?!nm_&WJ_^qy1CG~$=B!!-3Y;ZLs?PFf`=}-FY5Sy-;E1coo{*5aFK?GIu|5v z1~u1Q$PO;PqFY;bYNJ56-j7gmqLj@PA{PP&ay{rqXg~l#tyAUdt9L2Yg)CwRIu)@4 zbX`IvZOx(UB=%~5q^&3AZ?NrKR>c2vIz4Ttb$OgolpT17e>ncj?fALV{^~!yO|O3SRs))+ zz1?@tt8aS$h1X5;bx1O*1$`qgzIwbeTn2>noTNW3cqYj%y<(8Y1ySL@cQp&3+oR}H z1v|nIcbcVKD0eiJD`onBMS}@fxmuUp;cni@ZHRkg0;lZCip|uZp~7KpkpbX}A#*#A zC~J1P%@DF?t8g|i`T!TPD&C8*cxa{kBlo(SvC;>DZ9VC3JqSRH&dr^k5xaEQV%3gI zj`n+VMQD<>{C91NcT^q0LCyhp&>c8r2H;uAfU0$ayO~HdVN~m?IL|QL#L0~tEf8@2 ze9I#0P&F5zL6`xa(41ihHXgjUYBO4Fz^k8l_o9VbW0kXeobN9E06*T#Fp|XQK@*|Q z!$E=_q@czH>!_J!g%c}@tW?*;M)c)Qw$lUsAoT|cL2vDf1k;kB| zRKonhMaEVou$V)~Qz{+h zMYtm;G-E(}dGOM5jPFYI%beD1#yGyJjqG3R+3BWJnf22!d6&wA zmF9BiJ4!X(ie)6VhQ9*c_#{PIu;2b?0wjf8KJ`IO2DMqzFg zcAS7Xf2_36!ugaJ#i2z}-ji{7TEinG9&2UpkpgHQLUtHpIslTn6Vmv(pbvn+$yCi7 z4|Hz56Fx+u5I8=(vdk!+zza=njHMF<>_I6cV7N{|aQ&?TLW9tpyaVV$2he@~ zrQ^&rGBlynxSLa{AnHGnGJpP;6|5NV##jOBdMkm2pu-)iu$CX&)TSuaWk}Gu=^b#` zEfueOBzpa2Hz>WaxV^~cG4Bx0V+%f^sHyD~SNU@hTG}qmJ3J%ba;xJLG$0w6(0DWG zs|?UqWK?Fm@fi@zu=2w1;tLar>axRIBD{^@?K*sR_!nn}?_&IeM^7L4Lex+^@MWQ4 zqXVDv;x6C0U?dHD3t%8NBQZL-QKAK-6LXfdg&Fn6CB_)#!qHJ~ARwZn8X&yeo%tI^C#cQjYK!4bTN8iC>yXJI|^X!VbEHFd0uqTl1aU| z=_P>>jaFc1I!~emB*mJjvk_^tuDhr)64Lb%=eKd`F|RgeebQr!iG&M#WE>)4SwkEB zFUTCvwE`RAYt>si=9!0J5Ik;C#b?M8K`+%oU6_Kv2_G*cG{0OVbSy6Ebg0?l>yG=< zX5EB^iJLGhAvf+#U%PK=TQiVU25)vM#$;M;g@6AZYJW_Rc*+d&ER^3Go1xIGmnKvf zYSW7Gc?Ze>Dy^|eFU@&r26bV$0u2^V8-;bs^0a=e5H{u|lE2MO_8siE?HE{;bdhgv zYj0naC5~ar)@aP;n>PTKMxR!gAsmdA!u5~sPec7on&nnZsgjo~9`VG_vl92G#o(dP zaex0Uoxo53M(|`7YIU8#_v;)!+WvtiFt(@WiNeY{a{Y!za|OY8Ea6~>NGiS%-l39z zo{~_>Cc{5QO9TdvBZ}3eT(d>FxY3tZUVqP>%Eb-7lzU3u!Kpc7&8WFARm~l`Xq8A^ zZYNn;w?F&&RXdlaek5|?=iDTY9Td4OD&{GB#JUl`nR)9k@9>!rBi6lg(}U}8`|K)Q ztMwOTe2#&+3D%|&OMLU9EL{_W+auP-!8ImVhx}vO{>kxG3SXEcW5ge&_IGjh`&`zq zoGO@Fe@_Jh|92~Bp$e}2$$wNq?B8*pv3`p#*4qx<66zm!bDakbL_N@s#hNs_DN)_5 z^`*F^9hB(bPbA=vB=4VO`RaiGH*xqOZH)in&hd{wGk&F(z9y~L0ZPt_`!_MirW+3f zi?La5p|X0x09@m2_vVNYJ}uR`8N~*l8luJ-7|E zJ~}3$*4m^i6DmC*snRj^%kZ5vU3qrtI&~mgwDdalQJQHkvln1vZvZ+i`@MzRwjO(UKIw`eQJgdJ?SAQGp%0 z9x5VGXebig1* zJLzNh6~r@!?fLN34vJjbSDn!B0`p67lkk5?zoQfSFDLr{pn?8P3k>?741@m4i#nmd z$@R_YUmoMX&7c2KSt~qqWBvIbbKnAh{s$a5yM9ypmD4fz#9+Vi$E~LIRBc+mxh4&J zz-8Nq($Alb6uV3z`+(Cj`XLq{0`2Naa;aHCF@Fj+PS{z#i*(t5ai5Vo1G6@Kfb0T{ z`hHXHE^+KIc#JDCrD+#Re>VGW)A|CGFYTB87@D<31HmBe*((Dv$ zGIIP?x5Fpor0x>Lj_trZmUSj2ic}l9UAXl57%n|b_B9y*_5LO^p_l}t@ZUl>iTdezRy<4^{6gEv(v;{J5-ut;^YxX#`%IO zq_ga4IUp~&ef3tg@boRHwt%8)?9h5>US9%hg1UUD0>OnNh(a_UPTL3-Reky(v5caE zy&Y6A7$SjiRX;7Csn0PAsBjfqJ@`v&mZZ5mRgmj9C@R09bbAOVEO6oj-*2FiT^me9 z?`2+e_M=0>5121L*iPQc6@bMSU`Gy~vfc8y^>9K2ZHNy5WYKJv%#u8K3~56F9VUsE{+gKQ|kFPXs4myecG5&typZwYJ~_ zdvGzUg->sJq(((@- z1ed*&n3=Q#++im^qh~tkPwLky< zV(59LW&mDLPY2c0pTB@2z4$&d+*V{4XJd2gE~vgQ%zD@gHGX>+kDKGGfI*K7nJ zKc$`YZIUEzpOUEj=<*9epKJ~GAPL4a-X0ZP>WfxwUT36Gv38Y26_$*4Gint174RFF z{rUZdZ>6StmUvIQ<{zQ}m;sJ}LGIur@PfKnyFZ7=t~wVzcn6G0`=W;wF8e0G4bkRy ze;#MzX%ZxWovG9qFhK$7*_=%*G1pJ?uc!YWAo%G|-3*qm}yIRDxJK=0++ zjw>107whyxYHVMYV0`Z{Qcc)3k0H;b-HL-<2@Op%MBti~Q{V2Nk1Q1QsE6xu7^)1l zpjWqAOCy8OnK%#MW<8Fa^dVe)EZ0wmNhq9$uuTsO5u92>4~1)g zKR>=vNU-%kIzPNdo*&KwC^y&gj~f7kPWz&Rx+(`)EODrq*@#co9zX&&CrqU)abyq5 z0$(#(J$VVj^1DNnU@iv73;b)ci7UR|g~4=>yVX=w)3E4Dsv9~a@sU%ZfuD6R0Zt6g z&y4NR#Cpm2j4zi=yw&Fq*bPT3fwa6duQ*s&f^cyVpA|#Pw>K3BAE$1Dug)yY$37^J zid|D%UO@~r{y2M&a+9|H7ikg}A1!jL8|Win!A=UBqIz177ehJL9tX5P{|Kv5d=Uu8 zIcckvpu@=}?vS5~^Qil^o9Md^QA{A038bT*IPXdMQH8SN6_PwvlC3h?%I5rWgYi>s-O~`DoeP{aOf?i$OKnzmr&s88kTV*_-L0YgLZ(1uNjZgVi?Z&%s}kAtgB$ zgFwMW=D?OTDvImlM?qkD1_0@EKl0V1QctnXk4NqvGd zs1rJD%DFV z1x1uHMjf5mhw%itZ&1bn zEgyoSKE9shr^nb-AGsLs1AMcinCL42oG%(9B0Xba%vmjxh@*}8YI7r;{-JTNzhsm{ zD{Hqzi;{>ikkBF3^}UIX`3_^Y7n63{)@|2D=X4Nxa^%{>vy8c5C(WnN&%aEIw%|W!mgfsVr98i4BM;jZsI^QU*c6m(hq}9%x~zt48bd z;b|o4I#IpIp)!rSLmAOhCku0REbLP_%1DOuxiC1*J;BL2?!es^%oreXWQ2szqBM!v zsIzv7#CVai`TCYWlYyp1nM^=AW8 z%C*tv%4%J%^|mMb!WDUh24qPobx`#E7`kJA4lErBjQ=kh& zG0l1i5LF>PIwjN_mW6C(x3j>y?6={!c$FlHfPYM_Y)C z0?9xxq-^btY`M8ZL;7^Zdf^nV%HN0gl3db<4E68Jotk4*d}k|2`Qrd4<>n|UgF#9? zwFNW*Oa<5-Hdoye$3U`l>~!2BTibJfyk;ds2Io{M3no5xvdyx?fA8XY3thj?hdk-y zBSuA%c9aE8>wz6b2e?|au|Ht_M7Cf?!yufshsHolqqc5K1m~dPBcN#(I_KZHKLQ7T z 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%0Anj?osiU+G=@eGd8 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 I6Su4R?qFZZH*(L1pP(Y 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�_r1C|ZgKdm=RV&Kz##mG^#CjB^GN)+UQ zExq}jf5h60VfxtkdN{C8eZ<<;#}(-!DKK}NDB<)cVsmx>C+8t=5Ni<>@G#Nc7Rp7};6Pj_xw|-S?25$r zq50j@(AKDYA6{k2cnYwck+{>Wnv?jLNJ~Q!vM$gngX|^+Y4l6YvT1_lIQuZ|EF3 zH=ZzkcpUf_9^(71_W}QQPe;&a19ieVbR%d8I}u{Z}v;$+v4{?3!EC z;llD&aiE|*6)h~>+1!7H^R6n=(^!~GS1IsHc)&1hxa0ze{7}I5@@+KAsZSzewsjo< zN!6i81(aTn1WG?Le`FXj)`t}w2auC&Rin?14n&!wP?^*#iekslQ}d(7kG4%CmV(B7 zF?0@r;nj)+`TO}8Aaz@nDUn1F3%+U^G>^jstAJu;fgrgFvIH@*8J#(nVkU20Trg=aas-8<2)C3_K-hi&ziU=Eoo zh?{vcoXvr3d@Mmm73XoTLApM}+HceI&m*Jv+dO&>y`6|&zyD0!a;e^L18z}WPjuHx zA1RAND9C*Ld6C>wP}2&xWCB?By{cnVjMP=BJ0iKooFuWvT1>|}`oHaKP|ZrJk{ z*;_%U0*AT1Pd`Se@y6Ftm3J=!s*v=%=Yk&i+qL9uUNZq&T;L$-H@9yE450*EC0zXo%Km4mU~xGCKGirorsQ|wlL zx3HVb7uqMG`vy)w2HD2U7xZxapUo>NF#--Q)|(jwA44ZU$rlF(jFrIH^A#FwrhJ z7fk-w*Fb2zp@|i2^$Y4HF(fqa6#ZLwAUKL0Hw>kanL_oZ>FNPqwIwaFZ;f+8XSY z{aOXGhh~wu^vGGH8|e?uQqlyIpW4Bx%K`(IwRCspp5uhjlFnf!Fa9wqN7uO+M%7U| z`^9&jVHzQuA^fVhd$A?XogQ19dwxi8W6xknD>!$MHGW5J2#?<%R7#fItcLb8cf_a$ zp&@Ctjk!tq2k|fS+7hhbENhl}{v2@gj`iVYmDm`_y4?l`zlBP$AL83oQP;w^P8 zix0Kuby0{@HS=!-QQ`uZ!PjiX5+ZIElS)YcNB%>@Q-+V!%o36IFacoF|Jw}E(m9F< zPu{NOTWF811&to`F=8kr*0}XjoPTO8DBcf;*dh~U;9f{9no@nvWGqG&U=LE@1Xxs! zgd8$!SW<}{DtaW0KkLWnQ`Y`v(Y`bE2v9;yv3Y1De3uqE5|UqSWh6))7zwJ5RWel0 zG!nSJYb+&CTWQjw*RLFEYWoT_BginHAoFHp*cyWT_R3mSzN8}j#975a%v_#M3q&2sZ?z$DIBDPo^v1$0>pJ4BZ<05u<{SB zpL$=f2fL~VgZ;9bTbcOS(+Kv=vU)g=aL)Z}1Vc#=zh0<#=HGK-dsz4E$Z*eEoe}Wj z(2_`!amB4Ti%o{&gbw#bli$7^+vHR>DeL!ptVTmi9o^^>>gRpfiZ#%%sm6Sxw&BMP zXpx@*j(_C>g&-rqoIXRQK=e~fazjqXlCI<1R%8`dT`#dRXs_m%DK}~5g{sMLx{Ab)! zz5Xn4$brAa!kMYzoBa$b2c zHc_~IQ_;~gvC_X0n%sFfilO*MS7?$jWuMGGD}=N-6+~S5=P(gtn{ok3C6N$fft5ZI z*;{C7l)jK$4%e?Fi zuvrr4NN>RP-HTzklr}p}sziL~BGehvyDEzcMt=@;(?0O(P*NTvWq|xa`CXN6rvydN z93leNsR4~S9?y_l5d0}$K@_u;W@FevC7L$OuB^fwg%b!v+PUQJ$1X$cuiAzahEP!r zn**U7__his<|+wNhNsH@D_e7z9*Z#6@Ha$Nt%zVBAnGAAn8vn-CK@8}DM7A=e1g%T z{Q_k0su$CF_n;4#$?o>Xy6(X;&VPLG&Ng1{9=Ma+YIwF=Ctvr#^|%rG;7La}X5H?A zN$PzkHzGZ|2kg9)ePWXB3X9~w4#EN4cl;W$U_0%}-3Y0_^UG(?1>h*I0OB4y#@+do zUf(}M=`ZH$i@qTvref=(bE2=`;fX%i;pB@wiu$@Du5U4sl+hh@3 z$9B}lCT0CmiZjn*^e=&uLsG~$P^qMxuMZE}b@&#hX!=s>J;EA8c9s*E#1%n0> z{1YcFs1~i3Ts~D34i3Y)F*rAmU9Pax$Y3B5G{$QWxgagidn?RhGck^SIYW)3`+mi7 zG%C+00m*sZkpU6#8f7(-X604TK&h^p>?W2wK5Q`U}Qzw zmn`@!VxJk&@P;{sox&;)VnJ<~3&L5hh)*5}E7;mFOoQ0&(BP{x@0J|)*6?dKBSdBx zd8Rx1Wb5;>n4PULoAAq6%);{}W3RdUbR=0(!JV5%aZ5IH+IAcFUWA=vf!$S*_K5 zosy3YaOxuv!8}k170{pb)&Pw1`yP!NqEd-@mS3g&`yjCIR;XTz8M*#IZ<9vQEFiG2zPdPrr^gUiS{ z8pILwM-cK5Y^#2=J)aD4`WKzXE^1Fx;)2mQceKrd?)aPFZtL_7PYTgm173n}N+xSh5%gEcC)4mp|2E2QMN%G_HZ?=yy z5S`IfR&h2D5dLmhjT}xVSF|VBQw`S1@J_+jYTkj7R~^|$s{eub;&$R14t5z!q=;UnJ#^DyD^NTFbda4DSi+6zYry5T{c z2F5JFR>eB08uL;?{ID8S?D8kB^X#m%pLAmY)(#w^+?SEEE1dT6Dh-E|0{^x>oreHi3CGC&I76kagS1rINqPSpE>+ z0l{Hq4YQD=n=6&CvCBG?YCMA@0jmNsKX}ejTlNwP#5;zbWOA*O`rO`=j(E^|m-!;J zsfyht=fL@~xW9_ivDGcXjLzWTc;$W9b>mS+?Y>13{)@1(Y}1Gl^Q@<(;WqFM0JCTk`K#!2Gscys4^Tyh5}-R*MS7@IaPSOq z15zfVju1Sxi>6j><9Mwz1mHiOq5#A@D+?UzfV`O7JpbENC315LIEBJIAC>>@GAsYv zV2RBN=YL}xce4$h)=gKhGQXwbW0m=BQdT(g8$N-b3!W-w%X)f>YWD4Gq*+9Jgwwut zkWJzlM9q$xwsc^R_(y!)N#^Iq-z&`Ql6Q`kZq68!o#UL8GtTK9-W3SubWJY6mNx7d zm8NXEsT)*N4lA)=GCI~uTTE^;ug}uGM!^~=Zn=Y0|J?L5`lk=@Fh^)Cez1QQ$Z3cnq{(D*ST3d^Ksy|ewY$lh_c+&e12Vzt_weEzsslU+hl!jlrOjG3-`*Y;|3R&=QQA9PBW+kpFlz@q2a31n+@JRT2+Nhw2Nogpx zEKQA#wc@NaFec2plBnTtpiONVWlFr$yIkmYG78)zhO9mjYK<~6WP%lr)aPl|s zWhX>d`e*(wME~rv#O^4CbainGGYe=WgsSbB56B1GdE2Ri%txr44 zYBAKOg;g`14$s2ExFwyirMwViimS!W^0I|a#1}I{T}8P~MCenvqpzZdS`^dEfQ-GI zmxx}T`|IYtEcxW3yEuO;yV$uAy`4XG+*ow-wW)2wJ^i2qJuUekCN=A727a8mKL>>R zvy<+(fODkJ zl0((9J&orYl@(~m2``dUxkU1OeP~WVl-5DZEV?6s0S0!&Uq2r13}qV4nxKZz^?5OL zjfIEf1nX05QWtNz3{SXDkf@_?)472}7*4axUXulaQSlVH55q|q4+pfboI#EqfK%rh zF*Cd+@IFLo?)3e-20t)`=lPUewjD-#J=@m66L_2hn&l|Bw}r{bIIvXDC@l1}aMySs z;zr=BCGTI+y>lWs*z~wspBF;kg{Fq+{s!VXpn8tRz6PsQr&qvsdUFn*3bqGU^WEtH z8q4IVF35uX?AkFdo_RcVBJL*R4wFDz8UHw}{%l5!Z9N7{f;u$M;p>+POGPGRT3wF! zsQK6~%5cqFi0ceZ?$NV=fD>4O0~(~<5$Ru*-zge?i(jRHRdHZisG#`_j5=p*#VS-C z=#Nrm>t90OKqPPjlIQ^^aDi+T(b|KKS8vaS87v#Jzmwtj*MwyS^*p*F4{X7xp}^?J z-o5-$@@OjxBxhv0F;wW_DHe;IE5;Q}pPHTL?bipIH1ZRKmsC@7C_iASvF!J|z$9YanQW$+Q-X*3ml< zrW4G&Ry7AxGF%|-*FmyWGspl~ADw`{PvVs>B$rSLz*dbRfQ;|h=#Y*Jt+-MGOR?7B zqU9io0G;EQz^Xkrl}DJVeDvF$5s;IJjEp!6C|rFNF(jt>;8k@+4qp@9YqcX zN?*iUx&H%oiG4Zbsa5uF^<^lNx!7D3zez?9HNR|EvP;obm`+EpXg&?>5kG!2dwgWp zyIzEESTp!m+7*1Sj@R&oJ@~OnuLHkAD`J#6VVW50P^yK#vg}-g?M=q=3XCXd>HWGx z3p>~SVPH9)QupQw-p^pxHJTBmL`2)lpr>aj>>=`nqv1R~`ZcAyQiv?CRKn zz;EGOH%lm8ZI^C{Y9SEna|22Omq8S{}IG?;Tk?) z^KJb_C4Q@0@@+&|O+QNK2ygD$2wP2|Uj+JMuX&`wH0D~_=UxC0Y5QrZ#Ry!kNgqS- zQTUKr3@{L>&O9?pJ~6(Hu9ZTEXFH}X8iKiARb?ooSckC=hi}V3x`KKjjj)uTg)Scy zdYGqOKH9L5?}&-LZkD6E)%++c2{=gR(m~SR7KdV!7aSMZ%eG?wR7s<8?y zIICT@K&Yf;PK9U#^($vMiv<&gHSrAP3EXYF@?5y9?G;T%Wk0$24*A=0(Ja!X`0nuh z3q+`(EINr1@~B^lP7%_=@n4T3$HRZtcTBA8)HD%V@%UmaEiLdcLFVWl=qoVbYdcBnV9z7_sv@mGNqE9^O+#0QwuLe@ zF@>uooEj9$O8n@z0O4g{6bM}jg6#jYAZT^=!Pbr)g{|~j-+`_4+6~fcs(=0rQtJLm zBQ>)KBe${GPB@Iod$8BKWB_?0lUgR+E09eG%xtXRC?7Jl(-S5}+Z*#{A`h2iC}QJr ztIVSg>at&XM%!&lNZ)c5DH@Tl3o(=2i_r7|S#m^am266vQq7v1gFjGYK*1%ykJURYVdOki=QMn#(H) z?KPUnD^zb{tt+iSOJJ+C#t;f~&{Vcy?dk|iD^MK?3`lw#Nk5XLhZsOAVM)SF8ka_s zeg+u>k103DkF2uN z%sA|__TelcS)bR_L+MRA4eJi?0%z~P&+0w9%Si9>4Z;N z5)*x9@WPfJ0z%O&#$=Q&w8ddZ*r^WgMAi_7Guf=`tGgi3HY87QVrjl(G|;!ZlZe-L z@zmqsYW+{qXGH{k%-!fA;+Um{DSg$p&R_2VmIyuU`4uigC?S8;A;GEZdNj$|nN*X% z)yUn2Bi@zp1&hd48tX(7o1~|QUyGgv(&n#o(buq``ID;g%=}Y3E2_ni^*=5&uCjOq=75KV z<>O%?N@a178{f|zjNo`<92DVwW{wshcJh>iRLfT_f)5H10Lm~+b_|%sPUdllyd$ym zL4HiO<~faD%k*cx<{MQ6K?Uj?8P||dDbmws^;w$Ka#E3WTy>x^dc1}Rqc4R1b2a^u z{y`)-^P{?S{<6NE5#9u?7N~dr%O&V^+b*Q0@wIVK83HnBJHa!0$1qVB%`YzJ-24BC zdlUF5tLy(ifdrxwCJ1O0(V(dYOKVW6iHZgUoxnt+xFBj9mm+O#8!>?>D9eOpI*i7p zo7!sC)~&5t_obRB%BHd@vRI4zGaVP)SuFXzKj%Kr%w*Bl@9+Ej|9QR0%sk7z=bn4E zd(OG%l2$O9mD6!FLsQYk#SG`#eCWcfDTdqQSwI9c4~ggIC{d&E$T!5u1CQck_@)-+ z!$h};O*G}o#$S7RY5eftB8l_F|C1}nl;%zEtB+n&|M`fF+SJP7t*I6KUqU}Nz8QWm z<>6>kan3BJ!>}$V1R^V3Vy@UH^LUp7Fpv@6fmiMD*QXffxeWy-uXK73114)`bP4eA zlNE1C=;8Vyp@*6dm>jDwsan{yf4Dtd99!id#;#W+d%e&047lJY9l5~K=bJ3deHal{ zrSsOz{8?<>7i(g*rO}IJe`vonfO&sS$jLDTyb&wF5x9?=V4#Z zfjrgDQw5LUw99Ep?V;aAdQ0O=_4c2GV}~yr-frnhVF%?zZ>1!M2z23SGP*W3mQ8Ls zdiGSm`w^jsT4T?Bu`V{1eIo>9H@KXksLsv>KX%FFu9{1XChh2B`G=!h^Fj+gV_t-a z5>e9B&_h!}`^Y~`ew>BX;YW;$ZHd0qJ6yRXln|eeYW4DPG;^d&{;WZdv*+mWdQHL= zN8w=T%l}jQjjdQ7nk$PY^w6~2Q57GD7TmxO9_n$$9<;rC)$EhPPfeet zIsKTlMGcO*+nyJSo+gkKmRvYy4-Gcdd;;hTR}Nmj3_*!I!Om7UQ+41|Tr#7SpxSD0 z*-Iudu_!elp-Z!!+FJ}~%v#X}9ht@w3_Z5Qc1P@ZR5RjT-&c_m>5$45p+sCGQJdlT zRPC=0M|XlhjW3co{>vK9cx>B>_x8DP;&2K?P18%$rx6ki58Z$-^Gn^W9fyyfLyVl9bx#Nmc6g~lzVAcV$ zLL#UN>NlEMkN!SOSv0XNZY(GA!{`hh@6ACL@cEdH@&SIdI9^B&2*ecpo7{n4D@z`9 z{%ZVN>+?oYJX|_&*-QqWf7{t-vw&Cp=OSlnd{2l=6dw6^XKI*2nw5jKVTQ&Rt7G9( zUw2@47$8nRofSZnx~_BI`fdG}2K~#vsXi~qo2*W)i3f84IE43Pbc|A0Iag#*-2<Zi1D&Iyd>H$UM$ z(>$?)=*Vr~=9NZ*94uDJe<}2~4cC0Ra{F3#EvYJ%q(R~R`ddvHwDeUS+dVq6RWH(4 zlIQWZR@0ZOcr+T{$Qn48lFeflo^qspyOeL07(goZ9cJpP_^k3jYxViu=nB;9=rX>; z=aJH(vW5>9$6|kT-Td7Q5IzkQqi@S;Z@Ah!R919_Rs>bDqQkQ>0CO783D0RN$${)= z)uauCB^n2*9yc5;B(bZ#w!qQf4dudCe;zE*6WGW@k7lYV1CYo+wxBh~J8}~QU^>+O z)mo!G)UV1G9aVe@`*(rDPAvquegbZH0aq;GN(5Y)SKlvSJkVxi@29bI2&bNtG!s(G zk_F6eK*nzT<1_S&_+YeNGwww3Uvw**|K@9GTMMZ|v5fQK%qEtCO$l-O!U}mr3tUiR&TH=LbNEaRYf`YL_wJ@w60t1qaTgi%-krkvCf6vFt_bz053Y@J7z3u(wbbd>IGx9QCiVbz9af!*N8OH{q z;$p6Qi@y9Mkb|#>{OL&kx_jCS20oP7*kStaA}eE z2B{F#7uEbc#r*KX7;*8GaD3PH)yTI$xs(F7HI8^)cBr&qI zCn@qKo}>#er5*|o;_^>$&)l~zzrCkXJle9BT_{6#3+C~vzVn^36td8Ek^XhO0jok-)sukJH^Szz8bl{ zd=Jf^oWZXN3RC*-`vH@S%=46!Ztzs^iBAOjj+1hxoOtm&}qqSUUk+PCZ zf|86gOYhXN-vWNcP@|H0bnC3?hZxl}TLkrj+=Ab~&TKtONX6bDl&3C6FXXV8RR7o# z9%TL0N9G6ZS)gwc6E=q zmwhySrE0sPE0`4lnBa#6y?nk}lMP?ilIlsAMDsclQ+3xlJKbc46PMH2%HARQ^u%Qs&zr8BBO3{}z0ZEld`&J3k!TI=MwwdnhrG6%F>ps*9*8 z`q1G$GH7nfO&##KmOE02VEX-EeBSOi!SgrsykWcYqsIGOC+`t1if%oA*3jtI@`imR z|Aup*>DJ>L4o+6U-5z(!uhMMo9i|E$LL1F;lqP?nV-VU}kcJfwp%naJ5 z(K_Pxu#UI?X15#t)zS&UQw1HLTGZhw@?%|Bul}S%SCe^)RWJBQP|uV2HvR$X=+=hD zsli*fbbPDa0fP*HSf2d$&pcbjeGCf&hJf1zgL@n?|8j;uHHMJ`b1+&Bi^T! zk$KdT@U(h*jm6<NbCkEa&n;(y}5Eh~+i~7e4bG$!j&peW*R-`x)2Qm6_V?Lc83{Mf4ME?Clg5lkHL@>OYxaK|f=_l>p%Lj^i zX#?j+>Tf3GB;%m}9ld?Fmc5yLq4R3T@y}}j?(MD-ev^9J&sCd|nt z^;By_N&Oo53#zn9=dO8)Xdp#_QhPkO;Apteo^E{8mvNKO9^;CKw|c)+NdvQ;WcHkJ z662ct1BQuJS_Et$@H_nEXY@0(pyIbKqmu>pdaLccKb;u9I=gzr1L;;QKC{(aMQRT0n?OSZ!IK5}TY8Ls8! zv-Wdn3wtMz2+(!{*SzyS{sjBYn_*FMw3aCAUZX5SqjyVwHsX?NyVsKre?QLP5B(^& zMPl&y3lTY7CqIHrM;U}l!fg>Qb$eKF+Y!!7q{#)hDs@XjS^8mydwHIPuKaiR4jush zv+RE3l;Gu@;GQ>%J1vmz;lZu9CwCBn=hCHN{lI3k90p>yhWrPqL}|sWBa@ z_*JXhzj8*NF9hbiCuBx&9Sw2D6v2Aqc<;~;q)x?7pU4uqDrb(64Y0)-V7;cJu)rpkzM^qtRg$IVhYn1_xpf;>r*Gg1L?*mT+o3gUtm#1CXtX5 z-9C+tmfbagP<8Jce`q3Lxu)Qvw~HheLCDzxA30L1Mw*_g;-~kQ!?4D2M$Sv=CUfd$ zJtNFig<4>FuVvLkR#ktoIa|-VtR7VE+|9j_=rPB@L3>-1Pn6EK&j#Ye ztna)*+La9y$W=f01o>Yr`G2Manmm#Ce4-=Y*h>O!tYBKG1{BUK-1q(Ie9N5Qd9Usy z@)ztandZW--eu*1SgYr<7k?jh`KSHF8?GhEwL4oh&39P4evmqmKPtPG!_%!CtX9U- ziZs>l!u(i2ksi=g{jK-HW8XDR1$eXG>lQq3uPpF39TI@In#nKG ztMyriM`cq7!(-pyVR)4JD6JDpTO3M0J%Pp#5ui*qH>4x3Di%sl79#8^Ge4eiXh;-3 zo$40&Z)X87`Wlpmzn|bA2K?R$7E^bv3cbHGwZSA8$)qUuE^OC&g@u@G5&=}4Y`{27 z8}(UVvgFgA-#|V+Yn8x!`7{xx=`5d05&mf!P0Ob@+&bVN)BX$j^u`t0^64&K`9|_- zYTZ}Jr&ninFQ2v-bdgWzUvpuO#Nd$VwrLH$hqqgKwKSj4(GZo`y)?zKpPi*x@EBrl z)o(Ha>>}1~5@54B3a|&W9;x;pIolpVDh_8d0|6#m9D}?`Lfn@^9(xPEO5k9h9^^}$ z4I%5pAyZ+lL@ zj1;6zr*bbNU;g<ro-$&T`6CM!n&h?T^^4VQF~ zFHimk`LfhUX|{a1?l>A>IYB5*%a=n2e4Ttb@7->3yJA2FE0Qmd9~>a&KJIwWzYBWb zwLtS%%a`6ey2uww7}z~C)KnZ0?xnI z7l!r_<9GKjclS|P{HxK2R&Zko2_UQMxCL^03^C;yLvkH@gDb_ z!V*AoP#=PWdjG7acI!B_MfP~Z;lo*{+kOkB6A??OR}iYgOK5wvTz&r(${DG~oK9nl z7mobBIiHTv2X^OdI@J~wvq%&9p&}={blK~1U?8}*h7er+-$d}n3%~rGHSlkJbZy{8 zo(v~$EVTyOz7;g^uo_rHK!pY#cMUwj2O%I|)pc#DIlHCl>6U(~mKM?y1~2pie{cFM zpqSN;VzP`czB>6>8<0-)y(-^WHz`kk7ILts?5E1ME5i6rdv;jRv1eZiRWd@>8|$t1 z?rv0n=B(#!Gns_yVxf9sbZ33z-%`8zIU=He6;e@g`4fT`wt2B)Sq!b_FoErDB;`gX z803rk3WIQ|H@7rEUlZ57YhMR_wi|`QFAp8wpTvx&hP#xXF|qO8)E|I9H1`}4s)Lwn zE)M9m-d?W1(7csQtAjOBn`>jhf2{fmN-zFc>6axMjqWSv!sWIk$wzh5y%Bia1G-82HzJq7ymz3C(h#{2L2{@m_O4Fy4h+^KRYz2?7NFxdohg*HV%%CWvxLfjoq(ydla7B4fe& zT&g~8PRG+{qxE^Du1pMbVvx(lqf9^c z7OyP_;SH@sgB9=aHRRtEgc5J)T4Kbs2ATRt??DYEE?k}uiKGrApX71#7LaYTW2zwX z+enN!p6BI{+b9vESFn85P34Zp+r5)GQ!cpfz41=gk49T_n`3aMB)Ka=5ss}3xBcr_ zvd6=#w@ck21g(_48rGJ+*e4MQqgT8}#Gz5x#Grj42%%-}RrYsy6L=z2wAAQoA|gvD zKqsERDU76zc!#5KI+}UEJTJ@4+xDXlX5K4TBEetRHgo0&I+Q3(} zLyq57)X9;r%C`0wkWLyF&iRKk@a$)1CHk*jos83E(SJ!mwyU|}z4s4@r+1N-=d`HB z<8A7`AWbLU!5{e~lBSU47hgdfY5Ao+Ufsoqh@V<~ExIi~ln@u=oO%(c3PGLAXiF5{^yNkPKPanaWhlsQ^BQmXtUYCE3w2&na9ZdnJ-eq< z1gGQdK8$IWHsTlYqb5d5B3kpyMNDn4-@2)-6>b%pc=-r$Ulevz%T-NneSxMHtE*FJ z;?7N)S3e1$o|lVvaWZI%*LS~QGV{3R))%ibq2IH(xF4SQYkEQ@pU(O)YdVuPon4hq z|9qN>?-@1Ld(Ce;{MLJytyRQr|HdB+op6M535fe^A4)C4veQnKKF<)5KIlw_k36k+ z!R7_M87PTE_ZC{>P!MVk#|Un_R01BH$nnel+xJhZR919rUBfO`jE=J1D$qg4-p6YM z2iXof1tT4Q=h0B}Jk6N(*C}SMEC)eY$}~jKqGs43l_oz8lyfHfP`bEz#Kp~bx45}? z!TVwnhR`8w{`X#tB-A_^d(eA>ptc=4<^tzQg+F~DG8Q!c8<9fPw%5c9zyAlbPJY0L z<(EJS5-><65lMM(H_x@+frEp2-iK@65gXlV^{Ns4SU#3}tXAb)MZKK4HCU})yur~8 z?Kz^`+$(5r-9ABk&vVUtcLTaQwyMSK!__`o9|rNf7zW*%xlWkuF8iRQ4J;mYMh7g0 z9TxX8EUNuM?`06lJcdb4D|Td2pYO=xw}hPykyA~1YRaQq&u*Z6+!&F<{+xFSYLma# zcu}kW;xGfFgIoWbSywTJVAktffj5472YCH#34hjqmdXH|0dz^819Z!-9cJ8UGx-1< z1>@`V+-JP+{`#|auew<_$g;*`($jw7O*ZXQ^pQQ`$L0qUG-6ONLEq+@cl>&@AdNQ2 zWrsEfq#xZi{b-IJ9mJ!Ut$D7C{LWpxniq7jX78YjrCjsgd?heay^54CB9b3;S;af~ z@YjrdFBf%Hc^9nA$`AWoGjaaXaN=Y#^*HLzkC7k7g{QcXKYcg8EwgZQYG1zIl)iYU zySNJ&T=F!ttfk^`mPUI@Dpqw(ztvCFC;F`AzJlvBR3%*+39IEX!XwBt{zm5DzWJQ48c>X#jVmI#B2s8;oKb5r7d zZ?9l(hH=e1VV%usxm$`1cS{khG!YMfPPMmtq~G3J9K8KO58mE|w_8jHnEX!$lRLb# z?AJ=f&2N5Yez8YcEPBoVU|GG3c)%E1$erSSh#f#e+PRVt1pLOK31DUw1xJ!2W>+zD zCuA{P`x7wS-V+?dVS6d_=(1eLOt%s@w>|q#d`cN0YC{jvLTX{qK{3ThmnoZaQV~je zmC6=a5Ld{aTYk3eo5#rnl{nnXp*y$OO0t@CRXq0WmmJcOJLU(-UyD;$}D%4SlciTFrKTEtLU-iFX9K16(+Yey+ z`>YKj`UXX(D;yQwc?i(FrL;nZA;j~jP|BqWH@iwcpZQha6J*vs!5y_Qhu1C}Q+s+bx3!5)KwP?=H1CmWY3oY4j5d^J`ofn0n7U$Q(7>a&;i{Oy+-zKcpojJV4OlU(Nxy*^sS zu)ODOi4*kJqb2z_VU1Q=^8y4kR?*4@duHIr_13Ya61B9yt&dzwu^!1E`|UK*j@ql| z6ZtS_XU*zePY%s*t?waH<5(wVWfa*>?ofBe{_Upjz=TJ@sj4tS3f92D(Oub#A0Yjr>(M zyWdExhxjLXjo*%)bH20b&^@XfM*&RUUK#v!4^WRz09E@9odG}&D~%`7(2V{Lprbki zq)};oMf%~#p-HU)Sf7OY_273KpQH1jzmHjdXnZ;TIJZLFY3k>E@|_o+Gx4#2zPG-6 zG00S#oVCXllfc~fY{m-V~IXl&X z;ivTL@Pib{@!qf%fSa(%5YSM+p(AKW13E+l0sa@Z|LQ6?|30mBkM3);nq%uia$_%l z{$V(W1f%Qc{Xuq_|0==s*Vi(Gq!H*hd5z!B&9o!1e#2)6{Lb9_{B@xPD$X@$=Wcxu zc&2eQxcnpCn0?tT!P@voXZ2;{_d7bm09LEU&VzjV=)%sBljvgyiZqy)g*}pQ`a(ek zr~tPm=^0>c(`LQZh@Cg0Pm!BsY@ZH1?Okj0yU6FCGg&{DZEDDIdCsTeP{NhrF}m88YUouc$J(5TX$tRJ?w zCtHyeX$q#--l4gFl(2s6^9(ZpOOw&b@AXJMy3BK+>KK$MLr~G;d?p zP<-<69wuUG@3>UN&dqthz6l)MsSX1g_)8nu?W_K8xHFAk27a#w%mSen@WX<=^P!?Y z6*!${xfQ!tvzi2TJNyO)sJ#>t0|+=32$z|MT@qx6t;r8_=Z^J zugBy)Zj=zd$k|s`|9Ks7qVX6WemT#5$BU+xyX*k*fF6Dv{K-}kzb~G3UZh!5C zOWbIeyUo*8A?!}K(1i0fSg^A3>vZww;i z@xwp`B+gwq6$gEaQovlGS9{dbxXxIj)xshlrOg3KTR+W0>HWI~D7}-*-r^++Z&VTA z*rr8;YfbLrKMHXU?i)?2dVAe2%Gi)RjAcZJ(F(rMT%9<>kas-U-H_Ru)p^WKe__l& zoa@G1uQ9K3EnKan@#hb9!{vsCJM5G6aP27@?v&@c9q#H+vWB~OmteS$aoKzMIlQP_ zEV%2Rgu+no>@w8v{>csXD29rNW_;Sb)BGd=y7{#edK3A5ZLt2)^^~M|bbyACnb#k` zz!>Mu(HL(moo)9x_eGzH{JWHN{`PPUGYEicq@zDhkJKKtkzVm^wKxixz|a1)n>f zQe#5@pTM<4w9HfxS4D(hh{nElakFkv{qz~xsP4-f0jlo{@TUF;J(t0@_tzC!KhBk7 z0%Vt{Pc}OT$o>&Vpj**6gtL;#O@15CppWo~cf!KX2*2ZmEQI$zsRP3QMT(R6=`2U= zE!LTTRAeIm@B4!At>1MBclU(w(>_cie2cwMfY0OVr@KY?_75`%_ukJBu>B^NHU1q> zgYZ2p2p^o}4#FktGchk08y&vRcaNk4UoJGd;p-~YIsZ>@=-T)Hgw-^byajcZq93H2 zaDOzbhA;-mc!68FN*l1LhC!@&S4oeY$MmNWt6VR~a4?+m0Vv@7$0G02Pd~@Qa2Syn z_FGewBUWFKoW;}9302Pj!ztgkTm7%SAhBhV@U}jT37djL%XAF(3F0Y1BwQ! zyq31KtLbg_6X;ICf9F3_>>-FBN+gOBTpbtWe8)0>R9QKI%ordQ#>^pBWq)ho8~LfV zE1K^O!cBu_LO=OduQzi^br>ZBsodd02bj+&czha7c^}CPYB%HvO@6t+@@~onl9Vv( zvDr7#TBXUpg+OS;v_nw75N7`0sWxMUi zob2m7zWedPM(8~rVK|gw=B90gZhRzFVgaqSmv3=fpG#Y`>A7_JKlE|n)HhNu$TK=+ z5KMKe@)B_%7SROE^TG`o2Vxz+$2=uwieR=t4pVsP{`bU2M5Dbsdjvdm6W6@Qo?=$L zh6m)5_K{PSJv4EWkXfYWiXAJxv&Nr(A)-i6`)LM+oxQ2zpK0In=f0pOKAHNxZz)$| zbg+M3l0K^HFy5BcpSP!8jBsjQaZTm0(ngNKE-g*H6u4r${dD~KQ&xk1A5$_aHxThe z-ysX?aQnJAko^p|$tnfz$2^4Q?q^F%+15kZbF@;MjoP-6ezH28$lHy|x?cJ7U$h7F zxs2_j@qs7aAd7RvNqlf9_ghSbWm=_nfgAIOFJt~;H)0D9l+M;Pr8}mR;q5GJ@!#m! zI8Z!HC@zm~{Z`|dvN9p?!%2GcM?ekd<^v5z=UrnTtR>2PqCASAh#pxoPq=Opc}IH9 zE50!MPAziUGL-7}V8bdzomw>2O=kbic+d~1%mYGt9)|3y6$s_Zx~V0%BKZuHiUGka zO@Y*@Yi~8BF_Gd&|AJy$Wg^b9(1HRPO?*9g>ZaspdWAk}{g(isscW>SDZP=^6~74{ zF5H7H@1S>2eE=^KQ-(Qqb>MDMM3#G1*(ja>6SdqOLOEnWgSCKef69N5n@${e2@ zqzOnAzP`~N>6R$m{|Uz-G%o8tk$-i%@dfF|FIVHgvBotijJ5*yt_uBfiFUy4X|u2v z1E~6o^{#ZwDo$GI<@H*wIHPagVJ}HGs3aU=FIrHk2HIlv=IA04dzww>1jQV2QC)Od z>YzxxaLaF=qCCgIkNDugwba;Aj=1{hesBJ0{>DOJ<00ZJj*lcx$mM7mz^e|8*&6s4 zMc>h5nVDooPmB?&+Eak(nG@orza101pfr##e{u3PeXI$L58U)?W4TxP(D^>e`|L6q^R9lupZx}!NR<+P97?4f_k&S? zZ!eF$$zDzka`^1U%^t&-fygp|YPs=%yQNC7Wbs83$cn;<#rYHM)|hR=ifY!R7f zX+`hl6eFnwZpYRv?H=0KR zOXMgsjjDLanMSHQqo@mwISSI@ zalg1GTu6$X>rV>BIT_F`4zx(+)1j+2NEPkZOhdq|{LNPpEfN=Kr5D3P*M(zWq;ogd zg>zpc4Nrl>leaR7^IEUiU5bU%{47(il{Qjy+!eZ8%1;&GI3j3&)aR7GqkK-Jbg6btzwX};^^6`xRn)@(9NM>VN zlUkx)wmMDZA>WmmRIymnT*h85b~vBWt>-uF&8?$l_h|&)FR}YT9T)8Ow?fS`xGXQY zZd102+QO$)ahP>kr01ksPE@!eFA|%?1?o-cVCv00g=7w0Ia9cu{}cXJbJT;-t{E5? z@3Y6a_{=>D(0GvGL0T?j$uc6JQsT9Yqn6(cD0zq}Umvog%;g_ErrSl_&iJ2Mx-4=h z>G;G~iDf)S=TQsFT6-VnsT%qm-U;U3G)A@xb2qr+}|x0inC$dEe&HXm+_wf zpZC3YBwp}y%bP&{-xlvSV2vdD+%PKIsuKOJtYXF|_6ggHf|%Fkhr*cCjuk8I2@91^ z-Jide)Axxa;;tV5Hmk?~cb{vL&!T~qDN9vLTcB=C-Y=aDt<6w=37?12A@v{caLa_R zAcRh0(H0A0vN8#pa_^q!x=2Y|f{Sd+WEGVspC{2b+tB}y>xZ)xH*@QUd!PNEtskcS z*k3!ah#}9VKlU%+mYGHF%4AaM8v8f)iI-?LZ!_tpY$J*5ln$)+$_Yh{99DXAakz3q zaby4Zgp$gWOB#2JSC>|fFQqEHtP6bVQPt7RV95Ie;0oPX5GnVVA~p__Axogk2j?~hA%TiUh6?TiB8 z_ik9+0Sl2%Sg`r8%fL=)S&jJk>>0w(QVt=j=J@;dHa`R|l|*ILl_)qDt~|a74@qkZ zwLwBt{KR5!@!ak~@^Aq8Q;=d7@vx#b=Qttf8U*J4k-@wH%I<82l0YoxJD&8u+jT6!|@ap6)<@!#Yj3(cd9H z{jnsLy+3m0B{E(MTluhD!Qr2?miPLF0MYvN4s1gbE!Mm^{PaX?_-)v76Mew$1LpyA zb%o8vMfnhWy7tL{4a)Dn^GB<4K!)QW|MX z=)OyebbfYK^XH909c)V`T>j)M}ttaDWmQhlpVGuOi_n9-HdV2NpEP!TyN1kbU9JX!W z5^6iMsC@;`LS(DFHqpJo;QviipRinP#tHoYWHvg4U%J(fsU9W?jQ$4sV~6+i&-zPi zj`ydVF(gHFEzfux{|?oy@0NJe{69BCU*Io|y2QZ0zYndjVeRlVR*eL}>U#N>5``D7 zeg^$HLt3rzJDN6_PFRPjzzm4?O%oM#mVpw%LiUGCec7j>JD>f6x;Dmsh5%>(4g&lP zIoSA$jPtgGxE!qT2q`nz)xSo*m9cPaum4gA?(i^22&sUzLn3AKT^4~Vb4gs ziea(#kQrE;D&*#M+%y8`6)nPehaAtr?>{0^e=RgmSy%$5)^P*_FJV~qGN77EXVYUi zQ4b|SM59cFZW$B0Z&cAJ%pN>Sjr*I?iA_NKW0r_1aK&L~()pf2=bT%auj6KI9jtfi z!U@F`_+|slH4s7h#Wt#e8VxwV)J6jn%%lpc<5Qkt|Enmcim^0SL99a<%kWL!Mg?FP zcX=9$Xd8SmxQB+ST%x780=)s+lAjpy{=;0Pk#Zh*o$ui9wZ{F7RMP@@N_sh#M#&Z^ zW%pGRbG(|QI@8ad{FHrl6jxfjU*71XarzAeu|NNh`}3dd*PRUhkMegAWipHvp7F{b z`=83+C=;5NzX@#F*wY#5Ff}b5hDdb4K*qgG9sD~k&k`18C}{9JsiNgcUm#2^N}S$K z(%HVEd!}uS;uuS@6mOla_w>_P$@I2v7kIlc4C4s-pOR-~c%eHU*Z%M=&cCy>r$30` ze3;-|n4rGS6Mp(ma83*xMI#7*#orp&EB;2Xs+RbhlKg^X7wxfT-E6CHG9sLgAd@8U zkD!t8HPAE8aBPql?v$hm&FiTvj1F4y%lPzHiiXqE zeo_b>+w2m?G`h^3-iY%={+Pc@lDk?#-WT{Bn{zm-J$@;6Ca(fJ4F%rMi9l-`G39*){SJ-Q&RWhXf;YbdYs&J+g*C~q-3!mL@l>=~@mwq3#0Blmtk z$NQwO;c1v59Xz?=W6)QtLk-`}55o`Bb?{S65!2a>UGNI#`WmbS-kt`l@LJ-HKb!L| z0%%+}@srEsC=+rq$C&IoP5Z=-{4s&DVqJPsonoXh3PGjQn0zchx%P>x(o(vY^cTsG zjDj_>ZJNk?@Ihauh!$<~i_OX~&qwlMq5|Cs7p`U1pLiSiO-TCnC*tmyk8)e)(sS4r zw~P!P($Onss$X2fNhREzBA~f}lL9`eZKs|)XQkBh_leTkH0)1EkddUFpsWb^gR!FZ z=aW5n$f;T{{Jc9-WnaDt* z+R!Qa@0}%BrhTOnaQ4wc;Pzpx5;U}H>6Ye2@^d#nesfZe_x`&kd>Y3KBZ_Zn70^p* z7ura@RPTZ|i+CEwG*q4-EjWMscv3=fV#xNdWoSBCC+h09;PSC$iu*|$jtC9@qkv!2 zQ(%;r?AE{XJs)=Fk;k-#Ug{mdkY!UQM*jKa3v-@SWfiAl?wW+})0x%k$=mohzk}5M z-O#Y;*RPNG3MAyyuM>?y3gZ){o2~T+Ec;49i!J=l%D$*N;JszYP9n$4yR*U;D(jgrPTuW39&V*PK8PSJsXlvwB? zzdu=Y3M$AAuQc_g_USzK)zM4KS&O%GsU|k6JUa67nf9<)$xk~=@Mk< zGc~a@`C45S9eKJvwkMCFKkd1rcrNTeR~@_5on#c|qS>9eZ3mve_!*A2Ue{1m6F(V> zH)9$O_svh%og?o1i)?3ZH1@Wm#!@}U4qsD)?XxTXZSNDz(9|B)iBSlE!e8Co%4~jO z{x{oNew{-q@riIk@-8uJvycDSMWvXN{PAuyt;7*YiTwEwx^>t@>iZn@QG4q9zG@hi zUV-%irH=lln|9EQQ^?YVOsg3J>;^W4RfU;0+oyjvL=}{c@Ui;%-VH;YQ+*=)3mTuo z|ASsJb>V_VRLk_kM&bAwWnSS*r(u_zP)3V6X^r&*r?Chnv;qBrdBUa4D z&D?i!#^3Ob6~qyK*iZ>pwOo>aF4TM`Ee9u63*`Dtn=FLHGGPs@D&3`=%#t{q&(qwl zLS0(+XdNdf{uFP)^8^2>jsXUgz~U2ePBNrO7U2%xAM)0L9+@Y+}~rf{wO49?I__=Sx4 z9iW?ouS`VTYOm%0>`$N|sT@Y?LkcVMXojD&p$jW@41L`5q87e8(+7cUg%)%y`o8ug zKK|=UH`8Fs>igT{?t-%wnHn<@E1dqi?n~_Rx1P=FW1!cIm&`t=8}xUrTXT%66@9P8 z>3X~a@t@9E9z>KraIeK~J4_{>qfQptu7c&%4`~D&3is7EE&o zK0fx<#w8NR*7u$L+aI27{_V|tWcjzR7Qxy&**pHOZ2$JOLw)-J)hYjY;luX+$VcpB zY7yJVi>)2+#7q-C)kK@?|Lgp_kJrP9QOgfpb?5)gzc6iBNBBmD-1u_%Ai84C`v*iS zZg4+RH#&Px|IF5kPlQXt2ts#^N_HGX_Kh!}kEIFUz7g4Egk{>MT50=^C5M>Wvdn7Z zW&1F9H;iB;L^JP z&SzlLJaIUq1~bkdP~M%sFb~P4KXIypCM;_bF-p+uShmhJmE<&>PAHV~1Ap~7QuzC= zX(=35EYcjgC)avs5EqvyS~AM%WVMqvU9w%;AN*yf=$tmthSXlHhM@L?m2;)cTG$W4hG(sHfuSVIBzv3?K zs!PwhOFJ9wsaG1f^fxZGbebEn5u?UyF7%aqAKcbusybV;<2%xj~Ij6p)f);DNi#Sdf8fvVC42D79bGAS7LQ`+m zJWvaX5zjY(F^V8CJGetR2o}Es@LQuapBkR|{+P+o#E2iCL#fuiP#}x|n^`&As!|uc zBC(C1W!B~_Q9XQ_@cdI2oFKy_n7&o%TN5FRRX@8BdiLWW2v=F5MLtSf?9-)G@o42h z_vp>K%%gYk>16K%{_4SZR3-)vIYzd$%UIK+OL>$j^F?-jAhNw5g-v2>4z)i7m>}3cM;bg||85tWfhXJbXobx(g}WQD%YQ@jo5>7o)l|GEg%|Llf0do&EqeB?MEw zh`dlG%0$q?vUGT;3^UZ*0%A$4Kh{!o(B%^t-ctF(*;Fv&2hL-E4XActCk8&O7m%I^ zBiaqe4~xW)E1V?WxeJn%seYu6&S?VJXeZ{@40z zTvpR(r<+cUSZLqrfyNG}u}FNkNPI#;B=%xWY*q3Q96;Q-frnHsd`5%=gCp_&k;LEv zJzKe<@hlml$RB;ENF577DT-&g0enGWm!HO-67NMhitA2PJWh{CL{E7b$HITw#i?$@JuR-vK=#i6aIE=Vz)o4DOI-p3(Rsm8;pf7YzLv^*)r|i2-uXlV&C{ z@JH&>u$dU~OZ)DI+{SlW{@6YS9;Qy?oUnO52zad~wmJD-dR80ELYk1IzPJSU>*ztv zkf}63CBW`-vAHJ_W&c0ci5hh+F|hFiBY}oKe1B9hKn_9J-rjO~A68K(?bj1$WhmBU zv3Jo;UC7oXaB>1E(w%5mKTUrh>(g!#V8w5+sN|UGTQEpoco=Qf(BJ!=C zpFI)WPAc{;I6I)<2Esz_!4kO`l+0BUBy*j}`;*GNBY60$^2?3_bO~FVuA(mfPhlq5 zm9)3)wh%aKUhQXeDZW4HAp)q{lvHG!k~Z0=!zH58m%dB3`EFkL|tpcs977ulBQ^*kVuoD|27Hf6e{g z4!*1>K2QrSsdqa8)ahq7e$({*`DK1apXmFt`#T`I6Md)Q|9=FZ$)|$^WjOj?dVe6< zv?gSg^%1Ww#%PL~2jFMdBZr8IUF7c&TyI!h(`n4vKdt@X{O5H0oFj=msN#R7ac9W% zp$8Kesb@3YthR1eWVai9xAp`7NxJ>xe2r|&chew&@n_?(t}>F{`}J?LWt5GbJ>wc> zixKjD*8kl>pV^<^bbP~tuKu^jhY29#w%hSN{G0!G<16XVsTT>l`rjTOs_ZMr_sXyT z-;IwdLs>}mE(*H(CgThAe{sOgKg&|if&E&grByh{Ks6_nSt1>h*3EX#tO{A*Zo;#X z(XT$=YSoCYF2jDCVP@n-rDaCR3yhNIWGL9^_q#s-r{Npz>;?l(Np9lQQ_8;r9B*P* z5K^~`edzzc;-7sx%b$IlIe&n{joFz0_?P}bQ!9)$U3|>i|4;Iv`}Q|=Z2y}7ar>e9 z35;TY3}yZthvwbPMd6W&#r@EX**);YXI;7>_)RaibQ9Wk>4yKl0|VMS#SFB*SVHGq zj}eQVTcP9}KY#*_*dmR2>6Co9Qt|a}S6dHW*M&-wqkPJ!5Dr80R9{)tkqq-CO&~@e zV>{2!Wu4_K>o3;#WZ-FuT-Cky=p=PBRP1~kyLSb#vv1?)KE%b$z4NddeTC-zG=NsWW~)zNX6*{(pg=j^KG01yFnw`S*W?pN<0f ztMRku>i=Kx(-Ax`5aTjF)g8Y>(%doHjiC7O=Z(~5%WvS8chafyloPbG_r%SjNPITL;ia+&ZK@TIR_*^YyB@zZ2_*7r1&u$9oe5Ja~jLMw?5YT_I<>e z*0*~Qfp_cMPajUNZbx#GOD~MTWp=d0o=tS1!qg0+Hm&-V{;0Pv8Aeq1$9{ z9^@_I1gVFpe92r_qC~4`l^*lo=bV^vg0xI+LX{x)kN=kEPSJDz?^rsixGqT9SBVFjFVV;th7XM{07P`_sF|;)mV=nZ zKQPbnIj7+{ZknNx=Ard?nWI)Bg7-m1;A(S@i~Fzao;{M6b?>qDB(0d2}3 z8DT?f@!pxvX2y8og||JE!+i8-JZJNjN&Cz7oE&k-X(Ce%IZ^ohgS_3I*T%?jgt)(t zjshI-yn7i?Y`q;R>z&3A*nn|+2Pgc2n*TC+RA-IQK|TBz@y`hs@+n|Ry^3S%ziEAx zEdTql0h4#~zmq@WF(8*GvXpND%ab&n7DG(4yOU zPvghfaLvi(UeYqW6~=CQpw&+uRDN-5nl}anX^QuNir&b-NKwc+i_Le9Uygv0 zccgM1Aodc=>{PxB3^h)wtv(z-wz;>$tZiE%vaLNs(SI_`c%KEKTUTE~T#Lj#<67nG zk&_`T3fww{I463!Gg(-tuBYt8RU)GJ$QFIbQi0)j4M(3Vf~6v)lU8oM{Jco~_<~W* zxZYNW+qTo$_MVsgXly*MWo+oyrI)M~W?^{SVes{xE@G>QXtzxEH{yZbjECo9rvo;=Ka_>631V@+3W&~UlV;c(;$=Q&ZLzK z+~u@KecJ%%rqR6A0v~><=%SYYO1@7|>#leK8EMNJdb3lmVQ^|Z=RX-FA+I3-gG^C* z-=U#RGjWB3hHsPpUb*6md~cNk5>5{#@{gNn3i!Pm(f1`5;4OET&Wv#BEiO4yabO?b z0qo=t1FhunKLDZY!&s%~5obkkKk+wF->%wtT9VwvEJjCOf0HqZ_sk!Cym739HmtxP z77eqoW^FNBzKUuReTW#<7DOtSUvi{1Yb!0Qw!qN=D^U%9pTsEG{`B&ePc7dMTk7d* z&7w=P7mkU4Vq;0J5`-o*cYGqRhxfK69V;Y@n5zxPPG>QyAVKVOX7`KV1ETCSo@O)3 zUO;N!m0}UU0tC+h-qW#>$S{-B7@R5w!}%Vk8%~SIgTPy-c0gdp@!=)sWmAA?jCsQ2 zk-WEK=+juu;dce7OXC;R3acT9Uqh|VzKM=JR&Z1BdkRr@Bgr&sMFt9%wm%JCA^p{t zoVw5gkYHQ2C1Y!!Vg}KMBQ83VBRLj)h~#1PAV$>w?(fuYkyjM7n;~^O{b&^-X{Dx4 zBo(u0^un`yPz8hZTw#UyZX$pEX@-{EaiC?<#Q|CXplCAwpJpE$mfV``6A+d!Xx#V} zNA|}b7HM@JziKBkeuIuF8=L@29n)WWm-wWkL2M(m$D-shy~7eAlu3dl zH+DlcKJwD?@f+~x_8S}#DZbs2i2f)1Irt36pCjJ?X8bwUQl7tpKhF?|8UDQV5C1KH zo;1O5+H?Xq?fLTnrzYTxKfM#@c45urV_%D3sVZZw%H=Z^!?D_bOEVe~{aBFsm6?~| zo1^bPW%#>9;8dtdpTBDhu9!mU8rAQDDQoGCjjNUGrvE4$uLut%QnV^v!f#zTG2jRy z`qiP6mXa9Ju%BqA+!sA~=%{ajStjyD?n&(AiZ%nfD}nCfgI64Gxtq`Pf$<$(tgEVx zvD&*B_IFg6!I)c{?K!6l+DxLMACrSRF?29+|I>|MX0gxTZv1Hn8OC&IkrgY@&@0zn z{?o4>HbY_Lts43M8g!M0k5Z>DjSYUwpByg;>JJRjsK3EA2DhqngoCQ zk3oSmI0Eq6!<3vbaj~EhDnI7-7CPu4@ zMSF~zy><2_d-;PN6Ki!z$i%dLU?7VUW7HMtBAxgoI3D)OCReGeB%FI@k%HizppO^+ zdAM*k@-KX3k7Jd0?acvqcm=_LMF0QA`n`kyy@<5WqMR#grLK4%Ywz;!g31S;#mn^J z%MRDaI9&hxj4WJV`=d0jrEz?GXTg}ruU8v)`)&C1HMHH)tIgL*S#2;gM&CzW?$3@L zV3?U0|C^hiKWEQRFxA+pLr7xXmaB9|<}7zDIjhlaJsM9oF_yd5`QJ8OUe5SlS`2I< zA2y$t=1&WF>7gkM&gUhg8`e0n^;yK6$iG$%y!ets&;brX)5Zr4GKBud_*lzEs;MX zVmj^c(de{8reMb_t9zTbn6#D7!rJ@!jIP7{FXZ#Iqm2IcMtT=tQ2__$h#n56HWyjOR#wyjf2q@_%>qIn-xeBVTW> z2BGpJ?ii2MK-0h84hsmoYnCp{R9nPL8MrT8<69#1kt+07+OvFjd9}V2{Oux$cg|wL z%z=QLY}XLZufz{}h`%dWTz*a{`b1BG_0MqIn|Wkv_AjW8Zq02Zm+b`X(zek2Uvj&; zZFAm<@i9H@UPJ5f&r?re3Y6P?vl{xyySPwoNba7L-J=jt8*FgFoz6Bj>f64r>JF^W zycm|J)%32-+P={btWHXyzwc>TYNQ$ zXkZ^?vt{agZxd!V>(NyY2*=|&#SB49Qwl;IMJMNvklV~XuDx{X3@6^P;lvpQkM=Nh zu#W+*d2V>?C*ixpvHR76IHW!tySB)_3$(<^J5}XyHm_6tI+jNTIz1A7n#;OR)4In_ zhj45s>xR&xD_KkkYgQkTnuy`}fIY(V+L6M#k!Z@Lc57&UlRd>=w$MYnhuhxGizM<+ z(XwI6iSa({LmY4n7S1sREfg~d&HI=RB6t@UT1PWWC*mtRA!p&Kr6&w;l`roESM{&_ z01{vE^Etf!!j0i?1sX~_3B8Zm04qPb1jXj+Zi;Q{!m+IYAFM|fg;|fh`?}U=enT;9 zC^~Xfi>9Ez_hX{jhWfublxul0*P6ETC4}=9!KnpIIOcc%Vz}*{Ji0rA6!fiEsi7io zh-)Yk&pVU%?)Vcy;v5LFl6sIWC_@dwRx3%TiB;SWpC$f(@JpWM{a7f zr@jcqzbl0dbBG1)m?Lu@_api3bHQyh|0+mvk4K9>C{~P;sia}dB zjj6KVm2xsqMIW44#Z=%Gc z$aqsLx7zbPO`22xw#*G-beUOK2z8US{us2m)273R-8&E%Qsrhz6VK#8jOfVy z4UUjE-r7A17qkO|jE^d8ZaaY6{<5oHtKDam&f&g3!dI?FxcV2qQUtx4BIrX*f0D<3 z#Q^56v_DlYhYcEA@pi*Mxtr?ApT?n+$*03$l6HmCT|9T zkJLPQCMSy1t7_(L3e9_m$qeGJ+jAQU+0>S$P6uD#xf6VO%Nzw%F)tWoC5~^}@h^@1 zg^*p~9p55k?77#U&l{6*SqYVizlWW{bQUA3 zcR!Az_5EsDhll3x?Jh&Tm#K+HymS|^0cwvH?*^K(A2qQ9YU0D5u8IAmpe9y|6K))Z z@W}TkrbM>4$$XLB9SA^aGY*)j~H`QsbyMrftCN^rL15qJHe~w^AVsRP3lxL}E)M z_5o47Q1g#9)$u7sk;)G)KbY~W{sD`;ryF;xj(rx1J;%se`zs@rTSN1A*Kf+TV@-v>SWh(i z*y!fmli~xmM-oSKKKFCUQ_zew$k{3=rYl9im8&n`g`u=0qx>?7pfE~RghL;YQ+~iK zY$4?_c=Gr2F;31TvI-7?ViBWj;orR+DI=vMDxh4128-L!Lk@ZADX3x;Y6!;1#H687 z6t`o3YOM|lWmXyv7l@JEbpSW@$cQK~IAkTlAuG8XxQ#$t8i{SIjx9-Eferwhk=SP3 z`5gW^hUJwn;8%HngnhwA1VeKpq~4j5bT~(ePk$G6p&u|!wB`+qSnGW3GO*{iD7J%W zqmw!BnLZ|$VTy2%xlm_wkl*KKDmWapSU6eau3=5<8BQ_Ct4>Vpfik~haA>|xb5zMF zTM+iy3;x=x01IM)wNj7$^+0LZzRyJeXZC0pN^6n3Kx>8IbId+fk=&}Vjy{;P!%XLY zg%f%M#i`dPGw^hMmerOzsCQXg_U0Y4Kiqql@5`X~sZtFyqPI<95L8^7+Elf$p}4mF zxzrksuuAa6!w?09C-bAPx%z=;z2r28?oziUTpc^Pg8wLsmZ+08j}nT;PT?ley9ub} zQRPC8Ar9mSaU?w0Cbf!c@G&la^xos*4SVzC((0kD1Wu%x5Bps1ahb-^)*dnl^uDBy z1Ix7o8OZHBc-kR~6KZ9Un3y{*zR&I_#!uayIOB%tzfJX_L6+;9KMKwu>K`R-#(RK2 zXqtWY8vWdu;@VuW6RBJ~^Zk}&SnC&OC$#WPXG-#R{HP24B$s589h`hw4wL!vh1s-7 znshLHRtGy#0HLbD1w)Y=#6peP?78e%=zSwytYz8SOss`KsA5)_i!@~I5>pW;mt|t1 z8!U17RG0EWr;2PU@YdUcEog;G9zOovElH}<*r$&@a5 zFw;D_9RzljyTO(JMf_ZSw8PJxYrYwN9yOl&3jC~?-2p%E&(|ow8GgL=7j{8SGS6SD zX#CTH{qxL;Wk_ZAuFH`Py_88g;sn~}EgIm~;w8@I<;uF^>?fngmQUr~FQ2?qyTah6 zXGS-RreJdTbn|mVhJLXGZE5INOkiD@U%V5a#bHl5%d%XBoAg8?Kj$c}AGJ!p3`OXd zj4GfRM2J#2V;4hwKbs{95%PXb#N7M_{amg9*;~p`N(}z}gy}p#ljCPqC*F~5oO7?n z6%23n+WLWt=;E#mM(@JOT@kL+NwdZke3k#vbHe?Ao@wFk)_PB*>n63TcSPXL_UV_} zK=|LG---N(|3vAwLpf*`6QJ<~s{=G!caTo@guklP?|c0g%yQ)X!za(Cfg4NpxL5v5 zp->LK`KK^$=Dl77!6MK`L9|4i@4FDpMO zKJ3GqdG9xJ8s*P(Q`hol3uWnef3C~QW1^~K%c_TNtI=w5Lp8^vRS(%VF0oHv{Ba2J zF|j3H962tdXg66p*FDYGRK7d>@OW7TwbkvcofY*OI0#Q>mm|(GAEkk zD-&Xp|CX?ZzN(C9Outp`3@uQ-2a#wXZf=1AXUZdoi!ob_SAKTZh-g$gRVjk9(@uz%tSHY(( z8hC+_SR|B!JB%ggo!N3;7q&AQKX#v)wvsL z$OLa+UK4vMxg4sjb_d%L4rmWG@2*8M;Fn=#6|vYVPy%X`w?P|?5Q1Emc1ZL=Ah@Co z*#F_m<)OI+>bY`hXu)<`5HUL%2oG5z>$^#`EP!dU5{Gtc!+=PF<(%2SHN>An$$QkZ zI#c&N?_9`%BlyI`KK&x`+e&BCMor~mU7@%KFw%e6uWDL znhhTJs| zoyYzZ_rH4V;lw`av6Crz$-x?MxfH@gH~z$k@rNUPAa`P<%_xi84S z2NI1S0=h&rO8+DW{pa{VX#P_8&tD%*QNvK~1LpAz$DZ&V&z<(wP+$7@lT=^&@vEKL zag@o$iK2FgXY;iOZ)tr%-0&e;8)!}M*+qe=F^H@^by?;n7+D9$_?^<0W=I~7*3^-b zgUE)yHSucPcdQ_4a#!oKYJ6fqzs~O%IVgJ&l$4ox+ysT2gr*7kmWHmWiLLd0&ecQK z)Wpw4JZ`Uv4`t>g94cyJ@3KEssRz|d+OXc*tE1bHl3Te@Lyv)f3&~rkrYqNk7Hs35 zsJYzaFyT`?6@gN(9iA0Y2T)Jy{Oa6KBa#X}ZfK#V^3~8H*~`h}0U2@I9$Iv_K<0Y1jW1B(;rrLb=Q#dv z_z3=A5{fFrnTwA9^R`x3Zkc&2{-KuC?=W$v!13-cYTgF07N4I}>ox{=(`+p7E@h|0 zmSb*-{=7l_1f$jME3;sn*FLipfG#;!z{tHlW@OH&iY*Q6to}vTgNaCKZnBx7;z^Ng zPmnEQT(ZHNoB29jIV3Q~A@tRmF|zD~Rg=1~NS1x@akut?TYqRbl+Pc~sf;6}QI(l= z(*MKTF+)j#;+WG(idQ|9CvSZpBH%e=E7}^~BFU_AxJaTz$CvKM+F@*OEu$=yrmHf) z_Ose##A(g;qIsIgL#@6t?cgyB^Y%#nUi&`!4{xNJ4|N)UeI_8~yJNuzLc{0%MEbF5p3Aj>VM@Bv@CJB=#iq8|KnQt>jI z09#pz*{@U?cebm5*a3S$Ui%b{tytUe4^2S@7;U&Hw4jkE#>gJW`B996I6M@uUcjr7 zAuGeVUzpO{;Tzsn0k1v_Eo5}M8bsj2xDGahiEe3_O3#|i@|wh?+-m3M3N83Zd?ugx z2EI6WVR<-xYH@Yqu^dSmGumWBM~1wD$wd23by<)<5?kp6f#5OyyGd1PBmxrCS-1MO zMr^x5WzcZkWdKS5Wpbr-k9jNozm?k>MoeYd0)Gn;OVe3IOTxK34H3Q>@8f}_d%fO* z2P??$tkcqet9KU(IAbIVHW>fkz)!wEmIJ=MzDmwfzQJlQ%Gb^$n#HT7XLKRfEMA?Q zc5pfRoY9p&12qI);y;hKSQAt=1+-3s~C2Pn6DP21mI$u18*m5;EweVX8#mgMknbVUkAr;v`JhU_YLyz27;uW@VLcbfd1zlA4&B2V6tWtZ z=+ncFmPwup)z~uP9rP6D6@UVn(VjK$24rt5 zzR;R-M&AyfKydL^{xfu?@}MB^K6{^(7*Ks;e4llAHrEvpRBV`8trfsc+=q{9hPKsU zeGgr#Q>SZ&Y_862t*KmI6N)UaseGmZc0OBM;gNsRv{mFi*s^e$_ZLhXF%6IjWCtG4 z`Y3QPY6%|J!n^9EMBb3(xni2irI+k?{K7t*Al;g*6+Toz8UFAF<(Qm=IF(&d!^TQ| z<~IcapQE_KfbtHbttxVFTFHTGEkIM})+DMp#q>E6H%5hiNzU`wrDJwkNo~DZt46WJ ziM?X$7pwm%To!0dMZ$Ekcj2jBi1+L2Uxns-%($;#>U{Yc$kib5pGD8ihjx7(46s#`3UNE)@i~5Fft?d?lgnzF>4yPo5yc$&!lD5BoFh8w4iFzCoaO#=fyH$_c?)_Kj+6D~A!`O?0L# z{ML*}?K=d(@Tq;uy?i}{%&WMp8`)&ZybWoY7p%?tbn>rnU^;BsVM}G5h!INSc!c~5 zO4(4Ix7cxfH5ba~;UdcW2{Zt3d8n4?g&V)T+?nCAjS^^hbAv|0_elIR;dn(j-X?94 zk77PrMt(MU8dp!M$g8ub`5uX17;T*;9nuAK*>;k(8Qz$0*JQ$1j-xuz9!`46aTctO+sH

bud3UuihXb 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%0DIWM{ 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�dWo+k2u$ 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μ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

i!&49(4YZ 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

6Oj3x1S7#>3>HHKD^ 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

IE0&6( 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�)xyVAg#*zjpJRTUMncxuw$!Sf3Qc>q71` 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

e;j^2|>XAkS&|CZ~+-kzZA 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�pvZZIvYQWinb@8#9R(PRA%%mUs;Sq2E$9W$B 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 z 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 NpKP9By`b2LVgKL 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 z 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%0A&3 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 z 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%0A){`Z`c!Gk zjVkAv^V@ldpzcQ=h4HE2toXY`)GY|zXTymxD>327tL)PB1vT?0T9dMb zLnXW_877;rsHhUGE^LhZCJ9ESF{aOOAEX+NGNz1jFb5rKiJqkMTBSQ06%oJX%9Fa}vc5<^m&Z<_;hk zn0sDUnO#j-5OcG%@-{2xF4xTM(9B6NnB!G&&z;g8_b2l=5;}GlnnQy zldWNztz2QN{8C$GObE6X%M$k-SqBJb>jBNy6s5AOgsr7&_Rh=`>5_c;B)7IUXtuCI zX+vx>Q*S7ZjV(u(EXYh3Yma>-tld}v)}}8|8p{;c)(^8a#)M$)8(9XQlg!s} z);4I3YB~o^5|(-ah{}yXU%X5;UFIsKtZ6(W`yw>n5ELXj~$laqi#v+1k!} zp?c%*hr`dlW z&;C0aet1N|c_fj;EcDHRS9I0gn>nD2t2sK#rq2sTFB}D++YkFB;~3_WW6eHSb!$;f zjEp>x5hG&=fIdGXBh1GkKu+ZVEE?EuFy7J{{G-hN9wT4jMcVZy2f1Gcf|=3wo?!gf zL-)4HR=oJP)Or6`{pc6treo3Xxmu9_&-IJ4tVX}{Qvd&=Ukpi)MZa6lId1qh=il4- z?WgdI3Y7*^K@g*^L{+lYOS2a1!mylwpQ7wTHU6(+AI$!>cvRUW^t#R%**eDRjQ#zn zkV$^tMS-aUe2cX{IQxYo9K=_x*Cs~NXKMSBgi92ExwtSUX3{B$eG)wBKgXL@bm)J~ z=_Jd$MMlr?P2?dQt7ZIrI0wUH$@^B5xBDUj$v@RtQRF{c^2ef^rx;II|3~JELCMp4 zf%#cokXO|j@aRgJD=9JW&}k5!Am)^-%z$4d&1X`_bjlO+sP3Qecc-QT>j!H(4NH|7 zReh<3E7&f<#?t!^h3S*;V0|6FTGt)~=g>BFI!78w;(r<}jqq>pU$9;pquNp!bGg#!b8>tnF^gQhz(R+?>?Oqd(lnzQ~bw&huvfd)PR1am+6ylyCoM}vvF-h_TA z{+f;e{+_}HdSo4pzoE!29Dn_6`~~7BW}<9M4mOx{nug$260j=C`gy;G;mi*W440$j z2R<(`5d7gRoxQzLTlh2k3*+Gh*xKZeX;{x67m*n9eh7Ih6sjz{FiXMrJY-pgjf7GD z+4u~^t&q&XIaJzdfxN6?ZTxhkfvL)S<4_k&YlBbk^yv^Y6r+IzpU^neVA9o5V0wxX zZ`rHADBO{8LYxIr)OJ|Z&E_nCm64{pBWji^grk=Znjahr}r;A`2GIcNcbK3 zIq-WKcI~_H%aW(LtO>uny4D@P&t4AveuWM6VfZaWZq?)W)eOOJLmR)3Nx-U1tH4S@yj}AEgxd=d$!3wI(~z4Edq z6Zma^xs6}RyBYH~1$r#_ohdX9HH?biYa{|xx9`_*{7!9NOZ<{);`h?Q(eV5F8TEzV z?$<=Z?;|^b-`Uvv5B$P6sZRE{BY3N;{artd?LX*+;rD~nYr^lZ7YYg*+4$Wl0ju(? zTYu5`jeXa~FP73{tOGuS-&;)f(eeAB$)EVW+vJ^qytVz6EEh6M!EZ-oSv&iiZgM7m zljUVi9`JkRWj1~#?=0qBANbvnPE{Rh6cxWuNCc?vf}g|jTM=7J{E}(n_klst@Vh^` zzVLhV)sgVKeLL{Gg}yKAV_MV^zoWogUGe+uP~i7E&=gfsPXGtZ{wG}AuDa5!SBnb)!2X7+Dqq8{JteG$oq2St??^aem%h8cNDU$9e(dH zITOEQW|-P1W#Y95nR4zIegb*tipZ`C*8g?HTUr%{V6XVM^=?#~5u0e4Mz{qzkJt&m?UcwMu1v442OKhf`~HeZ z_#L^0{aO$WC)XXn*JrW+i;eSP_$@Od)uvNmTq^!w5=szgbc6dlz?7);Qy^oNN=n*>IPM zjNeyIst5db9}x+^k9^4fFE-V?@GHHVTHv=M*s5#)VbCDj^E7-ZvDG9Spyj~Txk&ZepkHI0hjCm2Dg?)-0};CJQ! z@S$e>l5OI5R-b72{iS_9;P>WBBjI=Z`|ST>Lp<<{&4+awzl{Q0b;a))ne6|9UKoDk zkX!Zk_q^^bl!LK0emgM06NCPawRo?_@4z=5{BkDH>e<`i_l3mj`wv^Y>HLY`xA>y+ z9*(>JFHhv}Z>CF6?@f#}y55-2s@0VO0 zRN@uviGtt5oWHIazhs;EeLp=Ke$Q=p)c74?`bO4Emqfzv{jhIOVGNjyeXu!CH!@=`@h1^hA!P=tddny1?W@BDNXBDlSNgKptWn??}7GA89SZh9`!+@qqm?2=exKpZD$9<9k4IVoAHUqh0&-)5 zL!=N)lp+5r_xcWn!?Zfim<;4%oy&*ClFeA(kR!;bJJR<~zu(c1VC461p%^K6y*=#H zW{nY_f4$k?;kS2=m!j(U0yjf1akr!ta*tVm2*afU5RV&B;Si%d!r@?OyzUSh5UX<_S@jV~kiz0l-L4)N}M69_p zFIKX^vhNHRdr6kL8afU((kBK zdKAl)-AI9A2{V`EkKe6ozGF#u=1-&;p@^BD-w#Cj9@)M;lu{JZ2DP~g_GQ@nt~SV5 zhBmP5o}XL?Se$_>pe;;` zr;!+iFZeAmoW-E(3!UOFhCgv_N}e0@afR-_chn>=lXbU+Sic&Yf1;$hc&MS z+lOCI(3#eQeefC?X&(-qEcSsy5iHt1tQ`dL#6IlgQ;2=|hGAu%*WU`Y4>zA}_hP5M zVcQ2$&?|5a(F!`l$WrJ2$4h+){80PwdQ;ekR@aGrAgvnh!!ym?_My7^AG!TW=p2f# z^CzJF`S2Z$uZaEIt?+r$taa|0=0<(dFVD~q z=_8Uq(jQ+JALw*Q$>zQ)@U%!^w^3{ZIEGLJRBi_tXge?x<~THAlC zHSPaP!T5X7_1>% z`0Mas$g7tw{t`z){R*m=@2nK3z|EueNP-VoYFA6^S zo#`<)IjZ@M$o8{m`%rur^lu0Mgf~O%r+bb!5VyRI6nj&_^V570`*}wO3RC0xKrHaP zhye=ET=uc%cD73{F2F0 z)W}lj{!7^fk?{M-e}Ug$t`Pi^R*m?b{>Srmz;8|c7veW93VtKo*Vo#H;_o-&Z^9dn zeZ|zyW{j^~vpdD7+4lA9RxbM*D|l>;Ace=u3sE>4kC|}Sv=ZUNtnr9Kjp6#nU5Z;kI@N}BlJUuXPVxS!G*{Zt74 zO+NL3|K@`K6BPdWQd~hv-1t8qGAaD?DHQ(<1O8tK#edua+)AVIj{_>96>K+KE?T(^ zt|JEj`;Hp_XGg^UZ^Zv4f`8Jg8UJ7)82`tDZ{jyI%J|>l_h|9W^z6UL{08S=BFwL_ z{^eCOe?k6aej`HtG5qD%z<;#)4W>u?HFFBp9$^Z^e4kmvcUeC$>0L51J=fpn>hz%| z#(bY&!}mose3ylX2vbld|K&BLUsc2R4b^<-`od;@56s;mKQnjprw;22q5cgCEyC>I zT(KT4V}P=MXhdQE;L4(E zI_=*tb+&(t8qogzJ;eT*eCosgH4*#QT-iUq6jx9Z7Pg*$8gmY0QudEeq4tkquz$~l z+Q08dIqm;bw*3>WTn5(_WB-0WYWvrfzzAJm82KaZUzXTE(yH11fdR+<(LRX%tHwS^ z`(DlW<7xlcKZb8aZl2h&;A#=2{cjeE|Br9w`p1jm?f+(1`@cbauw({oR%5&UZ=vvy z0FD3dD143oJRE&y6)`~JAB`yR5AP8N|3B6l|1){a+33eY@Ne>|5BxV0{I^i}=Sy(~ zC2`}w8)Q=W=Tj*D83z169g6?%H#+MdPuTbutz6d9XvJFp!%^e^^oaQXj`$xa_$RHJ z@ec+Z{MR%;!1_@g{+V9zA7y=n>5rxTXL@P>tEqo^ks4pjBC$xBzPk3G{7d^Eg@1mR z_CLyZwqH|3?RED*QuQ}=2 zvAWVOibo|~!vIxj<5+25g-?h!&ne$&cpl~Y_#zyMW*Lp{>pIzg7X{6R z&x%%1QzJ{A=U2))N2(VOA{rTjntC~*8gPZX#PN05SA*E6784Yi-(u5aZsKtTrTEDS5OiczWSdInFL=~@hJpf;}{12 z&%cM_>-*XE{BlG4;;`kSm2=^hqVe^tb+qk6_oPVp>h%rqH9J%AMOroD>vS;Sv=6kO z$FqM#{Q9E!Z$-v$&zLa$p2_tOIf%~2Z^-;}15{w$zkm6#3%_2$?}G?Z_`M++g{SeG zh6~NCxeQSFMJFM~nhEa|yMJ@|n>ypy_dD=g@<1?tUp4vE1Aad|B>43Te&66raRnuD z;dk0;kV)|S7@tD$`wYX%Jhwjc){O=d?~J=Brg0lrjUZa4txs1-{}m)`o|-o_kyefP`{t|Ti@%|7Hc_?^Tme zJ>c)d-vxgymHp#OaRnuD;cwc>kV)A;K84`#8HU0BJrs(+vj5olyBPORK`XR>qLtg= z(_-x3?xV%u&54olcl#H#e`$h0(y9@E^B|WgZ+07 z{3NhxE%jj!UzGo2dw@aLhg{eX%VL1459sv4{}J9Iy5xs`W@wy z{PQNi?VwDJ zpZV>9mqiRv_(7))?LXW}wC3W#xOj0@R)e2KmB7!_(}MA{^;4a)9`N(y_gWC~|Kdw= z1vz)&XF*%YAozKMPa*hO$1u$Ql!fA_?7yuIey;P|_z^A4hEI#uLQ^A4-RFNeOBIHn zN45b!zoZI&NUKKtOy6;A`1$>(Q2dM&yccS(L!Ov*E2!7HNpiGS)3;k!T ze<48O2h9cMf8e^JHTS{xTHt4c1^kSj8jPO@P0D(}&*CaA2=Vh6Uy3WpxeGsI+CT=u z&z*bwe(pm9qsu zvj46Q=gam6FV&onL6xw7n8NlmO8=1GWqv5icly6n?_U_&K3@JqC_dXvAMFUj(0zwnAZPe5RfRJZ@ls!e?9Jb2(f~bjfu8q!#$Jz6L(m+!Kt? zUq7xt`{p%*5TA!E!6!L);d5A|C$+!&+psW_?$Y;#;0iE75Ic` zEu3Lwsil2$@c9zG$ind1ZU*q#s#_2~!}p;RxxvRBVE);fxAnNw{m23W{z2NaY1Svc=YmUOvc#KV={bPW_BRcUhR?1JNB(Od>?*oI#TJN9Q@Hy~# zT2U}Qhnsxr!9Gs-w^X$DGJkUwUy3Uzi3^{}CqO2_=Y@O>W8D)Nv zDkZ)#KU3}g*t}}KGk?t8ief)92*5Ln37ydga z{3A%?KNf|r@t<=l@y`H-e+)u^|L;vn6aVkl8UMbW#D8H3{!Kphf&VWA{~Z+m`BGd# zN!<8v3YirC`4ozOh5`R~hvC1%!T%jL{zWUT;FV(VzwxN?k8WoK{7)wSPZj*j_`5Fn z-*C+MuW5dh<13lpj55CBcbVU;=DXCN2;YhSNqx2Lk1r1-JiYt&n9?nUtx-I4@d%%o zmVYG0SWEAJ5uo*SdUGOXCpw)hKXIqrf^!D$-*C=1`#?Ml(SG5IQ;Fk$ zTwQq@h-&hj@xQ8vJbEdLP5 z?b){+QEAc3*H}B(0`GGT-a~)0%f=*I>T=;CjGZ<3%b^Ubcqt5?br=3x7qIULSk6Q^ z&U9P>ad<4}HD}{`zC$^*TbZ$R>?z6UD171ay?Ea zIN-Kc1||ROGm0h2zrq?euSG0N=xZncp}Q+NPjUf&LFpf7`a&2ab$c=HukDPRvaM~B z7qV5sqNPB>@|6S%ZUrn$_-?A=&>#0S0YQ6&8?*%p);OTXZfjQ_%7#uPT?ol`|s zr?6;xOExGPgy?cfg+#hsR^*#<=}0kOW*-q^=Bq-v>0A^F1%qlQo`pi$gfnyPLb(

{+_!?9N->n+ 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⁣XLXGyOrkjNazn$9%{gI9%E%eYsYGfKrXYJ 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

9Z!qvO8b9>n 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�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
=g)li4xV4P;8D;Hof*z= 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%0Do4j%o*jLh<%((-@#mMSKg)PUZMzau+- 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

l#eyhyvEQF2xeY74?ox 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

w5GNfgq&gdXqN8+Js8swRgnxA0 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

aTL+uQpQ7#m=PG}$;j0Z_V))80l>aYQ z4&waW2JdVmiRWR&ejfJEFLixCR=BGFRFviVH=sR(FxC$;{;R-vyti;3p88hxy~X%{ z`cCWj_2=-Fx*mlZLaTpJe!by}Rl45jYx%c@edr3<#tOwT*N1G2`{y@_q^x({-@e0B zz~_QrrP(9;^T0r!?d9C(?R^~^PtKPRfL=oa~c&ARJThQ=wyypl&iEc^R&p&1Mx)$

Ek1 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ÔkEi@s;`mXHg7XH@9ti;h=C>H6L+XGLC^gJw- zV!2qBhOjIASt0CMUVoRY5Z{_)S+g|k(G%LJ)iq(s3Vp)g<#nA{vcmH6%O*S!;K{R2 zx{TJ+gg3k=ZwS8hCs@m0-EC--oL+6B+dsMMC%4AjL!*9tF}e!|M>oZm_1ZIXukF(Q zc=Te`$cWA+RALMew5o-=8vVIE{Hep&Dg4m|@$wp-v8$m7QkQMDWQB438Nr{rV#FU- zI1xNPXq(tq;7{cKXv@!I{|-ph|Cu^_J zTld@HZ_C=j=9=*L_xyb~*nAbVOTu66Ou`xg>&QQ0wYcMsIGdNm(p(9rmP{i4Lo zsm%MT4Wl|^&f-1f=lY4fyLMbdVnM_(C-Eftk4?-P9h2qnoOrKc@%J<*g&NeeeCc14 z&d0x4Z1LCa7}s~$KkZmo{DJhNQvR7^da1ZJ2i`C6o*$w7zm?yY zf1=pRPkAmA`|>OjcaFis3H6@%2W`mb+p66u?O`eX3LPKH|GTKpSQCM&`%SW^e4WKs zKJ@G6^uB(u-y&x}z}c@jFy6xyQ~Zaju~1(Zr@p3Qh~~W$H(CC~gB_nRI`XC3hhR_q z-rnvom*B9Tkbx!(!XN?ObSz6=b@B7AYMAom05p1sk;^Fdco|rW+ zNb9-Oo>}wa3b9}F;&QRo_m>LaPi)8cXK}r_y*8xX0g=-sFT?(M?f3Tc#oit^`!yB* z4e=jR{^0K%)81AQZ>SC7d?s#-pEWGHiyuzMi~8&@_Vvl}xB5hXuG16#4i}#Df4Z}O zW?~$FuBKyxu!c=fx$gvuYuJ#t7ZQIa`+el+Jtne=UNj7lyJ1bhY_P)9e%4KVquRfk zP-&dec2Zo!pe34TAM51TAuZJx^+9-FA7jN$lATYiiF2lyG9#>^ z((8E4eLgJqbND~y!gD=%M7%&7 zLj24DXYtqR#2%*oXQcwati}O%>V$Rd53iK#>*p%5)eq&nU+l~GfY{21{-vD$Wv8e7 zv^OjNW|zhOZfI)n!^DS5zvc4!BiU2Dm)vbt2822I50h)}h{sA#-@aDTb3Hv?Y}ZrL z`%rA@!S#;6QFyLL15^5}F+yL~EyYKEP8a+9Pg3KjO3ep`V=7U+nb6zfkPse^PAm zKUW*aU&j=*Q*w})^6Zv)Kvn!c>)oK$bw&E~0+2i+y|_IQ@Ti z{LinCYbYFAp+FLtx-h<61);uXB|SXEG37r(?8|?oSY|;UI4zE)_32)am&AC_j+p&j ztRjRl6}zf*;At;Y07>t}QzK?0#9PYGF+o18kK&uOvQEe3+PPD#ADF zjD=Gp77`_{1r8tgIBsfNk2Prm&9|$)EC!$ z3{Dj#DKgx?$s4w1!G z8oSEXPhEoSC4N&ri=XrLZ{l~OI_shE_sW*k(C@40?OXj_fihg_-n_Llo)Ae|4&-}mx!O+{|6j^Ag^OzBNfd~a$0 z%|WaCosFY?%kpu@FXBx9$E^@~#lCS)voVP&e^05b{G>Nn?9&@2_UXZv-Wi=M!gz3! z_929)d_Mdlu@4Vh_|5l=zv&6H-^-DsCvW zX1)vZ`uB2N)G;^xx(ffQczqY2eg;<3H%PC~pu@8tOs+m5&XLYJgyiR(@28IX6YU=w zwE7lV+)e(!DUV3oG5Sru{C7tTbHEqG^qB~Az#k^&9spS&{#ohQMGU{W?jXPa&GjJh zElJOBuHo5TmDDY?vP#w#NTNCF=F`5_FeM(@bknLev}64gtz{a-v|-^^{OL; z_DK7)_W0>FaSk8)AcSv%c^+Wj1P{16GS^fDW^CYjQynj3;u|ft__|(Sk&RP)hiF5X zll=pQ*JUFJzi}zbe(S{OSp(DS_si+$=Jc8drxd0K>WwFT+$u;yHp|BDoVZ}EHb z|KwOjYQ>rcq!mAt{3*Y&DAQH(UHh zi{tHoqoqq$={H(@^L?P$zWHWO#Y@C<((xw!28H+OQ`eS0;n7=oe$!1`vfp$w$M&b< z8?+(JdCj$ItB9e!ydk#s!W`SMy4@iBhMDoyc-0}oZ_v5c+i#fBA1C(uD{}g$a{47X zJ^AtBcM)6s%n`u#g>w)Y`a$eZho}7QCnkNnzMn0gBOaLa-M`c|LA--DWYR`Dx24-D zVs?$}&ry3O48r&#Q&~qw%tlrf!gzMi#0QE`m%m+#|1|NB;#Cu0ApTiAF4^BCrax;; zy!JohnntH4`#pEmZ}OD>^rSyVJW_mV;;VHa8st|s2bsQ7oRj&G#D|I}%YSs@ZNz+o ztZpd?`Ua<;x1!#GiU%kCd*YYnADXz6>_3x#bYjkL`bImyKdmoh--=g?(Pux1&ynro z)IL_|9QE}{&m7{LOFt>a*IoK4@_(6__%D~=;)j_t!?;FocNs4-ZbEhu-y*kv+kn~G zV&?SQTjwnDfcOV7;{fDh{Xn1k|K9Pg(tGCltMP<>np0e5StX@+%+7_Zr|fOKI6-`{ zc&!+Hc7=G6?78Pe?iLSGSne^9=fuoswQ^lEhED7s4D>$EEs!->%g-H}Rl73)%g;xLlv|(_i}A#eCO}Ocg(`6aKTr zr~S4f+gItG7u8{oVd`d3;#bvpr;Bfq4RU5vMYf63x+R5Y4U|>H`$lyL|BcwfGe_{& z%AYau{ZVZ3G3P7iZ$k<{Q|I%1`R#g5_`8(0g+F7w&M)y{$(}WC)Mb^fXN2!3_TdL8 zuNI#8{@|G3z;2_s#-#Z8%^vsrT@s_8s`$MAhn)VSoc?36h37Ya&xntA@!z5JO@Cfi z8P-%gE$QzSPmtgGr`jcjpjWpa1p77R_xALaX5Ux#9Th+KoX7(|7qWN7+egfZ|H{g; zJ@vo8bPY*Q{hcho)gNn&=#ZD5pHiNK6rV4TskJ*DYmfz}Q$-=ls#dT4gtv$9f`$plpXGI2y-w~_J3G$f2SLs+9eE{-;w^CEBxjrNxQW+%rvzb$>3_Yt1gbxitqxb&|$yE2<2w)B`In)HmB zBl=>o%@O@&vbXfFKCLpVaPh;O&z3%XoMY10kS(iMoCtFguPgVUKpMA*HPHG88Lfb+#>sx6Hk*p;}iM>1ZMo@ zd5GGoXMPyvxx2F;toq+r@h}EOMv8BhYyBDJxmIlXWe#lSR5>~27d`FO^ab7gGRNcj zvO$>B`YG{d5d-h4{1~^rr811Y7~>+$k<9Z7ea9H&Q7uTrv%yUwW~a@r%o@cu9zA(h z)bE`1%#pi~(rZji{yr63{@$w790a=lS$W&3^Zb)+$E5NwXBziXOB16%Pkz(Gzf;~k zbARud=S!ZM^UU)M9UtRGWKQufN%>_?-dE(e^YM}PN5vK&bAbF+@psXNpohJl{@Uwd zuje<(UJsl8tY0<0RQtR?#2({k&Jfd+-XNFW)%u|BS@GV<9)2~)Z|C^q9Dn8bUWI4; zwwv}Lq<5q%KRj3aeSQvi`dvB}v+u-PDbEP@+{>AL=a(w8Kk5`ZJgT$9WIsr@zCI4h zmG>#fzth9h4;4RSeq{8@#V~&SG-60^vHX@E>8lHA#rL}S(0`fZt#$tU@aH(5)Kzm} zE57qndduQoIsJdeJLl|qcH-k7;CN=wI45^qN*`WPe$QNMjh~mEYtizG1A$kOYh2Y! zg_pDsfAzjnysG1O^l2w!fg_WCc$;Flcil+G6k$#jjzz~ndcUd4xmf;V6LWv|iTrkd zM)=#67ayMSx`k(sXx4CeM;pQ%(y;ZvVNT-Z%X1KO{LWQ)J6`1HaTg!@p|1TA{x8dw z!;{`|y1rO?%|naX;&z&=JSHF76JK>&{LERro^*D8(4Y1d`~LI>vDuUUS}uRgQT(&` z+!TM^N1BsZ`MV%7dd3@G|C)5Br~mIE_WeI&51;-xu}^=IW5WMV>HF}fi+%XVTz<)a zFIRumuO4ZYju-6LXoOj_(~c*+myVz3c{%Q+Cg}C2|FrsF`4=W` z5bvt`xX|gp7n}Zg>3YV^5BgPQ zLKaBR`1cuwK_*B~|66eO&0@2^LHeh~nmR4Wpzn&|ThyAwgg;&Rv+ygms|x2|*Y?r= zEDdhytA|I-;Kv-#T&XI|NxM0nuH=K|s=^#OS9gfK{PI;{&EjLz4bngLa`JiQ=Xv#U z$kK|c@O zMLnvr-fDlZtrH{U{9n(V|L`MH+4)F(FDreEZ`akU!g>K4>zE+$>dKEX-*1iyYo`8Uf#$@%So(#jzK&3O6IK7`xcGN;@lQRiDm;&5 z9zldT(La~_L<-Lw-}fo}EkUdEaKFg26W^lnt10Y>8gn4~^eJYWil;=(P8AOqAC?U^b5f4)+c-6Q{~r0*>~R{`v7Fv8B)R+GoY~yq5RDy2O;;2lKta?k>N~S-7d#&sn%s<@ND@ zC${)cUAH>S3A$m*-<65SCcZE6U5T;hdA!-br3cUOeo0S%1Y3Xfda}3i2=Px-{w)6I zcc>2cD%+><%*lMT{2L`^&gELgN1uW)Co^k?O^+DnWWFe;zu4)SgL!j>9gyt99L-99 zNMh2TFTYQJhS<_ybyv-4tML7jJ^A5U?(@U_ywA^Fx%@12deXaD@mYFpch{WK%Fh}p z{+gXNC$m_GC}AZkjn0lIb8hb{WJn?slLiR-PUzfeC^X%X{`6XE*Hc*w55 zYd2MA-|F}_qLi>EWxeYErDWgd%&6bQ@gX``#!p{a9iGj+sxSz1B!48^V|3q)!(`zP?@+TYa6{zD?*GH%a;1Pd^;x`-3%fkAjfDdZq94H&|@>V~u;B zx1FUnh|vGT*8g9(T$|AU)@dK|ryr`b**aziM$D$19p`Yj`W&E-O@>H!ebVnM9xneL ziC5h%j#pn(9+Bz0#x--FP0V+ib^Zd;C+E?0yIpq7L{M`OUo9qz9vu%h?-;b^m zPf4LO@i?V-SY}fyJx|q$Djy8#OIZNL^%5TpP_mMs0Rr)l9_+X1~?uT(r zqm5GiF(={MvO6$X>$@&7k!@!E-*BYI!rOHBCv#Xda!hlPJs>2d!tTpPk1 zwlB%0&JpIQh3)uJe+!hJ)gQ;VyTY1&-dAnH^^t2LLU^v1rYApNh!2eFP@a`_{4GC> zFG+i3(lefXQGOdw_SAU%OYxRTkNp|SkGKC-Z1(7{R(hs~k5_(;iC;~=WY3((H!JQl zQ~kr-|9DzCyCM3vX{+jOqUHmZu>Y*VClZfld>DL37oggLICarxOy zgPktom9-&Z&Stq5ANoC&AFqeKzNhlz^|0yxx64oaxJKnUkito5?~lo~_JRI0vDfR6 zw$ju8dp+ZIAD-u#UVoRtHSf4xu$YoN>}GZOk&?*HxjME}b9?)%rjiDyOg z@O{abV(VYI9r%t=cq#{tnrip77s@Ej;$H*&nJo$#+)z z$Hd^-8xPiG_423NwQP+)$NK2%^uu!c-NdHfNA|xJuaN8sKi=typYz+t|0k#a@|UVG zC;DRL5urbBk!$@i{q085`Tq8JvGup;2dRF&p7YQ2^tb9#O8xEfN7Q7Ms=M@fDV)!| z`}ODJl}g_;?c4JYIo2l*t@N9^{)Rc+^$06#R-6cP!tbR1XMn;W952RxcD!g0BgEDo zIDWT_?f7k@!fuKet9=(w`x} zrGJ+$CX8*YJ-~P8cqQ3;{fRkVxo4qIf z`-vyt6Td(FAmtx>-cNb^y=3d{w~*fKhZoysCrLj$g@@-jW=(?`(oIU~ec4WH)QIVm zkni7(?c=hD;rE6w%D-x2!oRMtKKxH&A0GDMtCT+r&zcLQ&pi{u_fb#FT`Q2j8&LYN zUGMq5BV$b;p7ecq((~bAAKs^*pJV>DU)pBl6~7K)kVACwnIPZY8nYripO`4u#t+!5 z%39ge{=7Z+8fMR$3SWu)hS=i$-8S<3`?~|hc7MnHXPxZr{`2hf+lF_2d#CU(FR0Dt zsr~jz-0t$)OqaZH&&4k8AJ5YH;^XK2ip9_Ps-Nuq_-Y5S)z^-S>sawDZ3y@KXUM%R zP<(#WEWf|spDDKTa=(w>?)SNWUM#lzXV!2yN<3H_64sQEOPwIB;edX4AhmOaze0YC zkK;jKWa$wBBz#i^M+teZ)R}^gjK({ScQv<-Jh$mLB!Nc+~Pk`O#bYjHmx7_Q(4nv87La zza_T(@%=Mn89i1C!tuJrrB8Y*OJnJgpKfBy59z~}KJlL-w)lyU>!(lupE>=5PEY$- zPw89zux3OT>1neFYkF`zt_>8|^cW)lpv2hkC%?BpLTvWy9oQ~>`)~J?*zc+Iy!}>U zvtQV+eR$WyH5*y6e`KAuL0FT!gM24eMP^OzBjx3rB7`+s(T`2MvmUlxEq)HAgf&{P zk^5R8jRVDx$bU=XPUo}_&%Z87JVwm#6E;Y^|6%PjeIk@KBo1p>sB_#o@yW73Ps}|S z!uPT>#4AP2F47to_bgX_-*d0*uT_R=W9_upWKA zFMIi%AQ|Xkc#?+sW$%QtcVgL_Id2TVn+1+;qYUN-Z?V4Y?NavkEqi;Fz2$g|+2e&2 zWpTU=q7=32p?RCiUhU!&0M5lEjai{C3xCFDg{(%t_U*%;gR?@h=0N>vD=eZY){N1g z+7eEaZ&FYUm2YtH^^&h!@O3gfUK{9ngZ}8Dbc5Pk_!Gu1n_4c)pPt1%O*p@1#pXDp zWyxW8p*dcbqm#~vFkM~g1Zu)AD@~uJG!>c78Ju3xNdaQQTVrjK&T+%{$HeM;G`Wu_ z_vPeHO77(3o}1j_m?@z*DUN9h?xf@vD-tKSXeCgBdSwt~ac=(RFdwrtb=sKkd1+2x zqxpP0Nyk=qN{_5wTrWQx^B*^e84Iy7KmE8IH;WskYtY7g^_Gub+E1J?^J){1=g~PP zUay~)W76?@=1ca>yv3GJ=B2iL{7-}hxrsc*6SMyZ3?e!29Gh`9mk!{3Z`D#QK>DV`UTYZsh^VeU18{59>+P$Z1! zQ#3dhB&&%(_0leVp)@*LOe^_hm-gwBk$ep$Uq#7RU-H%MZFc3bG1mBZbve{g5KZ%t zHB~h6XTJW71V*R_Y>G zDDsDqMWG`2!ri!hO>wjV7KB;ThwG?~^QWFa4eaCRE*0TVlY9gCQ_)0-@JDV|%f2Fi zGX8YtPhG(99C;UP%3|%YVW{`LyaU(LhMh|Lb}0FFwAr*9hLwDWmwdxYcFYSBq@mR2 zAwJU{kxb0ca69vqzHH&0ZM(F073VXzv^H&Re?X6R33FmSTt=(z1Keq-t2jZ0hFAJ3mBO*HZQ_DtnvC z-tn!yF^;;4+MB%Rl)aCYy;<4I(T@XC3zKDyWp68=KObi}jo)8gI=bcGTVQHU6u+-8 z*o3_BoZ>$cp2?Y1*?FKHlimJq&cBlLms*4Dw|D#P9lOPA?uznkVxU{ydi+J4IdXJl z<@AX=H;qo;R!)7SKAkg3G3WG5JIP0}xjs)(1y_R?t>Hf7x4O=WBcO z=qV$LOcTqele#u}3bv=oJPqclH;<X>=`QWsv2<+Iyl&$k`O^da#X_X>$`6>qNnofAJH zo+Mr`@jK#|#LSh2RO^8AUTaR`-r_g4e^c#4;7{dxCO^g_r9VWrol^KShsOLILtx2G z;@#!m8c3J3L5frU%d6s!^~IOUOP&$JFO=)UudMhjJoEJO+^l1;j`0ss+NLKxe#2s1 zRAO91>XSY5Tv8t#GlY2`C(B(mP@Ko{bNP==%sioA$lp0J;dw9R!~Z1q;i(TF{!p=n zr#}11-s+Eewf7M7tqB4%s555X>n)_Cju7U(9x851^_^$J^IX@$!{c&%y5l#;=-rm$ zT@qqfTNS@2zvZ8Km1z$f)aXrqdO__a=MTlF8_CxaYt7%`QJ}*A`Rl}%}iuf~>k~z{}BlmYHzJAhQD}Du~gn8qikju9P2=T8k*WxGrt;Ci- z?XzCIp*Do}eUw~lpWi9|;o=IF5nQ^l4a=1sm&+&|fqpSQ$5KYtT<)`pND>dx{5cUM^B&X>gY zvqFmRDxLgW%6=FR^(4&0On=0?F$8Xu>-l)cgl`f1@Ei|s|9y_pmGrm7Z;ryFHQBu+ zUPXEvtGq9!f1nRRu4syLM1B)U@7vU0w9&Eem)gfe+vpxrd`oH%tEuB$NB+GMKcx6R zl;5W}L}4vGj^BEUdqIky_SRp1Yi}G+o${sQ$-L7#MN0Edb3AFk{&;eH?Rawh=7|0A zyII^>8^ZB=My?$%&WDG^c0LTcC!Wurr}DBc!@JVcha)hy#)Mx(^=IKppZ4I>?OjKeRfiGuHK>J)M;5hk46?EB5o2A0gg0#YcZY`?CIk zdDPDkua)$iua}GM{Q9rXn|)7hEdN2OV6v{eY@?J$W}+$9cJ*&*?u9 zoBsc6`Psil*8t_O=*rXN^82&&oDY19jC|TPe)q6JYVYtf(i^`a`}sOImrwTBh&44y zn9GXr)Yt1`s}I88r(-ZhRA#z6riu2}9ke_Q7!u)F$-rf7;P6`ymuPIv}zOC4Yhb=tc9qg*G6WhlK_^xxbyjP|87~lV1{#l8e#plX@ zTVmcr-yr|>slD?ac(&Ne!|zlc6#IEX`Htd*wlMiuz{x zO;32nP7O}4Q@ErjJpF|a&-l>7Pg=Vo8>ss2n8Fj^PV)Qs8pUS6ta&ZwI6dL3a`{mf zT7@5;%g-36e_Rh=-V;wyoXC)!3!(pcA!7EzfrYF>dg~A1_mqFnjGsI&$T8m~c>UxY zf0W~4Rb~4#kJf^f%FA~tKhwpXng|qV#{4e_mqj`Oeha@1yv=eT&%JH>&=;J@Z<4`%coE zeSTg<=7l_5Y4?#0!ueXK`0ae9Kb|4>{qY%M>mSbPQ5p1i#Nb(;iI4CWAAF?pXUuoB zBc$({!iV35IbN|r^Xkd|O&w!o8}T9Hg(<%uZc&-NEj~hFke_eRCk5(Xl&v6#$$l64 z2B-eu@NFxzi|D)5=OFOIy5<@`v|VL3SU4LS$r{ataDQm`U!NrXEl$tUygbH;`Jxx_~IPXcD?<}n|BW8Trg%Hx?$qYQv6Gm-m3ER%mSJJRGimq zyNKEDPe(pEG4`|NH~XbeR)*i@ACUBX_dnX@7oO($T-m=Xw(qV_Rs1XKcyUf4muhgs zvo1UT;dat_=Kk4pmmK%W@s>H>F2_7C^YM*!%=nP|FF!sUBKG4$#v`+|A&d_v%e^g7 z{4SOH^8L{bV(X9iju5?#XZTKbs@Q)g%e|j{C(Ar=+e-hlHiX|Pc9v`7Bj$nQ*x3CU z`rkS|^T7RC%rjL4{S$I6d^^oU$M{)?Ey$YUzVh=76xl#LSo}uB?6$AeKgi!JaR&|7 zD%6)zXUNv#$;!X!f4;mjn=7{T;5QtP!(QP}i@`H^b=9fyt>Wj!XC^&-dR3V>sw#%@ zj$M!8y=Ck9kQ~$Ay#Dzd*QmT+KP1PK9S?oJGCM%!c~o&AwBIJV*1nh*_7(AU+7S3H zxt>4F@s~MXnq$TGxY>T>ak!8*(C?Np7*j2ON{ zeOG)-;)&ZA!yHc&6En}%$%_A-6ko$k%`+;#I_W1}rv6mntv_CW<6@YH;hU;xKz^C` z-SP{cm*XSbwASCN>$|t#TWK4gFt;MRUS%=n{;99}^W#%~xZm1H+$Ayk35w6_FHw44 ze^za4{bjN@J@;Sw=}YN+UH+yxPZVPmgn8t~$sMCQLHbEg`{tU8yl`VN%p>y$)e-W< z>>}TKglFjRk2e&<_}s>0OQh$1^TuSqhQjkKW)Q{_>@{R6{jQ7el5fy{|6TIEV*4(c zMO@ z+e?~PNylg1R3GpW+Hc%POj?g(ELls7mOLhRlR&!eORq~nX&zzpUB#w{_xL~XN-r0~ z+z7o>`j4x#yifT%H^u+*FU9bFX49mv)1+Xh$bVnbZS^X<)_XN?76=)d*)?h9-o0x zot^cy=3$clNwsO@X7Mdz#yAN22IbG|yNgZFykp&D*R_2x*KhW#!tV-SNaZ`JrYhTC z@l8;g$eEgFjP`q0>cB3P9`2d+%uB{t%jP8;s(Hvh5bxR{h9|v0iY-0nE&EDr^OoJA zh>lWxoAr$LyLGDyzp2_HG5T&f{ofSc^w(`(m0hCqccWwv_f%aNKP>L3y6W2_#!r0n zbi90eYb(6PH{sa$J1o0CFmKb-3VKcqo(=jSp6@BSY{*nyUzERTOYsUwE#PLz$ zUz9d|HgcA@o#H<|Vs?|5`?Hf0KOx>+JR$MNV%|L+nwa=r6J zZ%fa3;=n*z#=J=d#kEdi=1rpiPt74?o}{H>@`yYw{lRkon9^sSrVZ4VY&=8w&SD?F ztJsJCPRGZ>4^;R`GUm5($bOno{}{R31kyNLFHY$1rzB<`rq#szCuSa{b;Q=+G7r-R z;x&_=d6))@$0lYTrai^Gy72qC@XW(>nt1)B=Xu9UVtd}f{m&+1fB$og_^M>TqsnoE zcvfQWe{L7wmYDF|&-?Hr#XdaO4Ui6CVvmUV-Ef8Sgb=<2hUXh<@r;M$Bg;i_MVDo^$?rJT@PrUDEZ%Z z{GH=XAFK}JWyWa8zDqUlwDNA(f8zUEd9(QVop___XYFVnez)B$CJh9APt}jcV(+|hyJ^JmW2V-ut2`HJbe|6MHh_rL05OZUIbGodD0dOyg#LVVA{GbV(2 zh3=96z=#?15^=A1mhy}c9`3I&2>KW0dOhs*-DT_bu<1EI-ISgk5Aw5%j<4kh-cQHZ znDgsk#c$^q?fYY~wQtUs3sj%}e91Qbn!uiI#WjkMZ-@#aSj?zSUA9a`V zGb&<6dQXXcdRt28(;F`K=jZRmKD`UYmLAV97!TO<3(~7l{aAXBJ*Rbx#9ZT$SHu^I zhbLy9LOnt*%~QxcL_A*`60DW3<`IIezL`hkY!`k_jX(Y&w*HoRh*nd4ySVVjtNtuJ z$BX*3;|1@j`Y`7Htexu4`q#!atHQjfE2>Tr?0LRo_Oz#K#1=p4^M2o_|Cmev;MFR# z1&V93_957>rS!Z#Z1G|Lmd<~(XP%ztRbKm^2p*DSt`A=SpwjYuy3#kMyr-)CR$kK6 z)P$|l>!I|`e!$ypvRd^&cK!UnGjCAaTz>A$@d%ec;@2TBr4JvW{91mPM~U%m*I1p| zoe#Ci9+rQV#4`@7$u5!q@x-@%SCPG-`nf6b1z)xa*NX=eH%Y&e@-xfnd4A#bdZgV- z|CVgMeqZI!!f$d`O?Y;tDhqP*l$vae+DF&K%xhY!_?}Rn5PlcCmH3v3VO~>sc4B^K z%RDb*RVPUJovrw}i1Bx};@1)r-=D-5-!li-hG%helRgt)q5Mur+)I46{D(R{^Q3zH zX3DGSU(g2=T#xN~2d}8~jETQqdG+D1lHP|uLTQ=(3WwE(dDRX}=@-VF+zFHhjOTCK^TQZK3@6^wxFx{q#`H<00mniTqCa{YboH#B3L($MuK}p+4?+ z;V)Kt>nQ)rM|DQ}dIV&zV=~J7ve>8p7gt{NKj!LVh}i0b{45e%et3SfpVDH?f$)51 zf4N-(#rqAt!Yk>q=ic7ibG*F0y3|(sFP)zFdH!eiJpbW+T;G)5V~^E_XTjX#Ak2HR zo7~QUR4^^_6&tG@3<&XUA?eYU};F$3O*K!*# zFpmiBy}kA!d@u2U*uIzG`hLCk`}}KHtMYy5^h2Jl2yMABMM!zLzq9hdcPPAZn5RK{ z%Ma;2?&53PxgsO}%@qbYM~w--F_7M~in;%>>nZw4Vz1}k()7%`vaZ4oO5r)azmwnU zZ-4O!v0d+I4;P57zG2=^89yuL{^{ftAK{M_TljstwhPaz9!q+{-|E6MPlK9w>3RJB zMcsRVX;EZ-`#q5vlB0s6h(6>IQO1msK@5Na%$Nrh#EcmgbwE*I4WOu)M-c=gYuLpM zMs!`ptm~?nF{7?)*6;pR)p_PjzrOGLh3oqNzwcc0OxNA#)T!#~>gwuH)tU!lRrva3 zul#OI*zzm;19SG;HnW%hlbrt5oPKCdKal!k@h=_>^9FedKA-$*E@g@IbIW-j zG4Ur`w++u9bq_)!?n>kAd1Q`tedG17I^GxmPjWp}>(bj4zm}f#?Z}VUi@p9hw#W4M z*S8J*3AGWDJb#B?{lU|tI?J=t>si_CZ?o&$hI8wq$zJ!HZzb&SH@^?xmGn9vXZ+du z_*O2)Wxo%3lxQAv_2=e9%zmR|-i>X)F7ejqav;HnCsuz{tp4cgtW#Z`6~6;N>zflS)Ab75-&C2cSgE9xg)W5`1gdOaDP3p* zN=k2wCbw0#!*Z3lNV?XyM&10dh*MdVWH$t7*-e%8->y_rh>Miol9&RXir<+bC@Ik~ z7Nop{Vq6e|6Ptr&&B1}q!IF+e+v?_E*XCe}wm&+nXbyI44wlpu4Z;}Dy$s_rW<=pC zYEVPisR}lZPQeG7gO4-^A8rmdMo03%d?6NXL36M%YplqYseNK@5tFJ$Lb^}L+Hfv7 zSV1ppq>_}ou&vW_m13bX9%|J^sfKec?84JsxW?I!U$srq)i@U}elR6ztJ6~B%4sIZ zE!R$rE6*7Bt)kUW$e%nh&56t|c6P*Y(Pl!gWq> z`C6FES3aMbAHwHrEbQ~4bi}q@vz&ez`OtXxf=gHVuzby99t*{@pUTDZrTGkex+`*= z;m7N1a$JBdpPElYU<*Xv8QCRE%QfRr5>B@+joEF30t79WM0K zJRRe5+?3;`icdE5YruZluPr(3pQNAX_TxCp(eEeK7thmktaA7I1vy@na8a|z-952YRjtg(UG{>s1R=;$7+Por)(+Jm)k6Oa|Er(Sf8wl6))BGH2q7-hH zzA;!8m*sW`ygYJziw=|0WLFZGjmfUw?9;L&Eepl<$$d(&rYQw%nUGUO@!blos*hE= z!D_bF)x?#Bq>HM;@USfG6)`TV66uZSEUO(MpXi#TK6mwgQ7y@ha z->xHDYGS*ub;@u-0h8d9Yg#e?!Uly`Zo?5DOGT9`YfL{&T$c6xA~#bgvk}Qc*Vqy+_rvoqz2hJmNZ)e+%l86B`*DQ5{h6@0pXu!7@130f zNvCJp&Y*A0I?0Mn9d8;HASu%?7yRSjKp zN@QP8sapJf;BR4FV@af6jsBbI#hW?4qkp^?@$X@T3czbQT*}sqeJM2CP*6hwLcqWa0Req8esBl9FPl%WugkEjSeU8_4 zJQcn2qduqPH@5FEmi9bQJlnDM$Jem!4{h&!mp|qIA=u|%*XNdh*`MTC;{|udpPt!D zRKB{_vhsebPrUbX3vnbDVSgLTixZb{klhU1{!#-g{ZC1+@qsVEJrX|wA58cn)=BnM zWhU)&0x`Ce^qOEx@8Y5HUeDwde>OW)_oBB?+z5|`^^8*TH9U>w)q!}AW|ufV?C8X6 z?iTCoWllefu;~?F`S#{V_1F;Rn(FJC2a;KaKBh3+o<~ zqz{R!KI$HzM0&C5A0@K|*sefi-vc)LJS+Z*F23|rbM~HPFShi0aC1WGFX5P%D89}U zmfm3Wd%!kc=5tterEfZ3S3W3yqi(~*8o&JvdX<4h?T?sZ3bHx&PY`-8rFS4)N?H7n zSote~Eq`ww60dQ$OY#2=%NN-QG8M%fLS#G082Cj(TP9wqA%2I|^z!#9I`b#}_psOh z;PkRr{>)y?Ew>_T{O1nX`|+QuJN@`cG`?HMCfB4v+Ki3&{!io{iezJWCH$?CSoLdd z*y@++llq)ipEQ1SAK1!Q2Yl^P%t-8fx`Fn$tXJ>Q^l3wGVRUa28)_7Wq zphbQ+hb_O-tNi`;u#1ZN|8Bgk^k-u4^LrL-`BnSUn*93q<#VN1#Xm&t%Qq~oec68y zZ9Vqi1#N6kRuJ~>NniB7J=tB%Ponl@IAPzO>;YT(eldV|D`CCUD$(|@#nNwoZ`jJ` z;zB&0$0YwB!DO-6UTgbzh5h!^L>IST{`Z5u{|4CnE57Qtk3RwK%1_e&blweMxoyg? z_!7q_^^N;?(i*akpuVX* zZssS^`E(#lZIk3dcpsK`1mgJuyf5KNiKW-`HLutEE~bBS^Vq++BH6!7;XFrpOk(v{ zRDV=v66ycKvZ&|ev|H#^(x1sadVj<3-!tK^$^Xk2#`5dbDXvg{)IM8&4!)u!2A^G#^mhlkj_mssGMjc{@M)}bzv*Uyq(^HD5t zEc*@dZT5rijmNW}-{KVX=3nVeax8!E!`}b-vQ&x!PY)2e`Eq`;k_g8_v@+8Ug=2T4CvKxZvyAZn8>XNt={qBUR zVnL)=f5PQ*L)4UqSRu(h6m7@Kh6Kpit_p@`Ir4x@VAMTz8_B{Jwvuy=otc2 z^r!l>h`7G~^oD)?*#)-pQ2o>KYxPIv-3a^gJ{7j|R{2S9<+tkJO0xOz<@_XiA5{IX ziTIVQ(xW8w7i>J_&7a2k1#}Eb^gh*xl+RQABzoT3it@Q7VtBqPR+}cd<8$g4yj8?Z z-w9j-o4+^F>wQ=b+aT?}D9PGWUIUZ8z9YB^tUjnj<5zxxbqq*qd6|A=mXD|SCln&9 zj3nEvT^joC2Sm(9!#X~#d|n{_b8uVoAUPZTlPqiI=-Jz{28q4iO$Zx1ormo zi>|xFMBhm5w5^Tq}-tTEm{^zCq+*v3K`57C{L;Ktpd!N7cV9TG* zKhoRzNbfW2c=qozi+y`F2YcUMy#dco>8ZV<2`RQ$!+6=^Ep!_uz1km@k8gi=gRT8h z`>4G8^i*Cxy{loL-c7J?AJumF?fn3@?N#|nZ{?@$?MQxYdzHVF(fj;OhkgD^vG@7A z3%$?Zr?Ai853uD=`->!t`%C9b{)+jNUTuTzPv!3(w?F=G&)*eCl!f`@R3;L!#=jfu ze90?0#q*(9?`zrlR{WOZg~V^i_Wu~&WqE!v=_`pNk^XDKX8&p8Ea^XBz6I^y1{ouo zAL4wL4FW{-M_j?u@*{g)k2Oe%$X?eU4S}NlK-lb`L9g*-J0-oiXO7><@yCv@!M+P| zxhxOzM?5~K_pI`J1HI+v_qk=^`9U}GC|M2vdr}q}Gbs5Z{j*Llf9fBZKaIz~gm{mK z*xYM}RrfvLoa5JXyfXg0{m>jw&hZmDewe&leC1DbIa>a{J~mG5-y!Ai;uSn^B0MSa zHe&qgnn0rdiLPg?eeCF$!|Kz}%F?VY{hzHB8IgWA{T0)TZ))GnukfZK=M-D2_?r6nxR*pG|cyhaz zd?fYL^h$3pY%M+2uQy!%Qu=qXGc0}SkFII1fBS4%9_r?{ss5h^k09Mm5^Fw=GvITS z8AS7OEMxgD+bGfe8@ivobHt!mS({$zX*{{F{|B&ro+~(BJok5eP%Gvyz@NrIOV)mn z_umPx5;2qh!<;@NZ(gtQO+Nl2r{9(MCy_s$qb2g+2wVI=($8}G4H!uL4e|Ph*wkZK z*B5F7CAY!D;EN(=t36PjZBJS{r%4ol3ixA_s?Wc*<{>F<}yQ~EPu(@$;S{sFve@W#Du>}f(;*dGL&z2a*wNaK5_a6A&X zSBgJ_!KI&&);jo<=>6}b**>)il8ygVo?V3Q-NY{qugLbn-+-vjK87EJUrk)OdquV` z=MS|xl3ws593KZq416=kgXeafPmKR{Eb}*Dt3HrK<@q2>D^GDhbjF>Js|fAi-N8D} zpRhOi@0M8l+sMDywi%OXeO*6ZN!VYX>3Zv$q~Dpm9RSZx ztn1aI;oB1HdRX!8dRYF{|M&hh9;k&s*!w#S_Wl&#{C)LXMR?ZyI%!HY-t}$5Ha=B+ zCEIVT{>OuC@7B>g>o`5~z{Jv@LVYs*iQOx+Pbd%T?@9jx=Lgd(zSzfKkMo!5uVAvH zKKMQ>>3EUZ44MDs=L%W}s+jMHO22<;p75hPn;{}apO0&%>#iL20$N_w%%&sg&_6ws}e^qQYxJ;GxXYkr3Qg!f3S`5m?;Z1r37GaLf< zO?t7;hsN@M672n}t@i%s!QQ{x6Z5b7(+J!CR{gmg_Vwo(_!@o^)yMBy`udZx{Z@az zA6XgZN?0{m({AGLc=X<%+6wRQA=vwS()ru;oXT)*@G|Qp%CGu9KEE%*-v8;a_fHjQ z;eQEi`Q0D?m$Sd@{^vxvp$vO$B${7B-+bEG@tux!KWzkd{{D^ns@6YLerLg!U)?X6 zjxW1kBK;RmFMq3$zW28>Z2ojV??~d;a?DBO?+NtgPx%#Fer3O^v)BI6vEj?>e`S9t zy#~t5($oDQwcnP%V_?k(z9#1giS%5Owa|B@{7gUUn#$~Bwq@;To{2Z6{qQ^~$Is@t zBkhT|KP1O*=eP}d^Y)8#+=jk{>8CQdXgYbTP5HYSzLD?|iC=_!vHj;IE@z_DgW!7; ztGxdW`|`dS_Vx1(cy_W^`~Dtm^|KCtRg~WjNxwJT5$?i1l<5AN+NO!blj!+~j$eQO z?@rjK{|M~U{}}e^e+OIos*j4_qCS$g?Qh-h+W>xnbEITFI$s)Zr)x6FVKYm@wb@BY zukS`5&H6)Ael?!GGdwo2#hk>{Y*yA?)i{6YT4k;#&Pu`}k+r+Rw3NVc~OW3Y=X8gS>yf3z4iof8a z@;E;hWiHYDZv)6*?}%akx3O@?#M0N2zSr}}t%ZIK^5gaE!xmrjy?hMw*e=LrH&kVJ zl0WNTJjQ$ux)$x5($oA3dcHj=vF3X?AN{_GHJ`&t@R-D!Z(<^Rc;b!V@uW4#>F2?w z59#6G($jnts((8sd(8(i4Q`cq0s8Lv-#W44tG{XSmA}z0f6C8+Ec_2IUe)ma7l4#{5Q_n(1v4?rS&^$orK!LZqf{t$Nl_}vS( z<5BY|TnD%1C((Qg*R!wy{j zy5}x=d2w~tu^s*Bh?&yg4Yu^uf4Ksk@4q~&c=X96(rf>C{YJ3q)&KYrJL`XZkNvOc zFDFluiryv6>B&2NiT}n26rUi>YaBr)-%I}n{xD*gA4|uR`8$yL6LfqWn)I4aVF+RM z=_Q(C>j7Zksu1(-86U$!{>%Bku^8PM{y}x^ECgB+3Wh;?8TQkmjBIi@x^A}W#hKl zG4%IuVx8o@joM~)96vf|Nu=kIObh+~IlZ38`1qA&&GCPqQ61)@IF~$09)$}PjDbol z{|C{S`}mi`mi`%YOT)RjbFyzZj`ukTKNa0&nveAh!hcG9XM5h)L9aQqB;q}Dd`^z< z&asXcAHSOIGj1B&Hq-gz!00~vsCgF=>s`_t zrO3!l@D}h}5wow#+h-q9o)Z#x|D|1a2kC#CSn+?##oq&kGaCcd6yhQ)|Ghch9+CEF3@dADysl(Yh)_}*7nO0r z=jDl>R>l)Cnc$RCtdj(TG}=WwukSVG!i{l%h4mJ`0UHZ1aN&6_EI(%Becs6WBvo@= z*ylm##C6SzCoJqvu4DE8*7(0s;c4~yKPjwf4FAtn2Q|sLag83q^Bg1m4^7L=9wDrz zIh)BfF;B+U3jf2J$K(HCA3ZdWkY)!?$_gO~{;M1t__dI#A}uR*;q6>_lnbBW!rq>5 zMw=|t9H&W^J?_GdE*vJVh(^nNxWKw@DRS%x>kN_&&=K>9{t;@_zk2;EWSf^Vy~L(` zXGj0I)GN)(vx?HJRR4H`vQ$M{+DK5Cl{V;K4RtJHSl3qnC8~T`DGgGlUpxSVohYjh z|MgGj-~zwy{DOpt;ead;F-bFfyo~?n3d24;x2zy6)MYm*6jLbC`{|fbUxN$QmrGmT zMkXct7pn3^0_UE?zsi9H{UcPqJE8L3309Li7AkLEw}q`MEv{=UhA6xd(RWEPR9_6$7DN4up<+(L_V#W@inB^( z8Ycbeq^p)r!q-*qKj_~t`ZrJO=IL-6GDRj;;a_x0LRIxz zSC5yfQl%UI6$pf*LTeCAf>ce%3$?ty1p6T4nHNP`{j}ekG*1d){WQh1YMk#1_l5T9hyTz5=wCk0b>aZvTldiUix~3SfM_BZTi^F2{!|J0h(!YiW zVxiu}2a!IHi<6SBCYrN|zS zz_=J3R}StFR+dJ~%ISgl9EV(=TM`##aS>NG#zlNOUz03Z)Q0*P7Rqnh(S)+AsBh{iH-RCh&5Ws|Vs+U8eplGr?*^NFWqp=4 z5VtxtAs52);pvV)bR6bjAU!)yZ@^w%0lQ}<{cEu426Ej6?~?TL{~hf8tJ<3X&v%MrzJ}vdqV!qSLVqFb_2)SK zFBprTO7Uw3v#;S-_(|kX`_Ix-eOv-teU$!rr&s-JgDxtT z_>JsKQ~I)>h2GoioeHy8es#~x=XWmb^LsmN`IY|%Ve_y0`yPB8KZ)x5`z*T#iu+f+ zG~2)0KIzP#_9sVwaer!#mL~Y(68<3?Q?C5mGmtBZtbIQ_=@&J``eXj&pEGp}|GK|m z_2qr+bqR4hKZ(8(uX`%Cy*fU}u-=Z(0o%v>&1Qe)0dfBw8Dev$f^Q*ge8K+Iar|AH z^xff!@IfiPz2IXA>ll#K!+M5)dc-j22YveDoFDa^z_x%f3!*te^bBOr#M-~wmwx}M zUAFzJ{c|kr_m9F|`AMW#`Fg$Thv~I_%V66+MtwA#o(yU#qfQ z94H>&8xywurS01n_S-iCw(XOCbWVS^(`)u%X)4f0ghL zc?p=na$2C6|1$|&{s-WA5IjBEiw|{tae=-VJSOQs$KUzzx%?y*RP^aA&kMx(=ftv+ z42K_LY4zuL{QnNyJ-_|ViO)l*)GZniZ+ex7#ti!Mx)mmw zAV(CKlLqdV@~`rL4)*)!dD!otf9CXWIsJNU$ohC*JNeU?_<8W>*huD1jP1!#ff$P@aaq6! zVM{N}$w1ydVVy+wo59{*=XNTffWrRjU4*YT@1M94k<(wr$&o5td}gIN0mQ1)k_GT#EUmsg0uO?9?@XdG|68!M?a`QjaTh5O=~Z5) z{}G-IcaRbht3P3^IR;iGf7L-tUlM%@Z2pvA_0KpAgDAgZ%Ws~Q-_huOe)ongKk_d& z|7()Ij)#@`Ni-+Ie3t73iusvG*xTO=n|(d@&%!Gu`?t8^za`;g6NfQPgm-uP+nm0d zjc5kXZIA3$s5Sd-avH4vKuI6lSBFZ-hZ3+s;#+NhsF*z~%sEmj#yWWN>p@%F33 z-d=3>dIwYQG^ox-eE81r^@MKkjlDKj37USq`c9=b&Kt%z@W@liQ` z-f<1@U>#aU|1J5~J6(FG&)&JxJ6t=!&qep)9j+bW*AnX;uJhnq5{Gvl3EMk5D&MtW zD__0y(hIhCUi8fOP}rW)D*h$8_&2!tdWI>zJ;RiJFSf_0r}o#<(>p)g!1j)g-ubx? zws(F`?^zn^w#`}hec~Umkt|xfG&~PI_dj8cfv1Tsj)6an`0cUPd;gO5yih3a88Q2` z5ZT&;mAXbQB>iiN?f8?w8t3m$CiA)w+pUuQL-0j}uT3oduGoA1Zm{V`4vXK+8Ia|s-ozfJBE!E-%0-0VSED;{}g+Wj-yMn z8wlSNG5ci=+EeWJNxTXAN2rU|pOpO(9Fu1M>hRKRLM!T9^4Fg9*QGIiKgC}Y-VNR) z@vH1V>D6XP{=8Oc_7AuahnTd|C4?Wcl7T;w+6?QRuC3G%?Nk#~xi zO+r77{I8qzdgtmbxGw3R!JqWsCI5QIUUj2?V#OcL_WAgH_N^HI7@ki^e}RktA#Cyg zy?XrS``h@GsQmY3xlN$RH#*igIn_SBp8RRd$w<7)7 ziJM4E-?-5^N22&|!an{A*vIcl93OuJ*y1ZcI=}h+oD6$^lVR`ge%Sl_8*Kix{T(T5 zzx_0UE&QL6+ukX;?R^OL{-1=+f9JExLVL9qX-eK7SC%!fG+u=Pk0-#qS{g+5%bi~K zKRA}X?j4!^IP7&kSwBY4{*GSfE35C~Gjgo^4W?K9cptX<@$|$vrgp>RZ|zBuw@Z8? zJko7np5;&V!~7|}z5(gu>zyDgAL$2h{Fq+xkAyA0_}UyVb^Q5xEz5W3lgqLrTzQ=i zp9}9t9Et4Jep~s=zOQ514}{Hr;Q3|Y{AA_3=_zH|T=Z6c;#YF~y<_EnXICCq@dD$n zp$ol>tDemonFVA z=_le(=c;#ECm9X5p?rEo%mzGNmaPY`nfPq{>t5Szhu8l^{qy=$ zVAIP#pDAzQU+;99zV8y=8ONW-bx0oAt~}h!e3&?r*I`|IJ)2n9b86pqml7#|m~WDj z-`)|kHy?^~+E{(ujQ9=chbI5h)8#GJSA7FsJS@epf-i#Y`cCoZ!4^M!W1jq){a?O} zwkxOj%HMU^TmFI`d#~3w7rmZg@DQq#_%p0~Y?8q+!<2b69$D%C zL|bqEb-j5O{nMADI_&=|2wVC08(hv4cYwM=a_sA$;_G-c z`;zU;Lt5v!^j>p%+3!O6nEiUZptl_n3>8Fh-&*)MX zpNGj_`Std_(VP8i#9stArTDV{JM8T_MHlUt&T2$ABI)mj zuOvLk@r#bXU_v~#CwBb40PB3(knI0R-=6%Ley4UZ{^(?X7XyM+SMB`wNBUEpUdQ(h z#P!Fo>W2*KA>yL*`zwEN|>~ZXSvrZ!WQv7>+)ep1(}(ivE&lo+xt`A{2TVH2-g=w z5+4TdOnEL#ydbfzVI`-dtfo8{1>!ywdWLz2Yh0~boS4&ckbBrU*AY4{V%CS_SI6!J zNw4<$G1%JcA=v9)iRKZMD8A0GK7I$-$KM{d_`QCv2=_{Lj9C2RC_f*6Z`jAz7%7Xd zG0AHCYS|`<%3t^1to-w=`*qU$`*qw>F5a)p+YjMlMD~ZJ?brQ3J)g7tf3hEp&eGGE z5!w4OBYUH_F(a?=;z~XG-uxuW&!H@Reh!1>Lvqjwm7y#aL=0oJd*aW=2r2y?T>2VA zq_Q-<%I7oK%15m7G*1Vwyhp@La~P;Swf!x7^-s)x(TSB|4i}A+l=Pp&oC+KdjfqdX zt};A7);Un}G;!H%(@YE57bcdZqU;<>%AW{U}RMdYxaq z{z<3*GX>Y3^wv%Oc7vxA-ivjT=ip5VZx}KALH2}qORV-w?+^L*s{;SN{ZjvZcCuG{ zxE*Zmm-cT1?Dy|MuLZYYf#!_?n0xiN=UGu(UB$KX)n#Y1gw(GV3eGjj*)- zQ6KKNeh%C5Eq%uJd3`PH^;>92q-{f~ZO&H{KWKgkuJw+h!oJ4Vdr!`jz& zK7Rl{64o;r$#aRVKm8s&lJ!;}e}bpNJIff6z1Z6~!e-z8i&o+O#xAUr$bKG6Z?Cr9 z>~(*(4{Y~WFZ{JtI6qBhokaIXm$2MA5YM7_XHH+X^~LKfhn-K} zLw_6mr>M?!KUQ-N`}?s&VY6@h8~)hWx`vdi&9(HHLg4 zY-7MRM!X6CmpJ_!u<2!gG5(Do;A16gay)P8>^Wr>^%_&YD{X)Gq}Q18bzOg<|5wbR zP~F_0f920rnd*YsuX0yac;Box#oux{bHq`8>QhLrKR@=5?D|k+kVm7p_In5P$H5(= zdA7^9RpEY9-^9Cis>ph=J!>bf#eQSBozrU!q}Q(ko4#;lRT!V7duEb03{cYb+P4w2 zXU?k*&zFu)e8`V+jNQA575{ncef+One2sZh-*Qy4*O)0A^Q2We-|PObwZAjIYL)#N zelXcLe$V|Rcy{6$Oh}|_sXE7Mt2|$o9+vp{$E&kFIUcONdHS*H ztTXk^+Lu!F?^3@GO7>g9gW;};w_Ce)h+je;B#-rKoo&GJ)RcH2V-7W^%DAY`Hu#`A zo7$Rtno0i~_79;`A4#J8b|dWb+Zy)yeU|+B{I10I`24<(-se}xkI%2-`}}rd`+a`9 zz&^jP!9Kq?l27GV$K0XHw3nKekamk!))X@VtgMrmNe2(ZZLO9y&WdYXN1Z&>wTR;( zAJ%&@b}oy$MUN(%`V^?OKvu6K4QbpisT#KrffXxF+RFmArhZ_u85pAfP8V^o))2^8 zvtlJVYOp}|sMbqL<07k1D>@WYPm1_1&vr#3uqb_2H>=Nn4t|}oSVUBcDB9$fV*ALJ zS;6#G7KktYLzcgcN)x4+Lh+9lOkx`h?3Gz<3y(9cvg<*<#=I^HLk?_ zdmZkCZ~dm=e+671te?i6)G%(u^OW2;ljX1~ntlzkC!QTo1cNjeOqx!hk%B328+2-G zDnqbI+$scVBmPq{XSXn4Y&05vOX=Vgn$Rm#xp=mG>pSZ{oj>{>y4R1-*-y#wtQ^nF@xmN0$?@wsUJm>1 zwtTP1l~0z7SCivHj_YzSGD(l)gW|7P3Z>O2Z4hBLbH;c4nEvetn5s zU+==@E?jWos?OBXKk!q0(4(G!Do&KrQeCv9@G36+hj}+kmQ!4~*rQ-w54V037v8LR z^l07`JCZbqcyss!7v9Ll?WT&Hq~OE0l4bMRGd|PW(CMfQNO@coRtr>_Rz~WeTWwry z#Fg8pMXN9?cYRt^2Fmga#Up~|@7}&L+`X!gi>$?BO7uB3CNwcE;>yOjkf$K(Djb@^ z#YLPVGhs=?enkZ}y#~-!%UR{DRZJ<@9%N z6~|7z;q(>kWQ(u#+va#n$Nw+pf9qWS&t=(p!GT zyF1qSj8)j~e%g3M<6m?Ew|byBzC!mhk4voaG}{pFns{2@c{1wu|EQrz@OvtA<1h(|# zZ!+xtod=sg#s4T5U-iq!*YWA&SHc!w8PUBVZUY9no0H2ugm;dZJq_Or@057RcJbcc z6^S+8h$74uC)RjSmH%gnSH*rV@yq#1v^|Rn`}{l#ca7>${(4^G%i~ShZ_htUTgHDA z_VIb8xkdcnV2i)ym^ijWW1=Nnk77J2OTD8Y(Kn7~vz!!&Z_5qLvPFdTj)6q>8n5H+ z&xXyu+u_`cf-kFz_A1}&2wM4ypGI%2Z(c8fKTiJj>nq%|j`(k&tiIv_>uupFeZ1q7eYAu2-ze@jY*r)#v+%+bbJwG;HH||;$SBU2jG*)_-!#+J7 zE0&(@d*aXR#ea9K^lQnxPhaoSTl&(E$mz8&z5bM(Ue8ZV{~YySO;>8Z!uaQ&uxsJhWJCl;rfIqWuxc{&M&M)(;BW=N=1=i| zfi1qqCyUL$#$%s^uS-*Wm9O&a%U9PiR=)ZM@8j5S%Qj0?Ue~hp<*DPbtCWcBkIC69 zeQ*COZ1xuycsC6DG5jP0P#j8ldSdDIey`Wx@AQ|@Se`|^MLLNgH^UdOygaeaM=A?D zAH52zed?e5>l@?Gz{x!O_&iO1!}HuV`G>sK2V1uNmSiuzo@JX}?e$`KaWoI(x4&?# z`4a}yHV#kmW#0gs{iCGciMSn7{Gnt{+#|7$PY%iA@u~f_BkcFraM<>jzJcBdZ_ZDm z{WXQ9FaN1Cs9@dX-bs8yIA_|dj#$(B_jP3EWQ3o*y~@(>0fnvmB-hxm5<(6Qrg{EC($>N z#rBP4eN$O;LSM={iN2{U{w48#u-;93KAmsGn^8YK@8($JAFt%6bDU&4FKe`epK2ZX zdtT1kp@Md)O=Ri!uWHtdmpaz?KjocnT#)mKyCtFT66^hXwMVlPYy70j?&!qI&+ddR zKa;Q*&rf=NqxlBH`=|WM-wfFNiKRD|{rApZ`4Rj4sJ$|KJ%62xUVUQ8!-tfF@27u5 zJjpk33FWJIyd<*cGj~OM@h14Q_~MI+>$!%wo;Ci<^Uzi;`IQ`xqP)F*pXz2l^-m?C z|6t{H5v=~h{vo$aB)3QWhOEx1lAGa8S?Za!)5WMj3xSpwvLao{{y}R-#-3- z#rg*KSJ;0QQm37R^**z)zPWt}{B6=}|7t!6+aLO-Zaq5trml_$wdZy`l#6_+KY^LV)+~OTB7ma>yp2A5yN=&bzp1%^gLbMCFx(ij`!_h?PH1j zbtb>&?`U@P0dQYzB%ODPQ)s;$G3y0yNLc$+@<;j+tT(;JXZC{MmocL8nJ2Q`B+wtn z-g~m5f8NxR?EdQJ{@-3)i2RAXXiS9Ubof@5*C)Ol z{s>;5ZIav%4?rgy$ujs{cu^qEo6FI&y$ciff%U%6-H8?d1@snQ_B)~X_9JM&y#00P zy?qUOvme-{EbL3VAwfpM+mP3l5=(y{`7^!vUea&D`1jnJ^7Xtb?V<5W#P3OYZtl`M z8GE1JC+N+7CibI9zq_*+o4wxeI})9Lzfb$>nq;r@i;m~niJRaC!nY;X`*ODsp2&KM z-q(AArM)jFz4}{TPZQBXuXCH%H|F%}FMItmr+>AnEZlE6REZ;B!Tne^2#^6cl!g3T zd(jG3`~6VRGLHbA4RK9k=||z;^gYpwbxxK@e^*W~HoemS1a1h{F+a7Gx91xjx4xw; z^aXBbo#bs;kEp}!uZeXo^89m-`w`dl8eiD9tT{b>Q<+!Zis@^7;XrtskQ%cY!po@7 z4T)ucPuj;?CHt3Qvwy3G{fYfn$zJ)_`_h(weFItV^Ieg)XYj3M;hR)DCwuwR_$2cu zz23L+`b~2By>j|}oc^x4jOV2OYfQ96`Fp8-bN>F0{|%_@y`wt&0Iq>MCcc8flyq^z zJC9l=J|f4u-dy7BRX;t`#mfYm5=z09M5-LDB&Bxl?$Z@vmzJiT2NxEN%ZhaU=ytdD{6^-wb95O;(UGBIcFEBI}#MsvljV zI($R;qa5GpSn>7#Xd&5)XHkEQwS9xo+4gp1{Lx?FgOj~j*B_o$mY!d5JPrRNVQas{ zr{;KCj<0pR0qOk!TmMntSno#ubxkBues%t~{9eLjB8{xyo^6(lyrnFAmt|=xZJwIWD;T zD!n0&mws9n?oF;>okZUtK8R&qpt!wr2%CR>^Z0G}*QA&IeT2Pzh1(u|16lnwP7^_7 zujeghuWumh{!d4zKicWFzpfyr?GKfY>YJ61^k=}P-(V=;#D#T@E0LZqZc#7ZhVnD} zLD<)0`#$R=@?Q;m|L42j2F{+8K` zUw5qdcRPEr&c7C4{6>x^kss4fMz8sP9>qqY@_iD$m9Mt%AC$js-(m(!Psi>F>X_t7 zZajU*lG~U;K0{xEuaRvc%f1{o`yskf1)rYm{{*iBPfV=x*Rv)o??+zXo6w~HS<-9# z_%ZOX#0%gPVD;%G`o^KY>3jh`jj!T(G1fP)`=IFFHtO}w>DvjuLAE6NCiH0H?iw+Z z{wCP;;`ZdvSl`Un{0RP=*^RJ$Gy664H^Rqr4Jgq!wbget{do+odH`;dI_&cQENuQ4 zpyw|e-8shB`1G*^caNB9eEPo#+x7hCbroS>e%ZCzUgKHKUhy@*fU)Ag1Y3OZ+O!wO zvfmmu`whNh{CO2!D1H*@2a-S2D}EpLy~UUPUagz$ulPF7ce+-L9_I78m$1Jc)A{I{ zq}TPB>d)-Nx*j9R;`Nxu!zq4ks*f6fCmu+ek~}}ruOvKwRhuu-d}S4sx6M~}*U1&x zF|hi?64j@dVXHsdUggcUcgATI;d|dRsB@AB;0^FSA=Uqv;A7yU5)WW9BHcT(`gH(& z8GK%ho}C8IhL2ACFXBH;`D+ZaWR=q^vQo-^rNq)}@^o(D7l{$MWBm^78%*u=n2^_WQdp?EQ~|z5kw5Pr(v)n#H=PHu)HzF{Z$R(D^2EgYhVwQx_V$UG=^N4?5k4rf{Cz9C z6kp$r-iq+3q!;UY)w8a5jrT@>H+*EW*Eg$|z!xOecul3XR$`66JcY21X^F;bs(sxf z5bZ8}IbmxLHQx0lxOdWjxnE`WF5!I>Z@fQx>f(us^-b#CIcEAg`y-sa`bYD1Ou6{S zax7VV>8DbkO#lBv{#VK6U-QNJ{Oj2B<*)MahAPf9%WiK-ibR=9;(i z)BgGqw*B>2;t!>~ClW`pGrR|E*LT|AOp#GcPvx)q04)Eye>H}9{`i>;`{PIXo6S$6 z_VQ7dw*{h~PJC`5w}{^p_VM?FeSF;yviKU0t^S7}kG&AK@z`ol@1nk2dn$gJ?Kjr_ zF`erC{VkQPzkjB_f!8TqSeebHj3-3QG(P%w+H1XYAQ3Y}vdFS8@1FdrO^}EWU!(b(fEsW8 zR)?13tJ|(ce>R$j^e%&a`aQcgv&z2Gghw z_kTa^{r{NLuSm;R@OSiCBF_&pH=)R^9ge zY>wNqJzl?Yj&(oR>nG;;Hpf@DX%*V@qew#{ZlL~n)?DVst5&oM=Z|fpd8XrUG~4Qr zzj3e~f3m*@e`bGOd8=%7>YvUj66puf9-3afI{gD<<);s9>3`ACD%%Dgfe(qk$=$^A z69JM;I%L&7gn#*%O7j2y;tWFW>7!=njz zORR5H>w4-0$BPIX%YHd*_L}ch&xY%gy~d}D)#gi--aiPBj2O~;6SnyBwse{}jCcrjr(+>jE`H*w3zztxXC>zlQ&uz#)pqwBeSi0`lO+Mzdo zxtWujZS19Q(r(EB@;)e(2A@zCHaCw)Ry0mvxD2{g+icw#kl!7hogV1J<>M z?JwzdedP6bI=$xe*n@cWii~K!js}(^1c>JIn8nhrSEQc?J?nm%=Y1UC z{Y+`Nep)ldzvuqSOxJ&t6Za@>ALfs=<6(DL&jVIYddcKBPT|5r}G zD&--)+E8nU^$@6$fA+sAgxQj`rfoK*Dl6ZmFr{iyt6jtYVex-=tr^z+0{*w_s&Koo ze*GQ_uis-{STjxk>!ybP^Z8$1n39G6gs%zqZJT6YUel=cRpCGRA)Gbof4#!(LJljU z4gX(m70Y2?w!=#Uz%EjyI;yS1WU)JP*&f%Ias{F!d6*1$Bg`vW3z>nH~irWOA6caakB6$>_9h1+?f^$ ze0g4&)Bk_5|7yvjwq4sjob4DvSik9wy|Q^Zw(ZbvGQg9>hZS_w*9w+@?VvV_Ggs%VlY~A}xPN%U|NMCZ$tT8q=#Ov88%LjU{!ahs4?@EoG%; zSVSh=yk6TgAS&&@8iWQ~xv(rx%MNKt7c{I7%f`+PVR>xUz@uL#ch4HuPD}c*&yucJ?I2^O!eSXXLp*h@)@ zX2rKCoAcN_awa@>NHMC5ai^G*+*0E%cVeC1ZINi)?$Ipo3&izgulU}b_471t^dfYA z+^DXzo^|$@5;ps9u$QmLlV0OUZzXKkLGu5Mvlp*St}Xtt^sQ>)r_z>4ult^+zXbhs z_?e{FI0PMq{Ze}QahTT(kK;autPu?~u4N=aD`oL9Io5qo)4wnzj$>mHMD{m3y~ZWn z0o!$e#(CZecMaCOZ#p=Z#ic2~vR5D8+pAA(_IGZYWe31yJBWC6juqGIPs{N+IleH* zx^A}keRhoZls8HFQ+j#_!t`tHkcDxRe4Zl6gTr_i7X3ZRUhy9wZ1KgqFJau{z_@=j zSGq)c-NP~cVDtyUUnc$7{bPQtd^Sfp8U1rfe<1uh{6pfu4UNyF^=wF@aa!DpDvr~7 zhQicQ@pe>a+Mlgq+n=)6J2I-nlFRU~`uBRoOy!~b@>U)iSE~Ki__e9JUCztU|FwemhSL6Ox--55a8Nov=F(x}RiffJ3&o#_FN-f;ir!f9 zbzj-X-xcPt4x;mmo(tRgMd@FK#?lvSo+zY1K1bLxn91}hvvHahQ-ux^7-@}%F`RC?F z(Z9HZW7Ut&`0AJZ>3q5t;nfqb_fY&!1h%3_!73gkK5nZ!k?$|(05|rL$_hl*FVOw zK=`4=qwb33tum6R{P(D6xj!a3R{Wlnjm6h@gtcw|BF_?iM_6t9v_RwoUX$>-iS-@e z?u5@vtnUDet^L(^fVHh;JBa+xCglBdiYfY6{Zd*KQxK)6{p-`41N-#EKD`%UOYf*| z@jdL#Qu*mUqpi^^50YN!KVhkR%aR?smxQ)PZKUMvD$Y-oh1yuj!SLsV%adO3M12Fl z7uDIp#8=(vnDp0S{{>;4QzdW08n>W#%OujbgH11g8^Px9SM*O{yJoWAfy&yAczcJ~ zyw_M6#~jTv|8y>>a^YJ%GST+x__6KPcPhpENr@_QV`=f< z#QzMqA9<9>pY-NW@n3;0zU<$Jy}kN2X0Pq(4cqo;9O(h@(flOJ-$0g@KaC?5&zBOB z{Z%ZzeIxAc#b*C+%6BQee=0AP&m!2iPb|H$?0Ga$wAZ*(@psrrWUu$8%>G(V9$i^y z{hb~MGw!inbA7lKeNW=;llG_HTb;!|o)f%r-p9VsmTgS=+YvsoYxBGo(l_MvN6}~e zIQiQnr8mOGpV_5Zul!7F-<%)Wi@p7%&dv6EPhc{6^UvvTgY7xJ-ZR0Z#d{_np}!_= zkIIMp1;z4dg4crOL!$Tk_N7c~+0PQaw9Bp*RQ2&r%F^ni^viSlmtfOtoTr|HsZEh+T;}btjms2o zhd*Q4{|h#I@s-3gR(fKeA3p6@Oi$xHd9}Lu+;IXOBRz*{B#vYn`~b_<197eO2l`d8 zH@%*#EB-dgUf)HnBY!%_NfiGYMs_lD}eq4Xid*GUjWh-J?DolJw^@XkUD6;{6kkN&H4> zX}Dfr5Tj@Rr14kzs81l#bNlT`|AdH{o}=qMgSy1h_awij-vRw8@TN(x=k({oBNOYn z{A9RWVx_0}mY(#3NYC_&zdqaN%LC5okupQ4j-u8s; zc+0b%+v<2aER~1!VzaO49oe4K=Jm>t?icv{%!MsK`S^OytK-w!6MZ+a240IaCHl_d zX)KNP-Nf0j|8C;Q(&q0*DZbe36<_HaE57n)@%0_WV_@6A;tPrIS?`G(%l~@pKl3O5 zV;svrE{gv3-O3d%|N3s_;g0p)$_em()LDtXTRG5ekK&6hJ;fjIwnyU(Weo*=>*ftG=3ledqKE@@e_ecTPt*)^|=1gV!LAMBh0r!9TYp zf+)V&$5(!h6@Mgb@%0_lwcYlJ)t9sUi`R23{}XclA9F1KufgVD-*FsH&g}YL-&MQ> zrW+L`&$91=&fANNK5p?&jwAnlju8(TGV>4LKC5%^-#kX%Fl%1PVmkH!&S3^xQV_g&!m zj=(RF~h9HR3p(eaVAl-0J1wyObKs zE!hG78|Ary)6auV-;elzrT!d{^ctsm4E6E77(I+T?N{BBSLfQw^vcgzY;F5)?h(I( zX#Me5;N8jpu;fp?M~?T*@m@LJJIA`8=Kbm3q-Uk=`Nka2cC7rr23!8cZ@KOH>*nRz zM9Q1tqCpOu$@MXO5_MS8niKyF_|R0|`tGIrYN}(Bb-8hU9C7y}4T=2S51YS5yHWo5 zx-+V?Fz%cE(=M^{b3APM(|15uX8)*8NTe@o)2!Dx?v3F>(DHulwdL6p*z24ixg0)& z<Yt2E{KH?%!@a6w67NfTuanD9{h9J% zduF=$`i`NGKN`098t13Btb4j1yrNS@_|D;xDZai-#3g0%`HH?vGyvYr(qj^UCb)NE zeV2$!tl~Thy57*Wg%XAo8Mp?BpSD=aRCz|W;=aSo~=XuS&>-d zH1&dn?x9G;N6|hQze#?MX1&$-!F0~Won(w$v{6NPzM*&ZC91!^{r%H!6&aT(VIP~m z6G>YAe}X}|m%xW$BY6eB6t?TFTZkXd4N3nfJc#WX9L=+}$lqzO`uLK&hgM|c$-mvt z`Sb(IllJXg_Mv1M7xRNy>YOOqbDxTA2bNbQ);L1F=lQafi1cT(^!n+r*Xwxl`hVv1 zI$pf~$DDo^`_AjHguVX{bNW8y)%3mAtIVFqpIuMs{)p<5zdtfc=}`uf)384hf1UVA zZh+UspRU0ria&>?kKX~E#XqiZW#|vR60B(li2oPjua@HLeu&2W`THSHus^R!_PYP_ z1;5#en+X5R@3zEMJI8T!wm*L#R+-%-|NJEP?^2l^O?Y6$?04)>hqVtSvcHJq!`trz zd;7y+Z~scpzMA}adrrA6?DvPgf4vv$?Qe4S=U!16?hhOnvzLiCCcmDSlfLKHl%Mel zvlzF<@p)rObfEa}P`|x?F(((V-)p6o`m&Xq_3~HNp_!k9-=*=tAmvZ}nKii>vHpzo zkDxRCR0j3x`k*%1-wfYG_=v5o_ZuqM9=ji*_=mz4{{}$)mG04fxIZyNihVSl`hfoDheVch1aupMuz zZ;EgAP5J$X?X&!juWS|Oon9lAx5jnp{J3rMr*U0Z5w`kv6M7w=CC+}CvsZkQEXLRN zatpV(y^6mnWnuBDCza6LZ?JN8ZO!@D` z^}tDl=cV$m<$6xX|6NJ1>pPwQZ%M50dX6Rj){b?*%~<|dVtc%QZmG5KKLqyvkATg; zp4Z5JAACskyk-(SCt~=n=oaMF(wnno>u|r#&euz~j{IPW}m-XMI7n@%37s3`_ z_F}UazwKD#hE`>JImHAKf9qKGw~%*>FTL38l^&No#q^{XoBrv0`EE0wPfq?-|JC<+ ziJwILdG2`Kh5c>%3ujel6W|Y${bc-o*{1nkV&8*p4ra`x*k<`9|lj$6-5v>3lmA-kYC9{-wA4{E@x-vu3aJd4aOE^SS)( z44Yo@rML7nZfbvcK}ao*tJ3o%JO9aFZ*<<@da(JMgnkd$_XpHB^ZkLRVc#Fny-Mp3 zEUDtVt*||RdJcbMU@k+0NZ;u6c~*bn7WBS9p?zuF7xZk8>AP&)HoFneH%0f^dmFXQ zo+Mn0jYQ-6-ePIv`ovq}&sgIOx4^b9>m(Y7cqnY=d(A^T3f>^9!*^FFIo7V@vZ<#WkW!uNEZmL^ zSlHWyFxxD9g_D%xv&q7xZhhv$G<{)S`DEu7Y_yXeKW2VK?W#R~Y)dt8(&I;llzY*N z`YqfVd^D%5^{h~tHcO8mC+1fy$~$egPN7n7p^WL;qGz+&IpYZbX(a!y9?ri9PS8KC zyITJ`Yu%gr$Eb;d7Ipf^DTSLg`q!v`i}a6b7RGFA5jLbmtHQse3>HCKBP0C_fle8& zaakArvW<=Muqe2x!K74XWx+O_N%aa`RSo~z>R)!iaQ=lhXgdXpQm~K$A#VO5z%#6jjrMG1hSnc`K?Ksb$G?N%p9cCPxkz zI!0$2_2h@aj4?lITL%_Bgg~lmRas^E0#bs$kQ}Y%q?tg)CK#g4LoB_&s?F zi|$fsO%DqczD{cjD^j4UKBYc*mlUWf1{S5Xraao5G0I9pHzLUNUs{ecYRd6~952f8 z(i|^?sZpV7X&lrKIj%|HwN*BxuT9^z6>FT+V7QL3eq&*MXLq=C{08&g&pO7BO((2h z|I^|)H(ehU_>D(z+g0^b%kAov@w^-_%<+;O+jfn} zmG{^jkI(Ux9M8(}yc{otwg2?f_(kns&&y%$8~wC@I_374_TMaYjr?Yv+bdfJ>-?eL zf-~c|L*oYG+jcF@jSF0sV~tm=!KZ$zCs}TMTuqJ(Io9|+AHP1w!(nZw8Y+$V)A&8V z-5USs^%}2NaP}IXH&}7`Eg#=2j8;04a9&z`x=_8d5zeB%B~quomSXcrXUHSXp2w^u za*A!KZLo`cC129=8;V&DT@H&ueKY3oki8rD+Gf1F$v!?SS*+NU=K%0LeiHFbIlj}e z#wL6O4@xceC-~F5+q&MD{06T~_^#wnT<`de-n=&p4@~jDf_3fpaI%*_jU_gJx(TT< z`9CGS(!YvU($d%1uj5Hq_b(+H`*k_X`vUQdh$?tGVe1k+hW;}6u(Ywl12&2>avbea9NBbO^SqB>Urs#`o%GrTp|^doD${N#cvqizg?(9lixt znMyP^Y(C4a67R=__S^8uscWOLJvz_cll1aWb5-5RQv zyv2zX|0u#f{;9CV-=F-detehgFU0-|!apTed!ggk+6#RH@P1hL*Cnb?x=&;EN#D3@ z&$bOo`sG~cp90Sc)|?|K4_)V4d8qvEg{}N%?H%7+xH#EsEZzZxSp?}#fL#{eC)Em- z_hT%rycZGwW0-6Q(KjM>-rYH|z7eT=Q9C7m4f`Dk^NMN^rMH*zpY;EOz4s3DqR9S# zdm=Lf$Or~7&HxG`N>C9|WRM_=C@3hVbzo630_K3r2&kY4n9(&L7!W~SBdEJ#K*5Mv zjOZFL>zXifU+?NVpU?U9vitpg|G3Y6o_lXS44-=SIdv*@cXf58ZgyZ=zZ@J{YeU+R zH(MLhVh`4i!aRn8)7lul*LRBgS{t(^e(S5yT9nh^F;T9ya5^8gkySn_D=VKeBEB6~ zp5!)!SMsazOu0S-(r+kT7UNg=ZSY%orKcP0)1$e#mY(+5>j&$ams9!=?fEjJhVf?P>aUUOg<)M^Gb3xQot_7ZQ!bPz zexH8LZf?}q{d_ZiyPuUG)n7h8_rSHO`9$em3R`-g**7h_74dq|T9&QQ zeKhJzJ`KN@??ZT#tNa(iR{o17bH3oQ{K;u;=oL1y*`bTTSmcZkq{`FU+T)ato;GxLtMSd-ERphHE zAKAJ!hA)C^;j<%ui+%^VMbxjpGQGa0+6hFixtX`NOas)ytI%)8pPcSD_5IuZCVP9p z-k#X(>3r4@&d%pfSEc=C1IlGBEwA19wer$hywR|&&C=RT-G6><=0$L?m>#Xoyc*Us zK~8HkujhC3$Xc6u6RbWWIjyZz-{AaszI6U{z4-H|`o_|u>unJHXb7FASND&}b-(S3 z%@p_LRRrx%}yR;1Vpj9&Ur}eCv96 z-0_$@(q~(Xc>SCUkHl|ttyRAaBR#%;IUct9WdQo8!i{72Z%NNIxLYjWOOfk(E^~5S z&n91g21q4y?pS`? z!`$+@wUtkCA#4r5NEkU?kE)OS^`rXLt{>Su6882EgPTVCvUfOa_U`0DKL+j+L}PWPXlzXS_T?Wc?J)kc>5X8c~R`q1PD@G?0RZW{GlP*Ha*qdgP(E#$ZGyzJ`a zCz2K~|AMrbT=teAH+#$Ad%4!SJ9}MW)0bTPIC%LNPOkLmn;|~FBVh|4X^>GsgLpNeXKwJxsfMrmCjY(KbEJ~&g$L6&Id!i;d!WgTJ9$FxrM@aA;nr-`y9XP zNBLLnSSy4rwHf7PuLi%jC%M^si^^yRxK#|VwYGg>TWed?KK;h$Asmxad}rgg_%t@z zj^o3ElsyJuZrT6G#uBx*^;*(5E2dXthp*wE$8kBa#ukmGuems;ud&sWDGM8W)LabJ zFFiwO?tRA6RChifSz~R(;nyQ;tZf23KeFapJP+UPuKbc(iUWd(I)60vJ&*1Bw{x+O5 z)0h306?vBZ*Bj;S_r8vAa1i#m7=G~VbkEt7BaftWN^PmrIR|o|!Q0`t`bu+2$x^{w z(!aqrmsIv8H~R`dmHb%4v_n1pm<)DWAxc3w;=x6JbW#@%I{#}@#Uj?*UCro zOEdBwq|fA9ORHzm2z2ChzBO;z4&R_ZHVq!GpXV~?^LckZrQeS7 z@cJ_{=U1b?7QgC;KG^ni&Gr1Y`a$yZGIHH3CfEJ;5bW(rS$?19hHR0`ft>>NO_Po%PIV4 z{QB@;lYa{@`Ge?sx!z|?uCs$VvYLCqEGRdZd4MbmY#2w}*F(Ed9~2+0)v!HKdJX26q&l zanF<9(fr9tem{PbYptBvua(pD&99Z~1y73MwRTQ>M;UjbGjBK2dzQ1`5BB!O-u^_` z>_2!^NpcG5KP63GBKvCNoBiE(C{6C7ejOL>>zjYuqI*Ep*Ea=K_Ea0esXT7NXXPQ@ z9GUU+JUD-cr={wN>~+Pqx2Jb!Z%^$<3om=+l!vjtf%pRQeWN|4=Mm%n-TT59G!ksZjZ>4&%|%?&Ij|2H+V{vUpTxp%;mG|zxxLz zVeD;_D3|_l(rfx>!dko0AE&O}%KapPvUdY)_N4zfZ2AxVIbAz2nrlc-??Vqz-u`_^=rwqLs-8T6Jx%d?tYvyY z@vTpL%;Nh7`E+0H-57xR{0xCU-z5o z_dz}dZkGm6v{q8{2{w#eH>fPE1*O^wPT{pS#D`a#z=yvPw(wf}IDq`<8j%xguD7w; z2Xm15_Q8$tuv9%!dqVF+*1k}Cp@{TZdqM4qWu)Kq^^J=2kZV6BIkj)@SN#^b4qgWP z_le)(xv6?+-;`7TEr`7Lwya&i{z);s(p!hzr?(eu@$3ESQn)>JtlVW=mxsLttiDtI zvmWWQ`sh(Ql>QAi0jzMAEG}U z?hskm_xo^b7k(w@!-qejA|L)17JmFe{CWqMQ+ywhAFqEj=g;C(c_=Pl9^1fH9_o)# zUg&HihIe;>Xl4IbJzZQb>z>+cZ9TKlYXeN2r1iH}P|{DWfr zT8ncoGJC#=A9q~+QMwkXI>wjf>)6)%DC&bzQLgawxPHAo&kNCCgM168e<9be=`W(8 z`Xa1zE~oyM*WeZ@CJKKG*SCd#@Po=^GBUg0e}=DsuZsGo{-!fxVAIVLymiOOU@^1n}t$@0f5lfO`&`$v{s{U2UF zm~(CNV&pF)KRoL13e$v5Y9mX&C-%LZ<)b-y?@KC^aoihYqkgyAs^k#ri=88%2EPYe z{kIrCow~J8l>Y&j@&3M7WUY0n$3MvNc8=AbdM|AKsrm+z-Y;Wyo#-1#-@x__B;9}W z(YN|Q&y(Gd`{&8ePOj(4NyzPaQdP_QDe`U{lhgA>?4K{H&+U3sf7MEOZqQEOpVdBF z5P4crJzcmCz3Dae3@KpkKoZR88&;0Pi*n2J{rgQv-(JDQJy3In^N;(t;`DIY9H$t z$?Hh3m;VX&@_jj(CYSzaJg;HxPm|XgLJ{wE_FxczwNcz3}0NBf)%g9$c zxz?uWdbIg?>VF>z>l%~O+7$84ftXJ`DjhGGSDGGB|NLio?~ZbXFX!5_@M@nuhpb(c zt9{lL`G%3_PGs#5=e}9I9;J^;f&SgF=}Z0^*ORxW{%(_Bv7j_*#rYZ@?QeQ9&v$Hh zkF5T#tKgF&t3PZO+}g>jNROAF4x3#4kK2%*&QbpgW(c1IAMIFs9~g)JblB>5=_|b^ z7mwk3F}{-zF7Mcgy#=B@rN0Mk=@)n9{2RyDfOLK~VYrmSyytH;U)ymK=Utn;I>R+^ z4f-wl(|2d;GF+eGh78Zn@DjKVTS{k3>}j62XU*I8ta;gM7@_N^;JpGj}lS$tYdFZ92bjV${?4`(*r`B5S^( z+BzFYz8!sT!K64oFEl>>8ayV-HGcj&TpRfb^fh<*`*?yMreSp^tannmcCf}TEdF=U zKbec*tW+H4Yo86TA6fC;4g2`ie`xVZz8Ckmm$MyBPOkjbV9V!k8`$!vz2-;56I<~g zPV=wE^2=*baLWHh_$>d@{{xxVr-@pizXxpkN?$MX>(i(AWlR71*wfgC>PR{5t*^Zw zY_I(rVY*mzd)>?4W3adPIBfP>?aI3{cE0DBoaU>G9|@Gs$3F)D;>aVYD*EBK@_wHC z?ys=TU;YBtyTS34x!mK}yNTbUBWr&D{jk|n{CYN7{F?7YlPWhqM)CawTYQ?YUrc$u zNEkWEHCNorr*hoOw|8>oPuGsm-}$hmrw8f36doDVEBiOY-u`Q_x3BiQ$?qXQ|Abfa zC#Udl@oRFi=XWOT^Q-#E=XW7& z=~H>Hf_-{?ew5!Yk^B69)SeIVg z1Bp}a&AN1c&+tIZyMz^%pWvi_D?ZZ~>wVetQ5jZWm6tDYtoT;I7N6{?Ki=!_TT;lU zW|$$U0{!bV{Ip}$SFK6Eudmv`R$uA<9|8OOe!DoKaX-uu5S(V5#fy^Zvp=bTm5?FerY@7U@7A?Ur!He zokKaz2d?M$YynQ|DMs^qZ?xB;e|kOa7+LbuGV;@5lWTtdT`)hvY5hbIVULg8Vh`Gy zaA~ynA@+8~ul;J|zSxtd6+Ae~O9s>C;(FL3%EhBHe1YS~woA)$gVbD@55GBnOP})7 z&au+l3%2zBPpoe#4MCqRX@ir!WASv|*!1=k}*n7f|T(LNGZn&fnSU(D~AKuP%4Mg#uZ$g;N(f2YW5uc&Qd*Qe|) zhrPY;VQ=pf*xOTozqeNbdwXqQZ?8A(?d<{AVpHzwL(^-?^u;G|+_=pl%u#}Q%?qv$ zz7?OIVRAzwpO<1HeU-22OFkd=ay>6iE_W+T`qxLf^kvWV72iud zE4@99Pn%r!#AffdDQVs{$5-w#xF5gDliVw?u3hVI5s!8J6?`*%O1xf6rl#x3E{xCX z{m)6~Ry|D`ar|~DJ{>caURT|{3K)#IM zOXB%xC@D%_g3pZMzxyR!e_I>*RrGcJ?5DuEL(qSl-)T|)(~qZ!9c?M`2{b-&nxpd&G&u*5_P)_=K|M2jwnosJ(cjWr<;Z>iSd}roE_9LGS$}CRbni$D%y#S|gO`O7Sy#S~Amecv| z8HnqE@NJ2&A+o}&KdC;l!fSn{vBIASTX^aB;(j){^!IWs{SmO~54fHAp^fwX8Io_y z{qE({GV;GW`4T!ib|P*4WBSf}wj_+NA0K(m@{%wY?}*4R!sl|n-r`SAa$OH5p9aq? zp$|FAS1?&x*MBqeC?~GNZ>;$Df-U}c;YVTBk#gnFlq9Mj_DL~mO!}D8nG{F)k?8LV zw~g{%#D65bN#rjHKOU}$JhGU*?D1QBNb@P_V$02^)cgvyudMv^?SiGmPm?vc9cj!g zChqQ$rQaVm{k06{twh$EFmfAlJ{BOqDzd(1FdctQkg`@1o}J+a%FpDAe==GaJ<)gNRm5=z#41Ym-O}@qEd>eqe=JV8CnE!GIY;uMFD8rjkKb!p5mg%<- z>tgs>U#Iud@W>r#94*Ih?^}}Ve0ljW^5W%3!X}q}-T!s`$tk?rmnPSIVYL@2mf#fM zF8IB@yP7Nuc4p;hGVxISLS|5oJ9;LVBatH_OE#Z9pXr}@UJuP2d5Ih~Jv@LTzd z)wcKiY=#?=H!ts#;Yk@D?#}mdCB;b%@;7376yH@D{j=QlBz=9m$Lk+L`T6*t$ndSM zewF>w%DjHn+LELr?JH~ltNg`Q{?fk{_V!Due?5=N@I|gZR`|2H*-d}$A!Xs)h{MQ} z-2I#wz5CMy3r_D#3-Jw!toMyI`0ah;1@v|AZxH305Bdgv9@D{{HLxt~9l9jNC=oQ%POJ2kEVRFSMw)iyPNb%czBk9ZU^~I*&|0eeGCvH81 zD?$*Iwu2qg?U-O8(5=tMDW6$S9ZnQRLU`ix)dqd^P0P>}&7xgUDY|EN|_dJ_=h@ zlfh~Jk=W)RNv`YL%f(*)OGYj>x%Ngs7Td>hOip{9t9`wDiizZEpL+RwPA>gw%GdP8 z8t?S1_KdOY^>y~XVt-4ujg%+39Um?aeYLNqm>jl-_A>s(kvCvt%u>P+jl77;ekR;9 z^7rs);JSY(FPt<>UxAyh*neebEpNPCGac>pl*L={I@Z0!= z=BFq8n?oHXr~3F;el5J_mv4&vF3zEx=8x|S+kA4(4?hd`^Tj=%N5fW3l@^@p^B-ZW zpJ$I|ej|KXl>fntJg*SB@tWNxHwo+4j*fCYPgZe1+4Dr-nmq^oyIgpEd*b@Y3f}_u z;l&ny9P%IFt)l*=u=aZE82J&ns51ZUK*gu^5f-2HE2xjX{(kUwF8sHV`N`eKQC#>V zg>^YAyo_wU#+d^VXZ(lb7yO6gNBxK68#S(3X9VT{;du3bNT=%7eF`mAN32LV_rc}E zRwSI?cr5kRU5y?mS+1fYcPx&wO>-6ZF^O5T)jrmW!qshQWxSC6^COO!$xWF2M>`;N)kZApuR}=duOE>=24vi+k1?{zX$v9tKizGFS*73ehi(B)!{*LUCDAzo?@9|r^M)THGydy*TvWFV-UEn98zQ#5GiQn=g z{oYQ$Kl)-mjTxNmt6$9Q?;rK;Jx}wt)J}fU*?$x^`{U48Kkry4*E)KWD?O7lJixK? ze?DP-{+Gf&|G&YOKIKRAFns=%AD{ov(YN@ezn9Zj{>483YU7!G->xT`B!~l_I3Ux_vc^jGJpQxhAsU%{~M7XfBv^~`P2FD#Qkpi;>(@-ne z_xlIr&*%36mtWnlsvmrMzjboW;|c%a770xliv^j%B|a>G$@xaQTt^IVab= zkXzyLq(M&h_1t_d)Vh^8@M(V2YbU|Z%_4| z*;DwFU?2WuxHg7YeA8izPwD#%_Vzx9y*)h-y*ZGSxIJw@V`w^G!X}Ntn7lrmf5pl@boVpJG+*F+W zb-Q#O+}Dw%&(L>)egka!ijRM}`1GDXlKR=+^JQQ0nZE4b4SV|?GWL~!)0aK%!({fF zw@v4@*t*9oYh3*W((cFQPlK-W$; zWk18m@h8`X4xEMLuUm>?-?gVFa1;ta<*Pmpaz@*ZuC#{~*|( z|MBqLXiw*#TfE@>-v;~hKM%I^FZ=hv-u_b9+t>Br?W;ZDudh8}Z@)im_SH{yC~W;y z>*D(tbN$TBceU6JN*@I9a-|n zsYAT{3E0cEZS5zd&yK=h4aDh4g&n z(%ZSXFnkx-!fT!Fd+F@iUZI5Wn8tExgh@4Yv4ChPAJr-A@Xyb#^}e>gTrb zihnum<6qyEm#)vPNt?euJHr0@)brn8pY^a^p9+5>?8B=);KS1-C&D(8>z0t%Wr+vZHU!*pjoaXKB1;3tRn72Cy zo*!A^wQraY{|)TJYtKR-zA16}@O!~N{JF3XKN0rfFL&V&ttd@?B7g6YCONV8P4Ij= z*Msr4AD4tZSKFrQiT1HmeY;8IJ=phe9_3@#m*m}HFIV|^`72JolzsJvAh-7IYIqoY zZnUp`?|gl$eeeE)e2RhdzaQ!K z`R5kN$(7zQu%%b_)c!GhihnBU@$qY&u#f+CmtKW$OhIzglAoKHNTfjC?R^i9O z7Jl{Z?2`$%kKyluE6D$<$iKnrf3o{c;q^Y_!`}n@@MV;Tg_r%Qu*t>Rhs0R+=EL6J zcTTSO2U9*4|7RbvFDGf6%rQCD2O~+p$u-VjPJCTbaZ<`6+HP=bY|2TleOOGcc@3vg zzU@+R*oRO1UTqk;)hDIN@!XF;5Qkh3c$>;}?W%YvycoVNrbp>Jvnrpy(~&<3502rr zZ;hV6Ht45)XWBH$*C(2{FTPpEaSA`5_JM`ppmA9kQxlN0pKV~DpBG@WC;Ly3e`D!)z>eup9+Qz^#2T- z{s-{(=q``;XRIwvG!Np4$l6zO0eMj$soa3=*yj_D#gS~jLs{}Z`~%m3Tm|XBigRPn zmskEMP42_qjxl^S_FsYZP9e8jITnzwiU0NK*e`}(?)@}45{l3266}I|b`WF%2>)*%u@cIj3um1q$ z@AXSLcV7QD>NC?ni1Xi;x@Zn%BBy=K#A*Y{ssHW-*!uIN|9eJX?DdCI7^XjBT3Ip~ zj+bw8E0a>M!tSZTI`tO(7=9~%$$xP2r{G%3W1`bPhWvSb?NMj;r2jDN^_hBAp#MGW z^?!rCerL+d+dl>N`r~1*ullb*A1=^`O<(;*8*#p@e@OdYwjsUkV|{lr{ja;gCy-}3 z?He}+)-@(~_ASL>UYza`xmSNEOHQTy4@@y>N{8@+@Sh`VUeaW2-xXQy|G%tX*#2+T zys-U01fCo9_5N`Pydd)N#5bTteqNKf70-%}QLgm1*eIV~?QZALFHkri6RWH zV&C#m7g8j_y|8zAQjG4Nkt+t4hi~R|iQE(Y4wOZFyd?_X6!zg4z&?B#d9d)8NT2f9 z*zChau!UEAC9vr~gSJyjy6&_TPUpK7y_lAA=!(ktOTkbatukzRPZxZK7PW$S1 z=J(n_wChRh!T5dokA$uK)qm3f`~Dk^{|w_#PW|5t`L+IU=|2m5{byjWFS+R}eV@ZV zeZRmyeHu&g>Dvjm^vyi6Jb41HBaEE5X>p!4Z}KpXuNTWR%bJ%dTXf3=mu1bH+z6TK ze7P*Qxv4VDE9@BMSzcMeKEud1PlG37og3pLV)*@|{AT12BX9j*_<1MSx`b)ums=*d zYq0kfJP;kZP`~o)>r1^4SbZtE+BaT44fb-iU%XuHWiQu!8!y*9V=q6FYs||phrL|; z6nOdBu$Sxp@$wyDFJGFGf8pdqHmeHzIB5)3?qW94SAIW?tp47M@qd(x6X~-wDe?L% zGy2-c-Sj6`p-=g&AMHH~tL@*KV{)a9tCD;1H;?i@u%3N3QBdIz%Y^R-`|w|6!fTzj zg+ITtD(w5#G};%BCVj@A&8!OJe|^&AB$~&2C;96eS@V3guiNgCwJ+?Kl;2pVukjkM ze-QRf|4)S1`{I^S|MA&X$*w#Blq_8ZEUlz^sZ0+=H+c* zldu12WwH}IC))exrIkrN{6{PgozJnP*PqW<$d5n&CCKf3UKI7!=O@?r>dFvaeWG$L zn^h&xQeHhGmvR2Y>JyVw{}WBHT>q2g=V0H3+YB^!WR!nDpBHB>hcbug}u50{uBo z|Bnr-l7+DDA-Tcq3%NDj#mB)6jJe2=Iu+RTdF8?7v zRDRyxJFwY%a1`^VNsFF2a&1_YzLwu31F;@1%I$jm15VKYFv=BP{hvO(o)td4 zOnAMk`0!mb;U)LscgTd_HxquJOnAwC_(3r|ImzvJ9kcU4{BR=w-Ra=ObxN|jeb=Q) z$i4(`Jz$Tm^ZL@(N`7>wM#vUUKbmrozk$C2lk(*-1-)vH z=}-5C&adZr8D5lOoo}!IMut~sSm)pCSCB5xEi0ATJ6>9sKOVwH{iG&;yx8d{ zY<6!pd7H@jlM3h0&8SMM>q_&->&o-~Ff-WVD)Ps7%;l>l_r>m{dbaaRL35pN^Pmp|=!V)@hDZH+tI+->a%+!nq!#;5dlge|?A8{P}<#Gjnz_Sf-ieWg$AleXQD zmk=lWgZMT3FAPrC*N%#lWv+!+BHt^r&X3C1&W|`DEuI@YR(jRX=hMsUd@j98kMe5i z(cJES@EFX>Y3_M{xHiQ^djfaFZ+il34`EE?_7qlmXl|C3hvbu;T)gUk!Ls*l#@=|& z6=s5yz5m7vFS(^>U97PylmCRhPvC*kzRKe}*q6umu$9NrSEkpRzLO&-`vl3^)Ad&m z`|D3>x9d;Wi^gs{@h7M2Dv9L{Ot?-{Ot!@{vJbrB)kECa$36} zwzUgcxz;*J{-~63T5Gc&=l9kWlOnhmtp0qtb;)Nrx%Q}4Uzz&f<&^*NoJ*hob7193 zPW9PR*y=Os-(OLv{{U?Inn$q>;bunr8k>-8u8iTt%8xNaZ((j5Lt4QxR2}v-eJ;hY zr>4&52azBBA?>I7&hg`fHJ-XA{l>;mQJ!V{{_3A76FJ%YiSn@U;zt}Syykv+d!A+Q ze&pWX*Ra_eJD0g@#M3h7PjltF;a{c5aqW?7F3#!{6U~L!xct|VHCJDKw`Nac{X4@w zqg?hE!)9OnDe3pDxi`j&?|j(ell?U=y|TYC=fLbsJ^=RdAMNCd?*vw|9 zp2n7@lXgG0Gy~?g4^Cs9|H5ZuoxePr@{dujv8EN2j~{D#74~CIjVX`0QGYgh)7p~- zk!AlF*xMJI{jtP1i2S@4^(Sx7+-q!H%%7a*N*<1X9(gjpD#Nc6-plVm*I4nlfi3dfieP{JXwMDPSNPjVpYdMXF_#tnQT)j%zDCF`zR$Pfo28`hH2&mty?w#; z?yt8p(&n$X9g(lK)th*Pr@ky7oiQ6gl;kPvh73 zmA?pEU%BKe4=>*b_HsSHyqqejK>lV%UPAf!@H@ah{7D(P#>Tu{YukMIZ75qWKOXjS zebdj&A9Hf;L8)h5fBxjoh3iT0`za>cWAZAvZDj2+`2cKlDHZ-iWCh_#pAUa7?8Dy( z`|$sOExhavCVj>exOi5=lVbdH;RCrQCXfcXr{P`T$&sc18tnCV=6dt`o4}^8_)aL# z$M@}tC80fP?Fq>*ARbGP_*CNZtUayfEcw(Z zm%hfvygt);a{5Zo(S-ByYp)m2i^}t?^7(>itS_H_urHtXu$9mBMrEOGG*mCzxJB^$ z{H|^qko};_!Z#rfjq9&!Al!uX?AI~nQ{kcTMDiqeDSR5- zF7lnQ>c5+#y$={z6kGa7K3$r83eQV}CoP!x`Y(m24v^ax-kS2Li>$euBVe1mskxoY zRbK0-`kMQxwJA3DQ{lxHUTaloawc`Dde{R~e$}yZTB~vrzheTWYgx|2Z*tAe8A*9q zKe^`S^y2#H9?!Sx8*Z_J`&Dxr?S5AM{|kBX&x0AH&-31#KhK(5Wvp*#YHf|y8_1P0 zk>n)UzM(1mzctS5i#Mh*ZsEo6I@VZr4R&lSTVvC_5+r^3lhaswcYb#dM7;3L_`UoJ zCw~t4Lin_(FZ*xfH~WXSX&myk4(S$Tp8u!2e`gG?~2TLKkSMBg^t{Qqgbm4KT(>pzUf(m|LzpS zS`W?LQX5H5bE_rSIh0d+6yDM!o`qbj`$T`{YRtp+N_D~iIO+vFY3;CH*usbZaoq1D zG2HbH{9lylf8uYJG=%^0uWFXmh5zw?(=4e8|KnfNOy>C?_ggcW=YQNE%@R_^|G2fy zWS;+%q=El2AN)(!Hfz9q@UL3itPbE9ln;n5jBBg0cNJS)TVGQ23m%QE~%hF52JO@=En z{i7{2+#YUE0k`B&<647Z)r0z**|2poFT)#hT+gyXS4V9gU0t#SxGSZ)Vh_nGN!A8Y zT}6;YsPRzb!<2a_TH#D54GtPSBvYKk&+4p8CVGj&L|0c`0OvXhdwiQ#QdhUi8z_Kq zUnK3gr2c>R?a3;*-q;EE`! zH;;~lP{YkLxXO-jtEVD6vdlb$O5Na`W%K0IlRJWEjndQKJbld5yC#b2c;W<|I(w4j zJYy}XNrBUzKMfptBp%fsT+{F`j;uY7X5k-66(*-Wf8OQyi9qz@Z=HT8!s@PKvh)=) z^{vQh51tnI_3k7m{ZiQU#p4{GNDkGf^%Q?{;tw24e=Dwc3$OWa2f|NBeZ{u~_VHcr z^tA_&)&Pu8&4=_2fxZ6Ou-V`Dc>0{MeQMP2)tBo4UKr#1W+&Eb;8$OOoYHqSehV*V z8;2Z^!`^7p(;-z)rX9liHTbf~Q;=T>UmRKb^-f>%zh~qL={0+jYYwCjpOv>j-{cc1 zFUhUnb|Wh0E#QM7H?CMR|w*X&<%q`)eGF zB<04j)Nj2r+=)Lq^~>uNY#fO3C-gTat$i%NoT%x@Y!4mvD_D z?Z|k&2u}Uz|G;-^ib)at9DeI(S9)}B`t-a6TY4maFC$;&ipjd<%Ad*m(+4rSQTj|&kSxE2 z{R67fu{g=EhX=sF#r&*Ge!G(^J;%WopZF!mdk#$NYxUjBwb&zF<5L>>o~zR5!*1oN zd@uMGygk-S`5;*LU$3aIc?_z{tlwrdaxRgu@0vpB{<)i9yPtIbJP7;yNA>x}{K;KR z_+|X|iw9I6Er)%5^eJriWdDZ@|L$1#lg9D={iLw9=*TJmHL&IXLpD&ON=#lX4&vkw zSn`#Q_i@~Eqv9}+;sYn&AHV5$MLrpR#>v%QF}dvT!}Vb-ds@?L_LQD3T*HFra+=E6@;_!bjTyw(`YrkuDRWnnCPr@-D` z7xaDjwJyBu@5K4`a`hvdJ=s5!^X>UF>Q`gM*QIe`d~d_v-UHO7rZ0PCyqz0s9HW7J z^jBtZV!a<4Yh0=;<@tUp4&zc9M{65d<5F!@-jNl)FKpq(8izKPz4Itfv!{M-jU!ok zY1~Wqm$!d1Z1y#dauKX+R8HekkHZs4vz*4IZho&}mr;JEFZunj$z`8y zy>jtM|3KL5YhH)f?+sh}o+12s^Z@G}4 zw%ns~^Pevb;|!fs407$c;N`oLA1`MclLGlG=zIAKoIfA_D)ddRJvnaU{H-Jpa!r5d zd{f_ajp>p67>=7<>Dvssh1VVsji`TkjSNnEKyoa7HW`Pm~F$AteJ z<+mMHmYhfV-o`PxYmlq2@p#Um+#7q8CKpmz&yokZMaVCMx2KMldsp_VX=BFldOq*Z z@i~$8eAcx(Ov*T|d7r|stzp-^i&?PE)6loU#Pu8`jnluPp;py zJnV63*Z12z%sM0AFI5loOumQP$MjrwQh9hc85Z-W_bm9NU5DkEoK-+EJDoQ}!qTW@L~*9YR==brT2Zt9be)0*7ITo1P9 zR_Xr-?9;Dromu)Ne=;N2JDJI4Zz=ba+1q|Xd0@SR%1!N38P>b1%_BFXXZr1?ol{Jn zfDb0^n@8Sp=gKe-M0KoO@$Rg_MsD|mcs}J}ygPg^9ABS;{x0O-%lCjyF8yt}c8nE2 zr??>gUa-Zl^u7jLdX>Hzd=vE$OkLRdy|HmAk}|0U2@*s zBZnhh?Py(6gP92dYw)J7t-R^cwrz9X>b!1saqcK_B>(Q}Dx3nv72FiocTshR!LP7R zE5q|Lto4One_4jL-q6ceN9OVg>lfE#?#5(q~-R^Ih;@Wcr(V_SU(%+L?w(;=C#En;&*+R?<>2kj%CN1kwD2k?ufHn88qfFgYRc&h;?`fq zqAO~X_p6S# zc8SUDx1qs&?stj#d#^HIW$swz3OiPm_vNH@H6~3sR>ueFLtc&@>%qrC?Sul?yhi{YPxr^CFW1gHEx0$ctRUnMe&Px)&PTYkUT zlf5(G!O_0-PjdQCADYewdpE|XHA`w|@DtpOnzSG9s2Kig^bbRFY${Gx!wtwzjl34F zhhK`^7Uik<^}Zsf^06*nB48izahRy zQ%ss2n2!4$9QiQPqw{r7WaaNd*zza+%V5)&{P~RhQzuvXZ-gx?|JE1rUIT0VP)=jV zYPUZcDEt|uFN)Yyme@5erRz`Y0~r?HO#{94;oV;_Uy&7)jn6M8pn5?Ny( zoZ^D=<&wyiuf{%(f&JKru3bO&aUpE>WMAdy`Fh7H&jqkA&xLR;e{#zwr~TI2vrbO= z*Y$1r*Y)uX{HTOD$yL9YT;;O^$9?&14g2y@Gt!sOuCOm3^#fS?RX!@uPW;JbuRo1d zD=#)yt?O+%?60?Ju)p4B!guf|r|VVMqg`(*@4I1N-n#dEdA|%>`c&S!cRYXTcwN_T z73F2+{oM`Z3H@38$*F!hjbE!@n$M=452F^Ge6X2mRr#(2yYdH57{-D{+wJ6Td&1rxKBOjlthxD>+B$uAKTPZ|-@>om?_*x0-+;6%AP;h4 zJ%L_`Lo%PJc!X{dDNt^Q#wz4uNOJ@|FDbjC`(>Z@wMhS0V0?WBmGllCHO}BOg># zlE-X*)msv4>F(z|s%qNm|@omnY<~sQJ)OT$0Dg3vY@L~(E z^gT$~di^V5i(m1HO<(!bxTufsv`qMV&aV$Iw($C1(&ME4xR`!@k7;|tcZ)3fNa8fP zzMph(MgIJ?nZue%%Ku36ASZpc?9Ay)-l$PtF8ha871}=oHv0;HL*qhzsY#yIH}D?v zb4in&_QU-Zxvhy%c*)J4()&Zxe0s%~u9xQ$()VSvbUvT#DZE~mExhEvz(>UV4I5Y- z`pzGcGVWwpWp!g9#!TTINgK%u?nd|){1$!@{0MC2TRo^aSxkAI5W{zZM^auToCCR@ z@O0Sbe(fLSl}`Q$tgLk=;fYI z!`>Xu$GK_ple0c44r}<;hL-EFx;R-v+VqT(dl30bes2#%I|cdi$QMPHzV;*Z`d=dV z`V)|QeeIv=_3z+%_xin%d;ROVe!af-2lx61AouzYbH2R(FUY;V##+681NV#9znb#% z`W=y*{+&FG)IJy;^M5@PGjGIi*Nb>d@^7rZ*b%VrtJT<^)nDo>)b%%yG|7pNq`ZvP zm;5YjeaY&3*87e1)oU#ME6Q&Y=Txo^9!vRLn_^gVJ`bK7c{cvP@wXtd;``jiuljXw z(qie8{iT$jx3BLrc>Ag|z5V-Pvpvj{n7j`sXAt?kJmi)+9QTxlxjlPE{&jI_ax-Oje&jU| zF!sjzKOyq=i`Z|U^V>1<(XhtlE{wbY)>z>5$h$mPnrzDTUK3g22Xa1q_@iJS{$|+1 zpGf#2l*fn|Ug;^Pye&OSe^+Fde#w8JyuG}R`rhQS_bBD(?QKeVnZD!~!6w)JFbVs1 zKWxoF!LLQ>{B|Wt&!axDe;(;twCBG6v?^qsIqHGXZV@pjbe;Yf}e&u&jzMDq5?mz7x>+ioixIg^;_fOd0 ze_AuTAk9vq{n1}nc}IJykN%9z*GD5^yWbCIZ0>aUt{7hR!&t&veWdbMThGcntl_3S z+H+6K$^JL6xBoS4_O+*g`de&I0omIOHhW61_M5fzDt_tv_*I^!ud&2UiQA7Qmcv$_ zN}tx4TKW{9#$qhI9=4ah2;Ck@X|ky^Y8VS!KOd)vQ&Ol)E|0f zd9ow-pS{oMdvQIuKX;4qX{=9U$vZ@S@x|Ovo_}?`82epXr0YRsVj$_;VZ(I&MKDQu z4B99k{;rQp!#w^joHIFnZ$|ZhyA;FsW_rSy2u^bY^gSeAdxO*509_9xF*wP;&d3w$ zGcR8P`|xTXc==_Nr z^w&E5TVY+FCzB?*EKC16Q)@51xYCoF(FVuH^ zIp3PUFSneI4DCPFI>qFmkxfG1VtbCs{k{Z6{vC%6xtEde&H2|ikmR=P*(BkUEJ^Pa zlgs)wNjh*omPhW{r%5syzA^HRGzM0|hhtN&VqlZ-eIskHFWb9G_?}_=DDN_$Nz$JC zWlgG{jDZKiDr328DtMpa<$wDWlR*bINoMoB-!Z25v0+V;N8qg^OD=tr|4jH5@CGq_ zR?fxCF>sYmaCB7-&aZQyb9FgiekmdC;hOy6q0Zls!~&PND4$S@)(we}AAldmwouqY=8&e2~z$=?{c)C4V5SyeT-4jioqy zU}E+_&{wRqk|EtT1oOymzy_ zw`G$zatiC^yh;9OL(_0nHD{sAt=Rp^*1>5c&^G?cp|LMF<^SXI&J}qJ1#G#Jmb!p9KfaCeAm2tvMm>eoS(K&BY zlhoN^e(Rk-@2zt>4bGp`)a8|Y*n)&Qonq%Nb^bc%Z*cxxEuG-@(0|eOH4nc7oPV(M zv*v>WJclFJR?=A71o+gbCHY@6@&+ewb4a?Mq1F9$@NDFCkp?$3@_CV^KZ3&b`Xgbl zFE;&mj$yB@VxE~Cllu+UI*j^2jI&~IA?)o}kJ4 zZ*L>m+Y_6;sWe<)B&=1jYO6HGw!NE5u6f2L7t_4V@nvu+JSC<_;ZK2m_}huk!b^V@ zZ2G|-7q^#h51U;2^%;T6B$6)b***Y@OQPx?b(A76u$OMi)D+0*_qW>35m z4=Uq%qtpFntPT`UraX-|JA%Fy%BD4Gl&gkSt*U)0Cw<9HU;KWC+fbffeum?h(BB9B zNtCJC+l08h{$-A}f5;5N-<_(5{X-5UE%PJqi~M5v`N;aV>~#2br~hO||C5aVuNnOg zw5`p)(t8+e>3#T^!txWJOI()zb(Np4S1Uj1`|=aNCW%S?5=vTS&Q+juE<#*^8^c|94 zv;X^doIlb}cS>;LlQX<0_Px9l_KaokE7;q+kn7*%vUep7M`L|E?Q{AX?uzk!Nhipc zyhwG9tZyOikFwQI3jZc-;l&5?Eb+W7!`snT_VP;|E4^Z$-t%bCnZD#=lmE=q^Hti) zL=l|&0{Y;yzJPXZ**^^4o-&hD-+}sdtnWa)g=4+Tox}Cy`#vs$?cGLwxsv<7+&5se zr|^el!tX`g7GCj5Zu;Um$c?o>l=zxhzi7Wdu{|H8-yE6gE59dm{w=@iYx)rOeNAg% z-`Av%eauaZBkcFL9c+C~^V^k#e({?q6FKE)e|~*=41p~_dKc_UczZWg_-=&t;ZZ3F zPm*)t^=_+i7@J3%WxdNvZtu2|t2|9#a`AtXOaGsgm+5C&@4lLo@85+zXY;4{UL(I2 zUzRuJMHiLaJokT&ElKvKyf))cuKBoS#}Z!yX|wx#2$ju^@OYQL#jx2|`ZQK=toXFw zvX5^KZ1L%N+mrKQ&s(w9nHqm_eo462E&RY!SrRb8kbXrN+ zm%-8_*7@+fM}|*u(|QfnhQ%pzl(*x=Sz6=7+nhP)~4IaYZ4_o-jSCu56zyqUP z>8HCamtJvW+5?t;@w5!9?)UQ3$%}Cj3lf*YlVbk17*v{QzuxgNKO_2-CKJg2xBSUH zuybjm_S2^^|N3^Y*nitseeZvc`Ky~%l2p;2xh@T!?1_D`u6a4FYitdxUrlbi&$vF} zw^B?tgKvhvirg6f8YY{;sr-gz%J0HV`6YCM`SP2QDL;+nSb3=YHgV z70#u+{JO%w!J|l{+~g=<6|cv6Fip&4=bG*JjhRX^2e$+1?QWoBSHC`#F zb&1a)=Q0hhITNb}5Oz!QB&Tnm-wD5#VzP?LOZ(T`J_!1D`ID5-@+jB0%kSm-IwG>{ zX@6z2r*Dz#Tg^7NP2VEF99|st^(}Jo-7fq`u!WaBeLLBBzgFd8tX1PVa^g|s)%cVj z%c#@Ry^As-|7^@x6_A_KYJc3d?oq2Aj%cKCv4#*pF>%B`EvNb z$?LfuOnw&W{TWu9T<+Iz%93~B>J$^nwXW668^I=@^HW*4|CdGmsZ>O&4?0FZG;+Jh zvVSJ!Y2mfs>$k}Key_4+?Rm*H4&>z;xAyV_Gx7mW9@dSKx2f^`Xsq&b_+@nD&TP^s zX^Cuy6a#Cnyyu%Td|!qS;ryAt;yVhq_>}(LIiEiLoncGA)|pBEB7bs9-*=o}OP}m@ z<$Rbu@dC#htKWoheyo2V*v9H5Uzm}%U(@?lLiyVJmf|}Kw)pgZb{%Z*pGx0Tu%%C2M)?|#Z^D`=%Bz7glDiPT5#Bh( zuwVZ1`2G8{`dY7z@`2czhktJ5+3+I#3nJ_N`#JnRyy^oVUhls?yv8Lh{PGR>RxbP{ ze{wn>z3|)l(ETU&_upf%-G3^d!zn*2ADs`4OImr$-eTD7iH~>o#oDLQ%g2*PW5qA_ z@lS&-etqkCC(_*~q@H#K`!}mRcX#|}$J*cdF1T-$Yd>n0=V_58f5yqRfAl+WeB38u zjhh;4zv@-+QWyRM*zD`u&w8G};N)XqlkanBRj8Yk203w8^7o&3D)NNu$Ijmcw^SxH z$#VOCN=}m}CzrjZ)Q4to_!TKzd$s2!#bF(eJzvCXyBfd!J^dl%XRnYt#txXvpzEcM zKRL1b_dTDQ;fEZb$csWV&i7L>e9t53&xPlw=EDBd;+rEYJ-R+DJ&Nyf*vGdX<>h%y zhL6nfaLUK@R~}mt`eU|>@oj>A&80azrf*+Z;{oa;m8D7-)Qh1ExRQ#iVg|Dt}O zgL z^AxnsxFrDi(cp>(mf;GQNZfWGTk(;6~`A?DGLaz4Q6{&in@Vvt1!b@N43Qb@3 z)c!Dg3a|bvAN~exS^Nqw_Tj}A{-+pzqKkhq?Q0)i?8A#KyvBczAS`Br6OVU1qbB_h z{ZW*mT(7>VzMc_s+Sl=He&8r2B z^d;B1_43&n`LzE*PLnwoUi%0u{J79&x4O|mh`w0IGzZ+Tm3|Habgfz=ZuJHwvEB^{>`BnP+z&`z&hglm!b8TR6 zDD2at{!L5I$WzmKkxgTK+83EeVou(KhRGmU?-+7Q&&l{LJ#%R2?ZNROu|cVQU;Dsy zvBODg`}T#K#PH&gjun1FCj7aX@G3ta{(8q+yZSV&HoctA*T?*J3Y4C&@9|rESMpag z^530Y`!*~8(vcH0I3pPtT*^68QNUa;90 z55lH#<@V`5KtII%YzBXfe8Xt}`|a3gk+gpjUd$VBESNaB%7n6VXQc1E0;r|xT zpZdQ$a(!BV_^NZuLVhlf*Q@%&r=sio!}UJx8E697I?kXT%z<{#r<3o4Th$?w)FCL2$wOr~-Ewur3vu?>l9yU2PU+XVLSV{Ku3 z9~(~i5%2?1f9Oxl|AB9aEcx9T`9~S~R-6wXUi)xc_?bsnBoDz)Mtcje&neHX&Hwn^ z%FsUU80BXX-)CG)c0T_B_vieziE?op&Yx$kRWmM{TA7^V&X4A`qwrd|)yM8sd z{c6&uHmaQFwzuH=;V}@L=C&Wce&O8qiSXJ~9OkyKY*9G3{paTSx$BzSuC*h&=j1fE zUHX1*d#eo!=eBPM-w@;1-1epL!pNH2e!zyQoS*Ql2!`E%oZf1OntxZo=Vf?uQdA(H zob)bWZ%cmck;A;ZJZrDCFuut(S*|FsZ}N#GTu$k&;n$eMGj-ftV7*jDCoau!(r~ef z6E2ULp3&z)kP|0?^O$QJXum2Yl*>K5zt4-TV|riJ`?dVW%QE~%hV{Pf_19$h|K$5r zK74oHmp$u!-1G1ZkIt~(&%OSX4A08&ybLdbegA;o-#xF+Fh!Ne!0bhdmjC}@SPg)3k2F8#krWff{}OEROJDtormyb|sXyWA7+&uqZ3*k&SGI!fedX+d=^n0cNBepo zAxpXU5$y%iAKo?E6JO)_*+tm#*8j_OA9i(Y0X}q|&SW`1C42KD~eE{QC6j`?9s@$dz_T z=gZdwO7~WJl=E-zr%I2;&n!LqF2uiJ&54zh{4uT%lPf(vsXBdnG~Vdbqp>5Op1;AC z9(}h*-#51J_UuCb7r<*;rSbh=?7at+6~+3u+cOL>AYo8MM35mPaZH$wItEZc5d-Fc z2%?x!jF<)##YB>G#CXs#Ac6sNI0`BVidh5|6;TX$%-LhO&#$}Qz299k>bc+j*1F%f z*1s0R?x%lmy;WURovN#=pF!t!(cE`|H22c=utSzyM`Zt)vp=?+xu8g^J?j+4 z(YWyH0b$Ud;C=go(ZczU{2uuH_PJp zDa}^s`PiZ8LxQgR|5M-@p}dq{3HkNuX*{4$Z#C@G)4S7_p5l*);!l8md|eOw`14_l zKbrh1{w^-R|Au{j)i>(%tLqM*-#)NUZzx>t%I8Gb((ALfBt4&;6LigstK*Ngf9dLv zF@}YM4BA$op#Ky7H++5O{9VcR`1GHI&7abn#P)gpS=j4i*D2H= zhfUXbo15!%-xAW-cpGt#z#4BO?&9+Q3HKA0|1quVCE_PTe%1eSDz?7=WejZli~2im zgsp!<^NK$WTYBm*+Kuw}{Y8^uv)5b?^I$(WfsS3i|3~fJr?0stEPeH-jf98eLqYku z88-jwPtx(!{E0WBzCCO17h}zx@Ez>uPWTA+`O~e1*(*Jw6r}fe%GY$IcMR>pSoRuk zXZch49!$Rd_VEZNw|y$V@vtvH?OPUK{x)~zsd?$ogD=8HLG#j&gb&X!od^B|c>BPL zuYK42DZlGdewJV5uN?OI)B8eJ{))dBZ1L5fI2TqL3hIA*8=gfODQK<>vCVa%dF&@) z+d7jI&11g{<$FwE&127}01D=@9|l|g)!x*d>1==@rkZ|%3f^tYL6R4?NM{F`t&t+#L`!M zy{}^NRUda!_EsO#^_>ONm3|}FKE*FNmi^bRy-IJ#@yOCs`RaIJ)B&Ul{cdYhb1zY=<{+iR}?=uKe!?Tm0Je zo1K0D{jn1%e~Ks#J>dng_Gtz2D~@IV9`$4P;*~DGc)8bAh@U*r)*LI0wzcYXgNo0#ig?0a`n@-)0@-vV2 zYxxmt{D`sQFGBb6pMfpD(pyFO`Sd=Az5N%k*~_2&d;NLJ$Mo*_djY*7tmMZ1Xg_ApZe=Z^>6z4x*qiLcZPj@-CO(k=ST79MDf-C;Nzc6UVQwOQGCtI=hN5m z-^W+qq>sN1?DKzg6kq+d7XN?Bm$ns^&;QQyop)w~WGMA(``>4en;}_?JHrkmp&E$UY`bg{SfvEuOI66SH;(Np1j^2w)n@A zpO)Bf7xJUyMIFvpcD&I3T@Ks+E`LA5-rrBK`ICMb2V1Xy&;IZA{_Ol-pMkyUdOo4! zfjytlTsr%~_B=v7HRAaZe-*Kgzdrr|$0r=#D1A2nS}~CbPh8k2(eJ)ey{0!V9u+qPZ^7837 zfh~RMV$X~d zlNlv=1vnnZF zZ)xo+8tO*D`1drW9ENl^no|&WqaFpgakpZ<_h-2ReI^et#2pH8<8I?Mt|b?@dqLbA z3XPK_Rnr{nTCS|PGA#2$NoI4dcjxyd_B92~!TvXXjWtKRj%f=d5`Gw*J%>26BxB8y zK7+;EGEBcWK8IzEwNq%ech*OBPKK%f2Pq`)pF?HNf45-2CfM%^|DC*5WCfcX3+p;{ z&%l%5chP4C`@7%|V7)7=@G88R<*x((4D)C``QC9Sj_aQHcieU#-dTawH>9BQS;Vr> zzs4yq$mCQ%kfVUt_k>N?xW(q!jtchTDULOd%v9K(^J*TOX|NrqG%wCl_%!|$G_Q^H z2`O>EdP1h#bB;S;-G?Ym1&xb*j^DYV{G`7No38Y^6f8);J?zsz2=?hq_v!1p+^0Vk zHvbyOdLL~4$jXn{=jS?SukC#Yw)CDMzwg0S{3)!3zhQZY43h>Y(r3;7aZF%cCu`1a zJFnaSzpjHLhYjJS?!rRoo809a#Qf zhP{8aPxC*2L}{`eZEuLP*L{N7E57E%^dZ`h}I0BrW!9*rxo^t3%c!+v{) za-ORW={Mm%Y+a57tpb}APR;4FUy&tiA#DgQ&cm{8;_YFKB6Y=PX zHQvG7S4BKA;wcepJcN%wGvZkh-yN~WOZfQnBVHWwOA)V#cvZw7NBkvRM)~Sb<5d(i z9zn;bW-0N#!)>#%YkoY%7HBp;LE|Slb?3%UXgtCj@WUa#{OR7n{E07*Sm$BWHU8md z*!;`>R;P=fj(DkKjTh;_e)cl!6lC8VHvi(D5%-FC?}(3yc-uc=jsH-8%jhimMBDQb z?6>De_FJEyTOUC-;m|+mcXhL z1?hTU)O6+lD%kR;{ND;&{-rO9^kq)}r9*N0?J_QX(ood4IQ`CojR(;C-K|NxD(HH@ z`$d*5|GLhSZr52qm-8(b{IB5JP(l9m{=fI9_XVm_HG5xN^TBz4(#_v|9yX4^--TiO zJGCoL=Lh;Cu>9YK?)_^%Lhru=Z2q-9v3{=8wLQ`;ec9`IzxQ{oyJnHSbZ_5)`v7mR zZ?9PTvX^f5YdcYJ~N#P-e%d;tE$H<2d=`716h^tUfOJCoD*rN!p2J15usxQ@I$q_6TTUWfKU z9u-u66|j|`^udu{<@A+J>!$CI^=OpEpV7Q-@+6CWT4b#Itd``}-$!YGGyl?WWP44& zu`TnPz;@p(=5rqfyfETdBc_N7?7wmRIFog?pgnEcD$C#F_}_t@cVLD|ZTxPe$J~wb z@bP0F73ne0j`Wzz%xNpb0>G=L_tU-2WJ|D{8j-Q%;N$u6wWn>10Mq~b>(*^Tuxgtf32TjJQjRF7Cl*y!X8cecA z0r0HAO7C*&)6$c_j+C$Y)BIC|Xv;SL)Jy2E!pqh5O3?oC8f@+NQwG;8WP3gj`;+!Z z9e@1({R!;%N3rdX@;8d|HGi5DljSKC?-u@}r>=pmbCV5u+@0R85#l5%~viS1<8SL{T zHoXa*ULQBlu0fRLR`38=*EkCD_X!7Av;Uv+|NpoA@7*ptSHF=}PkR4&7Rz@1D_#A- zUZ3D}jn97weu6&*-4DOb@53q4uDD)bz_R(%_5OcgyFS+abPM*CrOrNq&HiijF7VSq z*Y&=hnZ4}n{r#=-tNYnEoUZ4K=1=*F?{{_W8+ss`Sjj^EkDZdKVhHWYNsnd8b9Xqqq$mrex&>S9N~23N8>4d ze)L?lAV09>XVuZn-$lOZ7D$6w&uNU8!W!?hlhe0_O_zNq^5gl8h_@s?uRjp+QPio| zb^Yb}_s?_ZP0$vDG!P!t58g-{iL< zCF>xO1zz z$!Bm;n~Yb&E8yQldc|8aUn|?cq)VnNy{lnMPrTHz((6T9KD}*VOHcZSk*@chO;`Uw zDQRz-C70-aRBZRBx?kKI9vJkP^?v=u=!1i<_wTQTt-Pf_6X|a`UGoR%_|-DRpMHMb z^nIx9DHDZxr)7L>sNa$2)=g&8{`&@f#m*(krL^~@p?vQrzTPR?nm+~EpN6g3%YQGG zUx+XLY}jm+{B95VQGd#9Y>)3x`4YDN6!o8srLMbV*-86P&W5f3 zHbvQJNVQ6X(#R58>)UCU5EGYacmqD4rO;fHtvGnihTCRxB7KI_75{12$Jh0i#s6tF z;|bxb_)}Pn{jdDm`S=lZT_0VSs+ry%HvKd{+^Mn3y5>5n=6H_}@Gf54xD_(^^}KNa!Qjvv8(N9xnAw>wO) zlg>9~=Lc=i4(OI&`B#6w`A?4KTZZua_*CcskAUrZXIV$)AAzktcSRo!ug=Vqk?(aHDE<`of3#jY|Buzb;xBgb?|YI@U5ul`G)zUF7K z`0{sF#ET{z~@aoP9s+#e*mV1@*5?gU$aw z!G1{4)ju)={pHL&y&wMtHvf8Fsq1gGDFvlJ05)CRH)4&qHeK^M+zUU0Plc6m8|qj0 z>t#a9e?sMJlLNE zt83Zrhc1J4ZXX=<$>sQhxvWlu;_u0l#qZWHn_q7W=TFB&?{7cY{M|}?svxoJxoVt^ zfpyGQSQ7Msfi-{Nbk=VeSohO^hhGjn?6hobyWMX||EJU6$6qykg^NEo((jG*`<$-% z2mb}DO)2Pp{c(QZ34Clhbqlu-toajluJ-dM>RfI1_0Gu7O_jl3^J%O>U&f!p#*by+ z0$(@7v_E)f>U(>~J-Pn$JT&5~BG&uC-oD8?g?vE7mqz@ri2oDuj@*xV|K~=$AmSe) z?$)?4{$UYMiCF#fKD{3z?nZyT*AI($O2k{Svw8coBR-nSFkRng>q%Wyg!<5YVOO%O zvAGJmpSg!$JKyN};+1Ir`QrlE{7HW^($$ttfA#db>GN3~V-z~?T{nH-?eGkfseAE! zhyA-PZA3x-hQgMfSo7T*>-xV9$7b^{UGqhle#wq?lf@iU4sVn9r{_(k%l_Sn*Q0%T zeGUGN^?i-k(U)ZI5`ABzn)Y)C)k`x~6S(wDtY|7NFeaDJw9m`H>2a}xFA{V#=mex8RdKX0=0y$f^LO2Y;h zW${M^*8SE>^bGc}u?)Td(g;`FLH|LSDZt(qD=6g^^yL?f3D!v3=gZ z&evWa8R>P|KCky>`+WS3B7J-}mU|2_6MAAe)@KZNp7`CP#M=JhQieSV}5i1eSG zuJH(mus^;U{9i(OU&Q{$Au)ZY&e|22h4So2=WIea>}`?JX4%iC=}%RrRc1fs*-u&a zQ=0vh@I&5$mtu&L4O9eCPZ?F|M>*t2ZL=b&(n3n*{8Z+s3@Xo2DO8rD5=hDMLn!7) z$z`NjM3r1hRr*N_M3$8hYY3upek%FR2Q`%gO<~x%#+qV|v4w#w z_lVY%)>u<$P%DkEv35$0HFmVj3wowf7^Yq#}*;hN(_vY%bt?zM6QqXt=F}Lk$ko{Az zk6#B{;}s`xzJ$+n_Rl!I_wFT$j(=lAdFp#{ec=lN>w9*bqI2J~Q+fw*d^7+0KAWB& zT##ia{k|Ptwz>T3`*ug74-C4#7k4atec%l_+3d{m$ZyX{u=!Vd8*qH`JUQa!5${G@ z_4Zr>2{HA7V>yiDm5qGmLu5R)$B3ypWqyZfEXpg|$_&3SY|cNY~xxZkUPdQTCl#ED3IR zqY-Wn(}kS|%>{oMOAOh`@l?l8a?$t*+&q)hvAPRc?j2aqk{7XT*E(hRUjZK;R%`;l z3J(eSQTiXkmcE|l^0>0#S#D>z9X1Nr4Q3uExPOSR{OVX?`Q2x)B$N7gCmS@{x{{r0I}!EfJ6*l*u**l*uwu;0F(>@3_er$NuM z^$uXWz{>v#u;pLxTGqD*c=&$uuR2uFTrlJ6a_`UaOX08V_3f>fh;QHCido;{I=v44Bf($H`j&EU z_6m(JR*3lpbUhn;IP5twYc3?ce>*Fbm-5>IU$%Ym_NY9!z}CuF_Um!&YWBbI0_KC{ zV|AJvz7YU_=2(3j|AE&Hx{mF;QFeB$zK(&~U%~8lX^^gQz^03rN8E_=@%l~?>sh(! z%8&Y5Er0U20o!Z3SnnHqR(%>P{u8i||BKTVU+)}y`%7SNKi}#4HtIWY*j>|WfzFht z#aDTJR+=x5+PE**_EuifJu5#CqMJXlCROmfmE%jkElGByB(+BmFuoF9`XOu6HX;SNgZ$&!@j1{w#f^caTd@&*BFW-=2MId(>C%w}&9%HlFmI3%sQ2wrk&0gErAGYmN{1;*Ge-Q1#?3KTn zu;u^G>IUg^(Uz3C!bVIaIE~*ifj>rn1-8CQ>0;9rU&liqUu^mqboJ9VasI`o*W=mc zvG4+?U+MHcziN=aTl0C)=T75U0?YT2hQj;sGMGm&X;A)NW7+%v5A6N#M16W)eJfr+ z)#=*)f53kG#TNgXn;Rt0!`An#^u?yDd^VkQINfKZ?Cy;yuH}li_QLv zVcEA#8B&mjH{e+;mj!+b)^mUcfd`f}N%a<)IqzUMNp)k*ZBv)Lof34-)rE`P*ktMJ zMS3T=eXy6VXIDPH()POUOT4~1(iz@Tpig6e^zr*g`r)wGcV_?b{&#`BuKmmFzef5z z_8+g`3;Xy-u>W}dRM_hWa{ToAL9pqXYe@6NR#09#2KNu;7JkZdsEg7x6t%RKMXmGe zaFMC4^6Mz3Y@MAPk|Mokl7?~4AJv(Lo$~8ugjGqq{JPvy-P}@rzZBfCF1J*bTjDgI zhWahFq@1zTEVs0NElXT72D>)dlI1Cl8`j|^ltTRjhlZsMTG~?m{LOIQ##MQGJ1e6sVLO-oaxB-2@K8l2sC;BUHpA4PuKmoP zbe;E1mw&POSNX}_wtsccY@XB`Sf`+I&P(uLoniXjuwP;OZkX&h!^Ye151YMo&41!` z%_U^IzC-o{Z2rU(9H;Rk|1UZJvi~=1@%5dxL+WyDB##O^u{@N&)fp!Gj@m5v1joNQ z)_2FQr;Ya}4+`R29BT~ZCD_jh_4y*{UrU;r+f6~b#wM69Zp*pNSpK$!z5jzFzH6Pl zuJ5AtrVr|)ke=fIvvFS6ch%m6zYDs)tM(<#$s-N3ZqDXyEe+)%?#i;U<|A229{qeI zC&AZ+_^SU~;Of9L;RoP3fpzcy3heLwUxtSSUH7twQ9gDrEBkLF`&N{fw;u?bz2fT_ z=6Rv>C;d^%&-9knMaj$Ddwt>3*Sy`P_h$RW-vnLvZmVItcay&pC~t2s_VzEs-u__9 z+uMu1{iCqiEB!}#DCG66nilFkxR~+!EZE{Jf9$fk^i-Z2=kCkD8EoaLzJ~pYZ+#~> zF{od>Z)h*lSCPKyPoj(aJ6+?jO@9YnY{wVHpW<}o?-AI_BP~ytU-gY>-e2n*X-NC) zOq=Qx(i@L{Dr|i}>bqG0TVIamuNlSur}=9X#L|raL;l2@27l5|q`jFg{>|~HB(xvx zNBuzx%HJ=vAIqQSCH@+=@>G7;Q2&+q-^SbG{siQh%1{x=RCTR@}_OpH!|J7dEq0l# z{pCXPXZw%#?@6TZ_wQ-2wMWgv|0MRqLwizuvBlSS?!|hyMxkz(qGUVb+js7@zcJLY zV1K)i?Xmq$eWM*Y-dbO&`a+Lmf3d#NTS}R?0dAkUPhP))jI5KNH&$HiSn>P8KK?-1 z$A63cYfI<@*#{rRxBSKqz2--){M_J^~7di%!c z-d^+Sn*EN`8zueFbq%bbaV6q&GfYlEr@JsWPDr}g^c&Gv!Y>5-*Wr$|2Z}fivX^f5 z+P+WGEq#@T&gVYATho3lzl#43Z1H73o&0guCS0lOj)Tt*nyyiTKb2|#6MKh$9B|S zc@1wlg|e(HP)q*MTgiq6h7OAVFwV|@s1*HSiMIPgrSOrd%RoBDhFjTWYQyRCI^Eu_ zDEu1#&u>;P|HqbtuggDLPQQ7EXx}{3bLhk15{|D5KU|TqJtu88DdTw@ZxwpMXY<=Q zu*Ni>1HT;Nm+g|>_gu{$qtK;))-SSE(0iaSXMLYkH8E=AS2Y{FdOwaU=!CqsM zcg22LU_BQe0rw89=iYkGOebF&G#9bn$+|6Y5quV`ZBWp2?%QEDBMo{EJR5Eocr58p zWn1;^N8x3*N7wHBq(S-J0=E217n?5sgJJJ~Z`l0HUgKN5{VkFGtrS0tpL_9F!JtE#S;z1G1xA#9d;=LW~UQ+F2d;S!}8WUjLog1Ay z*xssCW&A%pH{vl7>p6?JKP}?ZBR(VIGaZ*UDM{Z!+%Kdrp2o80Ya_ln;vewm?eC6w zZe*|eH~WpN_(l@?Q2rD&X7W~kU!{x`bnSH)%XaOh=i=&@vghK5a^YLQ0oSg9={HA?f#(EP z{2e%U`1m{;Er_pi06zW}u*KK*oe10Z$zL0;t-Qb9u+NX)Df0d_hm!eI`Fw>xUp^P2 zTlt(%dOvY(_DIOT(!ZxPpT4e*kEOh=e7+r5FS#G?O))8mKXLpq_Zk(fw|COk?Z|U6 z_%*IE6r{hzuh)z5<@FO_ug{EhJ$Li^RtK4||=V2nBi_>d)({ zZy#UxQC`O;`F%J690DBW$|j528GM{Jmh)75`((&(ha7Qr4o|z3Kou zavH&Z3)?Sy%|~YTDvzCD^C$kqvC@B=^7iS!1Dn144Pt-u{>H$jE56=Y^6`&^O;`Mv zU>{$7Tc+!|>l*Hrv=1vhe{!9q8^6YF$J9xm8|ZnP!k4GiNuT?S&M=XF56fPE2KIVV zl-FgicM!cj-4g}&x|cRx_9GoD{p%z9S&_ad()H}c`_pp*WBKb0`}`i{bfrJsvFtC3 z>>qZz?4Ncl`wt`g4QaoYzU(_XmVH0i=jSY^%l<;gvY#K>KNsmAIbHS3C04F}tFEk* zUhCOAhvF-#KhKXjz90QC1*xnzP)Ja;x zM+ANuzMbRkTWphp^uNQVzr+h+iryV$1Io|3TNMQu_pTHe6Og_WDZKEV94=jBv*mT7gTl^i#FRz{D-YHl7^IZI)AJ$37 z)9f4k-Ng%Sy;#;|uY&GZ&gIwcSHvGWR(#E2;NxEh`}iNgKEB2U8Y_N7>et6#2lnv~ zgUw#)FLJE-XH(xk{yDIZ|1|95_oDud75`J%$Nx9%<8NOtZ?E)kbzH{5^CWnx3X33r zdRFZH-2i)kpTd^D{2f4hGM2wKu=lqI?Zf-q6ZZbDhb_MR)#LnaEPpSen?F4W??XOM zrVS`O@OgG^(k#QI99`Ecr#XEO*mT{WY22XQpS?P`ZqkAJ*fGSHKlMkL{epe#ro5PS z3QrEoc=rqw#n-bRi!Xl4vErXieOUa;J?kdlz|(_2+3R}D;w$~LVM|}*I=7^}_YUc4 z9H{E&wZN5Zubw6A9I2r6o}s)fy`#~;hV|aC>BW?<>6+8&KzP$kPPgwX*tSppZlEm9 zUisg@aX$azR*tnj>o(1A&p6V*9Uc|ZmwlVE!uadD_+tn1PBixOLw@dJ0*bN3ofUX6 zd>G3&I(;$wqu044%<0c#Url{j|C!?Vr>rc#^rn=z*EI&->laYIUhjmx*S{z&)UU?g z>qk+ZK7L*5!|N|{eDwNR*qiGhV?OUGfW-(5lJZ%cie zF4jAco)<-Y3H9ssJ*ZF5&8R=mDniTRU5znGNz5UVDpXbAkC^H^09ROdi_|QpBT5zia9C$rSN+)EhFw4@z#MU`Xv3n zPs9gCd`!e=Mm#a%84=Hl_@RgwN4z59k0bsu;?iHU?YHe|8FAN$w~l!Ch!2eTn267e zcw%6hO8PyY8L%F6S$^>aTIl-p}HQSHb1Z{>U9(!&CAF-ZS)&X}i*BlAT~#gXl45ph7s}G@jn=7LN^7nwtz}(hc}=@rYgw1n zwvK%0Ie~^%RE0c=8Fo^@x(_q`Q1l{>>l~`mApV5ozUPS%PmTDeh!;dWFJj%tdH+X5 zd`!d|!{qI&BEBYK%{A-oxz#CP&DCML%BMT$DJu{00h|{-FQyUMD1RfO{GI0X4!l3JI$>G>>R934wHZ$fEWJO=rhkDh*0rF5-mkfW z<(7fbp}o8a|$*+`Sp5?=w9Q{}%KKJcQVm@~Uw5Jj%$~ z-$MK%%Ky%wEB~r5%fH@F(%hx?ev-;-0c_==?GxMfN$z0YF0-e(fq z`$^KDi*&K+Dv$4AD-XR-ye-?#&G)Z*!sc5nrq#7%z=!bB|rbL_<^N+MgXiP9DH>es~5x6y$$j*!)jM7f%TKT$rxc zft8*=em>1jx8}w^K1(hczctV3sEdJt^=+#W@Btyd#$ks@z{GvLA z{)fWezv{=QAM0O5y4d1t`^C2X%6}iW$#iWWr<|OBv2;sMJm2xw_!G}zn-rw4jdZcs zk0MR;cm3GH=QLmNp|XeYb9(BHwBSW7j}9zd?ZI^MkB(*EjJo#rm9V$hvC>%fM@RNo zI$i#C{o?KQ4vqJ(enZn`|Ak}u*ZT_IeoNTfS2~uxp4)i)lOp}PNWU%87e%_BBUpO! zU!VH-{`DNe>zhUT?vbwJg^z!3q~8_kk3{%DEs&DZ}wt6cQID{V;w90IN0J#|Hj3a-iZ8}uKZn2`}O&o4SWA| zo#a^Y--9i_^7BDyUKjt3^SO_|zhlMMdv6wB`TN|(mtLPNo=w(`@so5N@?e%wtX*pIu}8LrNHs{`Q)upN)2-w^3{MfzH&%lp%WFN$=UXfD3| zJ?>cPeID8S=ls&wr~Uf$dci(FeIs4_gXv07`-8FkT^-p!>vY*Kb1Zv3_w?zvp>3N# z*>`m;d)+^Id)+^qz4V!pen+J1`0eBWJJP$be|cT!5A(0*#?2{DyWSOV9kJTB>3Xg_ z5w_>hV%3ka;(r_2>-x{@=fdVs_7^*rKV9#6d%Bhj?DbsA;>&&?*xNtkboqbMvFvp{ z=k0f+Jj|c$_jWA%i(qfBcTm0k_l{-H=Ku@rb^i1A8W(0P`$ds`YmQH*D?gnb%YF## z^K+5YWj{OOS0esCV!e}T>B;};u=&?>wk_D-_vTMQloaj+dY zUvwqU3W~4i!WLio?alea=XYP&@~iTA0k-^Ud&RcBI{%-}^?;rKhw|~N`J7*vMkx)_ zC&8wRKjQktSmoOnw(`(BVS5m>eHJ~5c>)jcW}>l)Y0%uZ8h32{3({YLz5blj^(~Y& zu=S6Kzjb^K%qcM)+ra8XtiGXM0)n`YW5w?ao4;wKuW@G;nR)UA`eQIflm_Kj&rL1A zZv<`=^dZE56rEFU8uV?Kf5Z0tM)se=X5R|En*D`KxHNQvw}x&1x;AiG(3PJL(0zX1 zgnfR*=3m>_g#F33?`HhW@u=|F>Yx zXV=7~R}Z%IYO~+p*~`D?|1$r|ubw+AK3!wEelZqvA!H@wA*Cvbx%DiE>|{$$7%amO z+GoF&#<>NpD9a+1YdHjpIfN>5tq}IoDi-yZhF~SBDqCZ}mBK3hm;1?%dsXQw^OpUF zb>*4l{!iCbWh*MPpX~qg0AbUsgz10$=1ZVNs|oov`Gc=wR!Jn-0Z8^$T0tmJ|If;{ zDqA*p>2FvU3Mca$)+Lphed@#3Stg|A)`jewhQz}+{?CU>pO{u#Ueh-^GP`l;4(F^GUW|T_<^y58xSv3&d@*z|?ydOxgB7CreGz6%}~`1O%|a{`_mSm}*ndwqKA!{$%=H<8Yzd`?%t z$2OGD_Q79UUT&EI@9fgkcuPx9_6JjbW-tCQ;teTJ)0N-R?4~~c6xi!)BYoF~d0qa` zaIErq9`@yPH*DpT+H+lN{&yZ+l3WfC4BMmnm=9a|$o>khYt3H#e8ere2=e+s$11On zU|(L(!hU;oU2O3ObZ2fE@^T7kD5&2?*U7%$MtL0~k)Z4RpZK-w{KY@jOAetu9h$0K zpVCj&i1y(7sdU}x`>DQytAqVa>Qcv(If3P0&&AEZSnnem%fI>ry#MWJKi?_G=zeZ~p`B&D-l*%Iq~a%iFX+UE3>Yu8Eeg`VJM8 z{_ZTBKivoPLihItLmlhBZd&{e0TK3t*q$ z@v!Ar`S}lQ`4Q_IY{r_qqA~4TbMKVn|57DVYoJj_;Xkyye5hoxa7~g_#%tJ$$cD0y z){u`lt%_((c}<(LI96Fro1|;xr?eKEj*(4CEjH~Vo20aT*C@}WHEg=ZYl^$Zc}}{v zi#!+AVpAj5)-~45so7zu{Q^bpLJs#Cng^SoY)Sb=HU7X@{vL(R zztVpVw)7Q$t+SV2m*c3{JHzHr`nFD&e_dyJ|0A3({}Wt%@jo2vy)Ygj<@!IwPer`K zas2HrwWkZHTWe3s-zBbnNWUf0ABgm|PM7_6j^)okUy#nBvmiaaCurp*U1KwRex^kF zQ%;xt3yziE+Q?q*#r(;>yJOiO>FQJZ@sU0;(&sx}_Rl$%zaq-pZ%-rG(wDC12VUBl==_Nsrge}6RZeZj3MV}*68Z#}6IIKz0%Y363btj zU&o4nyNfS=B4RzCGXK&)cPxMPU41M4POz1a>~$Sz@ulw_=~Q`vev#AV|2o+6ulRnv zgZ%TVTQ0u%Eyr6D|0~$qm$+F;A?y1MrfWQjZ%^WrXcyML#1A^w_>SLU+uo`0Uamf+ z`}QJT{Qy=T(wD#%e;C|=^0n=ieOp)Fsei|^9}(HBzPuW#9_ zzAe7eD|PiDR(<>Y?%>K_{tk$kLr5-v()Fyt@+*J0z~)csKMq^^vS04(rGFObOjVNe zC%qGF@#TL9*!$nl>GFSyi!avmyW!Nag2vDM6RyZG<(DI_&+*B0JwMSsojpG}+X{hMBVU%li${Ds@Tq%Ev@LUzl{6FqOa9rn*#UWL_Hq;O!J;$#5#A@*&n zQ8g9dViWH!uuOTUcJAgVDqQ^bmqRq$KMb3@n3~~{HI`x zukC*ww(WnE{Cx}04f#`f45To8dAtPp^4Pv{VfuQn$EW`W?9*QYTly-GHLx#_qj?zP zx93XO`)kPklJ}?aI_6L1u?XGA{}%S~$CMSuKMJ<^Dv#4)Umnxpxs=CF;V%@8`^hSo ze)mwzR8ShK0w?(eUbBiMI<2xbNm6MG<+ec5gevRfWr4;?U?KC9Qtm%$E(@6z%Q-8{ zin&7j|7KK`rDVB=%56=SYf+W0sZOYFNnnp0n3Cr`y1D4~|iu zuZ~y`OufDn#}Lo6B3_SUh}ShH(DVBd51^fR{oaV1^8nfFr$zjF#3LB+?(G*v+-1E& z{R+pr=ITjHs|Za`*X*yeY}Zt}rdtD#cKUCT-jw#~^#QQOm%ky7L*fY56^>jU#Fn-_+)f0J@w7L2V38)(r?KAZ0W17w?6xa@9V7xTVJoz@7N)q zzViDLy3g-2*z&9V+}%E(ALVxt11v1R;_~(LtiJlWu?1;a|7~s(-u*(0Emih7*&)YE1nm4^?8`?viEP~Qs!h1SC{k{x%@#$X#&k6pO z{<*NFuQ5t1VH=~QdD7Ri{gXp|$p1ph&-*_M_WmD*z5m&8bx2SCKIoYD*Zo7rgyNf3 zY0$HwRV>-FAw8?R5q--{PM_teyWjM$*3?P$zdQYTr|Vgj-eI!x)U&+(;BmoT{_E8# z^nVq)`PZ|%3(&hc|LtMZE6|s~6P>@$DN~={D%jiWO<}WF{-(k{e=}jrpZxda{A>1N zjiENy_B;ujeY1m0lEv_Bm!GwquYG<_g)KkY{>w`X^>tvcuZ(ofjplWo-@X6tu<7@b z-@n6u3;9w0=fV>MYx}>2{r2k{ezrY|-vjpXw}UOd^xL>T@VcHgn*QX}2FYWjHM1y7 zP-DJISZ0?=!y~I3q~#-r_R5dG17P|268&=ciV(jS?|3G( zpBAK{Ff#Di3=_QrdILI#xHPPQKY?!y+=6#Pe})GJ);pq`(Vq4Vtal=Jhi#16W#~`P zo^B2LVt59;S77ODs<>>f5%j?uQMM``|l*f0aj5>f6dg<+&GJ zP@b@rr|RP~*y>{^{GH1A#IC;-Uu^NEZ|<%q6<=)eFTb7fVB|&LazpH2gg4<&;V=xB^4l#X#-ZGj%?WSywOO$55%eh({PQg1HVyq| z)3#}USJGw_l%F?Y%a77)PF{U_>%u<0^KwdrE@sT(W(Drf)7 ztV}N>PYU{G@Av490v}7k??K)>WpbkYj)#4I&xd_}$HA6gm5=Ow`Djd}mCtj77_$ez z#Gk@ygn2A4$S_%Q3ir_LPd$Qu^ts%x!3{zJvKO2EkK_3c6|Cnl3fkVf>_1jMBPfp+ zaIZ{G&Vx1Y|E7VpecfTdeVf33`?|qOehdB%3Gs42lv|ZSx=aBpuzaD-h{N(lZu#Q; za+O=2Z_BEis?-VZ|GH(ZpBdIO^t{Y$SkBoOyJh9UZ1iGVZh2gOeOXa?ZvBSY@~j4l zhWHKD`gB>HGc2b;=g!=6QCWVunOj~jELWYMzU*xFh55<*Ns6j++k#EG*>j%AE&KH> zcQl)_X3g_?DDum#-TI9SmhIS4#=&4ll7%w1#g-GdUF8L3m?TqzeNxmg=QAlP%`KPN zwqwU~ZoA5wl@(WoxU4V9E!Qcln=VsUQ|goz<(AjUFLy{>x-7d;MfUz86xFo(Z`RC@ zJy+F;RZ?S3GA@o)RKrhF8E3erO`V#t%HvqYHB%33N^+(({S?>mT&ISg(p-F7sI-OL zZ+ULX7RqcP_ghq%Tm0h%XQTUkLd`Yl>g>PFrjB)~=9GdhRR>g3uwB`j8FB3-<7=$3 z6M4>awxBuw_GM9j3Ys(V0DjvA2fELE5Vrd^vBo|apN9SYFo*v%C_df61@Se8%j^|j zpITIp9}l=4LQ~szrYx}JK@Vi{tu$l z;A{9Fft5d9m-+nZyVl-+HEjNrKh2?OtoXOUKK`w+kN=CaSNsEMs6PI8u#f*e?Bi=r zMYC6Y9o&tTe&2?L@%zC({&ld~EB=p;zdENRISPMsLV1*oC`nFilqAPdMhYsgGOpXK zyu?!-t9;*wt$d3aFgLzQKE3N1pf~_O)`UAS!RK~x4>>1Dzm#9Ep8HRnRgtcKFRz!=7QO%G zu-Au1`hHG-WcTczbuDd1L1USDkbm7LnE$)D;U7%-4bJ35taoKSk8-TJY^K7! zgT217G7a7!u;#|O2R#TW zfWNmJ=I^^z9-qLzJl4Wi9xBftU|*g(9{Tds_uPE^Jz$HkcN}KJ=TT+~x9!fo7<@;D zDQk{T<5RkEp9b#|+JpKHH^H_#*o!gAvEEC18g5aP8EAa4*uQ(_S@xefd-+pb^Iw}@ z+iDcr0=4My}f6>d#1UO{JUtLm7dt*E5GAm%WrM^sz~3LvbXrM z_uP)Qp?8lrA&x@K{m?a6hkqAM*9XRW7fs(l_%W2f-Ywf0{x@zqC`PaK>`>{XxchNe-mR@c4de_)_SC{~+&*7E8()WQ)7hf0g8pn#? zi*57q&w?$!^e3I(9@bdF=R$h*rxhpaN4D!FrKhoh7GJFAM4o?(cn`MK>wk~R7Q`KA5}@(UN_7xw-bev@Ox*Y{n0{N~h`k3ST)_^Ll$e_H)5c)mDU0*}h7 zE0I6V4QKvVO)XCP!yGo#pz<65d;im5^RM{o$M*5Rj^ck4#n)URKK=yQ$G;Z#>0bw1 z`pa+0`n2tMtbRQ8k*gm^q28@oA2*M7(jdKxCDYrWKL_)uCk@h{Wy$m{&|A_Tt)E@G z?srTdh_36!ja>XAoIVWw7Pz(3Z+7}w=xXn6oc@8+)$iDq_RVQG4NAWYZ0X;Iu456W z;ha9w>Hk8X1(!ShHmARe{xRIn=^r_LttpHWUf6@4CT*MHLQarz|mA7L)L z(jff@r{9d;uWr6yQF>q4(tiYfGHlle(kD4x&k@Jtd8dY%e?2!HM*aHdrboj=GC7Iu z$76pbdMExA`oc4vz4U2L*Y~4aQ-61p2Zfjwe&sbeqr#}QB}qBIFH$TD`eu^S zqI*6K`exHSmTdo*J_%c|&xO5yC+*AYdZ*L$<)qh~_M~H=g8YfS{TSHnrQc7Pdi?>| z>pK5>UFTcVyMI)aY{j--9@6`U^gE&N8hGxJMM)>>=Qo$1ZD8+D-^~B9~HI7 z;jTTZ{NI3m{k4nQV=3*+`)}jgqw?3B_UQHXVM|~BAA`OB=OSItfxZ5MYoCh$GVRIh ztD^SxTGYNY_pYU{{OSJJ=kL>~eO(>3AKlOT_;aH6^K#UFmeF3k|JS4Tb5hiPMn~=E z>ZtwP>DrI-e_L6h|5>ol-%*SU^yv?WO;76=_T|@Z-Mp^$xua{Jv$+_$khW;YGo9bZ z!2bNMwCs2+`>C`?Z(jv_`*UEk*ZI3)asGU+<9mDfk93{CWpC$m#XpGlYS#nO#iq;O z0@(ZW_PV}M|G2;YQ2(0Q*QO71y3XHs!FE1ZdO9Cl{8(3h_oBU9er2z3ewux(KS_D& zn^sR#W(q2Q-S7JH>;hYSoqs37c0HzXZqLIu&MjtL-`v6eW7j*%kM5z(U##nV+lu|k zpN}hGv#(7*(dnw6mtkK&O!u9OAM4tl$Jsw^d&K`>fBYkE$_G(Dq^#_GuW!_^_()L)#Q>SGqV)sO189qq^0ug>RIzKVaEtKa=MW9}u&L-UU*NWYL}+aBpRQNE_n zrLDaKTmP~2<0xOR&xTEx{R#Ltmi?zLJ?Wae()7{j>vO!@CFDo?nn)iS=?}m@zUH>{ z@y~<3-iYIq*So={S5kl1P#<=Esrnj4efau12=?`LJI6n(FU8*kw)m>wgJH9mzY}5e zr}9>OEAN=~P2E20bN>|Tzt{Qol2M%OHxE2+Vx#olSkGt_4&?)H`bO2D3=`>-S@wFH zNG~F;*SCrEvm^bWNLT;7kAGUEA3^)~`qW6*{^9ipBYhX@!|QKEx}L9i{r5=kNtt`S z9qrGTkKXn2`Yw^)jQz*!$4C0ONS_qx|B3XwBVEUD@BgDnUlHjI*dKiUcV&O}@hc+z zo=D#(()G<^9X_3rDR>CZY{`B(hCLw@CN$EZB?F245{>n}Q8 z{-k?F8BUo{WYh{pLFx5@?4DGjCBfn9>(E3*Wab*i|Pxr`!hXHtAJ19PeIQY zcj32PO7xAv16cO@K&PkQihz}dg2r_&;rF(bvT>a&ShjJUPxj38=0R8fv@iA!to)V1 zmOuH^wXFBo0rvi+o4?1fKO4R?`0E1e`h0v~ZO>(}-yZcfv~&4U{rmhp2U~vRe+BIQ z>zxPlzdMDs2EN#(S5#b>-uiGmm!9VG@abu8O-oPZtGS=8eD!=)NM8vl^ z*4!a$;Nihu9MApIm$c2FbnSa)uel{ohex^iYA>eCezs%fPy46$N0(O4UjFJ*{@!0p z*!$bkvHTqldw(Z8UH&eI&7bW3dtTC?ak}!m(#02R&NfRw%^&4${-n2oO_zVQ51*d_ zPM7@%$MUCV>E=&7-LdRvJA1L}-_jGm74f%@<*#u`-oNtK8Mge1_3piAjZ-$3{}bWi zp?+mQ!Rhj^@hz5r>FO`H_~M0*4_^`dz1Zfu02Yh;B?J(aSLqQCtY)+dw=gbmOmZ8EI+dE?%I$1^@F{? zL!B;rJr6ej@~8eh@9$Bk%irs;`IG%8&R%+Jir94d-_*4aabL%>KQOZQb3@4gMd&_1 z*Sq-g_kd&hd(rt5uW>B<|2TVbvy%Mwi}ifW%0t}OvHTql+x97cXTX*}@wA9FUea{= zQ~Mkq+Mn#-a=QF~1$+OROTyyIUj3oQ^0ysq{`6kt{;vIs&xu&?Rab=cH8+ND-{SLK zdloNqthq3{yY?qO)3NLq!j?bj8oy`x)7%@sz_xwT)qYJE>pdi6`J3R{m-HK)E`N`~ z-rq8(%lB)a3 zZ2lGh0H=#bJC?soVB21??oW+nujf6(L;Z@Mi+D}Mzd4pa9S_Z)@>c;{{=@?#KH9O; zI}f(>Wk22N@;?{${xyEc`(No;{`8)g`P1AhE$ijmuUK+iSz zRg^vtX%*}ja&WzXW$TX-AImk9vBvK<`8LZ;%M{;fJ`C=;H^K1s6c>cb1A@^!q$a|L;@>%T)`MUOn+@fQi zRi71|3hU<%*w>GA%a7V$Tdu)<`xBe4{@l$eN8g{j1w4d51@$*S!>{juTnbzJR)1qd z>VA%l3F?n5f~zx3J$UxWu`a;hI6=^9V&^`()%I?{X4KE3~)VIO~Tq~9LtpGSHF zw#~=iANKw=-qPz2N4lEr8q!26#O=^F3r z^=~4*0qxD}gJAFf*hs%K(w9Vf6WX7TzX@#q)qYNdt^KIIJRI4-=W*n46}mT zQ#aWAI|(*_^8awejX2+$uJi`MK7Sf-Wd8JRo=&7Qjxtx!w~-Fu*S^go{bJbb4@dgi zNN-L1_3`(Fef+9OX9z%n{(hwEy=))9AME{)jr2K@{&u7{rTzN&m9Y1Jd8Gd<(*Nyr z%_Go}vKvboC}`dTUC&;XVWN2y6zuq=c?E7lzcJ{VS6~XPK2-(H3(%1Eb!&!+<_-7| z-L8)`&wzsUcm5Tt{wir-e)~>={r2A!>3V;|>%2x=5MR$Ky*?(=ua5L3k^Y6#b-ZuO zCi&yN=E<<~(((O3xH^=Fj{ir(cKlcT*-`vQqxc_1@xKW1yW{iH;J3yPd31pmq}exy z(lSFRPS)3C)?ouNZR~7$(5Swy*jVxyr z58XDlN~Z9th*lO<^z_!1sU<7Jp%RNJEpsdLUZ$7Twz5{smdR!{6Ka!-o==F>$Lh#Y zkh)fC40qwmmVdCaw&>f|Tv?jvHmq>l6ZVXnft9tEe9e{i(nW!fGWV&XoKRL-)AqGC zgVVEM!DimqdiPoi6^g}MJ%{)UJKiOv*LeB8?pFxyA&l$ z*$?cSj2{rcJ2h$F$nE=l_Kmusjj{w4|9f&vEEbje6-^sAJ}it64-A~5sCZl(foJ0?O`0(y|9h5(zw9)VJm-)>-q|wK^`o>*TI$_rQeBu zC7*sb*rz`X_URu7TlyMjwg$FwX-dB({ZKyrp0H2E8=m z`l^pj*&eG8wa27IVSD^#{d|7Z-g={3dmGcUDA^4@A(W5mZwzehTik$$z{aXi@%I#F z7yfQcOSSg@bp2f;46SWtWeqb{)V8u{uq=1gfB8_fdww~$lwZl#SSZ@Vmi)>CYg>76 zjg=K8NwDmy63znms9ITG%y(qm%Bq7h*{v)q$vv#kTb4DdWhFjqi(XlC<+@MTV!3WE zA(uLHNQdZY^T={XXGd)-i)&qZNEXLMFDtDjI;E7>ky)p|Thz9a?gd%W_+7{sa^cEK zhuLC9i&|PpMZG^-xkKcjtX^4`&zVjrOJ8!B$WR8i5}&yi;#SwPIJ!l$k5+RA&Ij^Y zb7d;`np%>M5u@9GP?uoc(tAAHqFZH)lVUbA`8`2AhB7N5^rW zAHDPH^K&$8_S$~EljHrJ1ABc#?lHWs@!+N_y^Fc3@#&3)eR?lCd!@Hqqe6f4u{VDz zzx~jC{2{REdS_v8&TSQ;JY-*wW4E{O1)IInyN72WKK~tH(-r>#*vEg%>55;;?&aez zF3ZPn!1lLaH~+oe`495FXSkosUn|)AzY@0e<^NpnlD+@)V6X3wz1KIOgTw2Wz+S)C z>Ds=boV$Gb6JU!!iG6y1@;bRF%kX+TXY+QI1a8qa`)1k!fsfcJN#@gj`xa;R+aJj< z+SjzfG+@6Y{4;+F$L*V>b3cEYVX`?q0IfG|P+?cn-v{0#@WHz<-w6C&CMSm+$(T;~ z`{4gf_$v61@uRh@~GfaMkm%=9n zR(==4KEKbwmS5%nr$6EHVZ8sq{{JO53cr#5aqzs5U&X%)Hh(Jr?YLI8@>l)nSYh>} zxghn-r1v-Sb0mCmV2uIPJ1*mcKh^iv9Dl67 z<$ow_{=1UDg>YrCKL~%n!;Se%1Mv@Id#t>r&!#R+PyJKZ1^!|4ukzU@DxbqRepvaa zygZM=|2&Q#EyMPx{XC1kwV#+LV?P-CTS-Gf@pZhi_-fDfiVNHGAsl~fd(<9B!M;6C zfUP~gad=Tu)q!V(!T-PEPvE|RrKisjonG7}uOD()QSut)u_|oOuh=i=c>D@=r10*c zMadQ%-!#9lg7l>vFT5@`z3d2%w_Iyp8REBw_ixSqPa9H@ehF;4@^>U{!smYsFZBET zpR{42-oIsD*Y=KcEPpSyDzv|y_~uXc?>UxzYx3jM|CspRz5^#4&)d2Db!B_H@{D+1 zwt0!(S#1T+4y^R)z6etb76V6>Xg@IKP2LX z*!%dqv(Nkbx&Ss^@t<_8_B*v(zI~oW{`+@N(r=U{1nGOh)_#BHu7K)KR)qHYb?4%= zukF;Zf6V7&Tw9}G7`Rir;`G@4Mc|^g#mQOdF9w#sM0v&j>X>JT-f{j4EFvs=EeIHdw)8=d4Kx;nD=)D?ET#Zdw*i@?|s<&`waH} zdUEXX{`P{sKe6|xy7d08fW5!xVejt?*!vTEe;sHG-k-)0cz-9r-rr={`xASAkHg;I z64?7|z_HW&)0jW=r}owz_VM*h*5bEfz=fXKZ$X<<5YLUc5yyM4AMg09^NW)w;GMJR ziMToE1JB1f9zMM&(VT~;k_Ux`!;6yX@KJ1&g5HVzjrOJYC=`BfT0i~H^lrg^J3fS^ zcN7~1J_A06<<5cchd1P0|6}m?Is7qv2X&-S(X4)=?`~_{sKN>G!Q}taz;ocHV$g^T0R54LRS=5Bv`NDtuPRPrLQ%Clk3p(70xW zBjDXRUmh6vpYTtxp2I7=2`}b)U(Z1m+A!hJSzO=W6!;K$Tdw~#u2JDy_zQSa;Md_t zxjx@1pyK;VgGVq1)8}RhNkHfojJfBP*D*OQd1fLnW`-bF?BQhTh&jl?3JY7?30UK;Xb{ozfhj%z@Nao27UmZT#?NK zC;Ly~{+qIY3J4uHqW<7n872q9GdJVCpum&h-8ZLx1OLD?;%4ley5?3;-|H9X*7y1Z z_5;v|WpeTz{4;!ZU~RwVIkfFpU*JSE>kCxhq1gHk)t5RG_I;UpXXiTBDd?H+9Jo5e zbWWCk!E*vDzUEf<@ehQ3{HtLfe>QCK^-TPJ*gq5hH*C+em4CexZTVMUdw z%=q+mzvI)_v7*}L{~6fQmw%1fHUIKAfNl2vR0iJP#jy7`LuC~FYkR6;zdg%fzdb+0 zmY%k!7yE|a9*ybt>1#}=PhVpceEK)SmcF(}_siyA+oLfy-k;{o^ZpKpy}y%S@9zrO z{Av62EWvMI501aKefn;_bpPG@e&~LTVqbWOE3Z+o_g5YHlkWY^hrPeYVDIlu*!$D@ z&gW0M_owd{dVif@?{9n9`_q^o?@zk-r*D;bf0x1LPjeoA%(nj+jvv3m8?oGqHm{&L z5Y<2MZO{*g*Qb4!1bsF8ujZ_~fprRMn+e-v^{4t*e5JB97hm?p86pUPuB(zNop0oJ#dehKz^ z7Sxl!8II3({KLjY>G7!p=WGR)kFIBY`CJNH`AC0<^749#)8(%RZ2rWWGsal)pCKI| zznF7}`Ir61u-PmB$50lQ{}<6OY{d5*sS|~3@zzj{4{VM(ku*H}CW?b)B`L3mX zZO`>iPwGTL_RF}wG5ZF+xW8PV{+QseHGCD!zcgt7IFaia+dt%QG-YA_^!?2(vD`Yu z*Y)caEZg;~_;$ya4y&JNPJw>G|5NZ}>aSzqAK=5N?_MFln;*sX0Ng0>D0mj-%}*L` zW?_5Ew}0R_;HH$_fF_xYat%>!HKJ?~r9)ji!kJ#*&Fc?EDe&gYSVaQ*-o=S19k0DcPAuZuqt2 zy8(6p4`93y@NvME7#{>|!S$){s5m1UZlGNNSlXjH;G2N&F+UV=Lo@w5%ebE11Xy3s zE&?q3_jS-;1l-G@?Kt43@o*nJ<4hwm8>;|MWc={+8H_zJXF-+KhQCMO7G4R)-=oJ^ zg}6Wbo&It_fB#?f*jM!UF9O!%-_>}`2cIFO>x%%^^?3i0@Th-H!go)_Bx^uVK{x9ME@%xk%!nex!y` zKLxNJ|Axk+J_^Qy_@n+Iz`7nDdlTVNKVQSBUm4KDB?O=TQ4OQM8el#Cn;MVtKhQAh z_XqS<0{ydzhEd-cu*4q;{TV;+EDwDUH~bEAJYYDbR2$-20o+l;=>ISrPsAVlJO0*~ zv=`=ET*FxYV}PZ6)Vmswdbk@g;*a|6njZ7{Kr0_{Stwu6w~2f?o1zH4eV> z3pEq`4B#<Q|YvT>`nWACL=XJn({KDG!K|Owl zRFB^tu&)1H<57?2m%1Lm6RPW{XyXUQ8DI z^*;yn_)IuG{%j4SJ_WEIzj&a3*3&TRy8;${gBM^tYU2&RW8FaO?}+;cF#POFWPG6i zJFvc!@rwN&@1@i89j;+4e->aVAN6?ufvzvEVbs?EEPBl6cddNHdw`emiui(tm%)Y8 zlc1OQ?@!F2KFb$;9`Fhnrhb$ydj9yED!Tp|ZM>l#uSe^8yndtW@p_E#sK@U-3&wob0@n26{4p`S4f&N)R!>Gs4&qaR|`ZJ!t%6P-? zh~saqOaDhaE`Zl+82$0yQ1Qq9J_*jZql5>-tLpy^c|jSl4fb@u|nx zG3pVE9`Q`*vO4})!9$0{vU(e+8`b9pQR{&L;uZ`Pbljg3d1otnwH1L$ir!P9sY~i_&1zYraixF6*Oc1PT_Nc ze*G_7KvB8`bPfL&P$20pEUjtGzfov3zWg^u%)cr!!9B*2t>vuf$m__9Ou7G;6cIoD zg|8Hy_@BR?_8+wkwrQo@RsLhowQC7oG_tkJUHM-W9Z=EF-wJ;dnmXo-Sn@-R*ROSq&#@4U{&}=`z;B&Tj0ESyz)P}zU z@-1MwX900uIK~Rj3ZHo)#_JTgA)cjSjBmg(R_crX8R43>_+$RaOMS5Zc+MyFN4_Lr z;nBYY9D~Fk>w}*eNPQ5W)G$6r{XAfK&N}9k6^_A@55`9<@zMWtI0j2RvsSLcTV z79Qih1z3+~!33x4o5L|z^cX)Jzz!U9b$+gfv3wh@vFq_h0v0{?_quS*mHv+3?^+I6 z_BZ;kf(5+p{}ddY#UJx|D}bxPHF2GvtKr@AVvR3gKfAoYPiKMOF@e{3yvGfnJAimO zLE`}M1pz~q)RqSRct6)P_>bGoY_NY}eCH*oo@0P`31jrf=cI{$%^zabHL01*j{}Uy zOPphHdmk{~Gd7i=f%)S7Ig&5x%fWaPJ>~)eezEdvo z5$A#NAsC<2&>657Py*wMRULIm85057)Fuvq?g2!8Ube}JN2(ZMT0{pLlWxay)bNIjTxSlBp zb(Hl?5TpN0;3YoJ|HWZ`llec0QNJ2^(c}6DKabVdLpnzNNZ>_}>!IU-Wjz$csK2l2 ze*`>7TfYP`>em1-@sV$vCH;6G#Hb$vyskeE^QWv2kjHBX|HNZF6XsXZ1mtO2=1=8;S>s z+OWL2&>y9|VE@GNx*q0#8NXQmWSH+IALOH8{uVxnQU4;$-=Z&j5uRfT<1c~BuX#R$ z;lXQ|Le(}KZU$Znd^N_%!;&(>|9k;HqXfK2>E)FLEcsx(LNH$Rctrv0@ty^&$9o6HiyrSWz!DG3KL}X#69Er}{-3DT zXFOnCe-p6i(Z3Y*e;q%qVazubu%7QWzcujIAJON53&x03xqS3*3hN)eJ{46k9DQyV__b055VoFII@1>Z3PPB8j!2dw+=0Id7t zdO`H)|FnkDKMv*t-9JBI-5(w;?ejmSVe}sYT}<~M3Rw5w2Ust^G|Ufz(I3ALp!PuflkSlNI5|!F+=EIJV*O zf%D7jfc5zIG<{cycLU-tW(PMe&ua}2d$}4vu%6I^H z1muhx=Cd5ezwlUo0~qfT4{;dAt6+?eSdWib_rDF}SJxxf^@v4}-`U6x`Rm`=$Oz+4 z&QI~4=*I!SP3fxd24#UPNCT;_m~D_hI2y9Pkyu zc;5(asDBmm5k2OMSdWibkM9;q*P}mPUlo7Ecs*4x#zU;fLoD&IzxFGZj&c9@jZfeI z7%zkAkB3-~hgjlS;E&(Qm;U0ycxngnq<`S}st;KD5B?5QO=yRA;6HBo%!}$^pH&FI zg8TosdKoaDAC6!ie+LY{ z#$d!V#uJye(U1@9Q{3=(qxu5Bi=dGk_&I==GJYBAiuWvEWgHKDA@I)y@8Q<06@1?S zu%6#&zNj{?@?<7bT$ANhx24$=7{ zfQ85Q!S5?bd@Mf|uwFiXJ|{f3AO6m^l#lzjAskQj{c8c1`e6N#7n}_75%=Qu#qY1; z`F}gc_`7R60K*|bZHVzX+=5Zx6tL(KchoTU7yKTb{LUKgzv+PW{Wk-!>_2Ru6u^4> ztO6|UgYod5If;kua{;j4KEDFi+b2_Odi%Ty{+|P$3u`RgaQuA%SjHdDAK793AoB;t z?*~|qkH4d;$DaZCD+;IPpFNsCmiIGYy}a9i_43MPOD|9Tjve%Oeg6#sUiKG`#|ePJ zs14g|D`367wgHy*djByPOWD)U_YVTD0k|3aWBn%s*7I=zOZ~f+g718R_6x`fH^lh; zB*DKy-!|YsJ{JQwoWF0v|F;Pm@zAz=0GEL|1h=Mu-vf-_%fk)z_zVWoBgXM6_-lAQ z8UDj%!H9mg#utIt1)%>QA=<$2&=mrFo-z6_1FZW`0W9&+AHUC|`xgZ){#ak^&r)Cf z&e{gR7cL6E_#I^mqJD;(4f>d?yjV<9is| ze=@WKZup(ek~z}9vx$5;z&bxHz)uSB(Xie;0eucPy#E0|pOgC^uzovXJt_HNK0gDN zd@2C{Ax!QIxcw0~fx$2Mx4aM!aC-``@_iiiQeHjwm+v^@cM>1ZpZ=Xh{QTrB;5F=z z_(^CS!E+(sQE;sNl=H{-$PU+YBtBwK!&BjdjTBh#bl`kT7LPLC0GxyO&r0Cm2i$}C zCa^z00Gx+;^xp_`s_wrDu=rzr_5+ssq(FYh0Y|fc81OZ~cn*de;wUp6-vIv(@$eir zEx(R{_4rc&OZ+If__PGDj4#ahRlt%jmcJgblz#^BM}TpSfm;vIe+(F(bBG(}a|E#D zhx%^<`ZEFjbxn`sX@=<^PaBK-$5Y&+{_#`*@Of1_Jlg~6|1)5{{-9%ouYV7~di@6j*6WYFUjL~9{VM@I@}kH5PnGcJ|21Ge|I8)*`4<7K=U)`C zo_`g-k%N_53>kmV9vk^$h6kfPS>5$N8&Rsr32lAk0Tw0K+a+8{$lGOwn;$ z4deB;0ie{cp9};XA4UFny=e!$e4L=Vep(nf!Fc`T1aR}1$9R7Mug6ORtjFsbo$jx$ zXK5JYHO%0Thxc3Q@!)G2zIgZ@Jjn;+m5WKo7!OkN<(CKgydDp3lJmtI3RsVapT`Ks zcvAuE^~G~YJs$q9ieBF=nbZ9-KlmE0FCPBxm>#b+9FO#PZ2;@>@H+>R55~&^#~;C% zA3k$Pk9Qq-J>Ct#dOW;eOZ+k3Y7Jw&o`CguFTr|5k2eR`Ct82G3|NoX9FBj2F&=*B zK#zyVKRsS~zDt6db}ENycLZ3d42p?)t(y0`rtj@dVP+>`QzdBR6Sm4INs~=W@;GY)d#G{8wTqEJwJSg zfFADvU_D-GST6|1c;5rB$IA|De?49fzB-M;`_zY#r_|Fnj&J{17#^}*{qdc5v{^>|wV>+uS}IiO&S_c`!- zya&MR@%{v?$LkF18}Y~dwrCjR4F@do@Ot)JX1X4)j~9yfUmt%IupWOVV2O{{$DafL z#eBTLczfaCg!~x(&y?R-{}TuUQEfI`Hl`nH2#!4Zra_oP4W83Pp+PvpIPx}G9YPq( z&+1Tx(Mm#P1UiWRv0w{H2mhpRPUNMDuPpqNzFCo%+%}Pth!BX?g-xrX4xzfRIqGlZ zPXtm7D?+Fj5vW3%elh|b^}g&j7Db??-r&@j#4qI0W-3Fe@mp}7E3Y^RiR4W~AP0$* zL;`^vBvKNw0=dZ|B@ru7T2M+NmJ4A5K^&>}WHH-!b7#71)SLyi&2jaY#kw7@kyan zUm}*DwbJJUMfkK(2fez|F(MJg2{L>_v-JsH>^ zv_qOR9?y0x+kR~OvhBcD)>Ok8S7w`<`j<+O_6C+udoDF~zDlg}a7sj;8o;73ZvqLwKg)+8kwaJs6tR{N+Y&ugBLcUI%# z#`a%|c@{7Q3Q}GVkt}j81v%WfdXand>e1Uqvg&p4%z3ucsT)9lqy3R89i2Oh%Wotx zkM~jFwwiZz3xWoBe-?;HuO#W^E0Om(&kOXn(VA^_wy}9l_3CTJrJ6g0sXIoVzuJZQes4XY zUV+71uZ_Q`x!}4ICGat9C>a0r(@!&nmzaz+*zo=Q8}YAU%*seJYB7Sw1hxw~-&fd< zjET;TpXb17o7!fuZOHa9wnjTgC6E*HFRA#Vc7N3d|73MM znb(pWTJ!iS)gnP!da)>}#q@+0aNh;LpOQ)?H)gzOez%2i3CS4D7}_r}wl4hM zxw5&91&I_fnGZ-CPz>8Qt7u-jMlkZ6x}l7dc|a}7zfv_(a#kXaF#l&qcmOzT<(pGS zSk#i%BT-zxom|eNtlwFNUQ8Fvx)iF85yj&tmX{{6bE!jzSf83o@snuSsNW(&YEcpe zifND={=vN-XkyMiRJjE?mTA#j3FI@x4!quopAR3-!1j6lGU1H#3}a*&R9jCTsQ6niYNKU^p(a6iV+@y{mex{LI4PMH zL`lhO)zYtDZ*n`s6ZA@G1Kg@mb&L+X2p5M9U!|rthArCYoV-5uy(%!SdERWn<(J_6 z7V+^V{>ix=W`SS)YZRw-%L_j~u`I?|w43mCGDiFv8Zhx^#;JGW22sB8Pr@sB5LZ#r zy+#!e@py{A|IS}e!Ol|Ul!p6BI1hL~@7gkjjK{g1;-95~GGrJ9T9+4+hpi0rUp1!p z2jLg8VN2!{tZCd1$t|*|uFc&q@|@UpzV88z2c=Ebo6d zk>`j`Ng%#KUV3qx+c!@_`~ou;K3htNS3PJJ$C*v(rk@aiJ9a6a)^R->hY_(~;vs1@ z0@z|5a#Ufg`PouaP4#{)^%p)fF4ZD0zP!i#a~YQh&2HiQX*{u{@;U{(yLvy3)(H(+ zA3rTOK57@9zYMQnZHB*ljoT33e=Fx(qY=NsZ`GTi}^I-)T{#S zqb$^X!_|-AAFQ9pbw4$(dkteU&ubPRSYqk$V>Fch&iPHxauCBC)2At8OyT_;%kyn= z^V#Z@W**N&t&cwj|KK|?gO;rtw5+7jg~vlCll*bA>wqs|`YQvI=={m_K1?&}1@wE! zI{kMvW~<(o{@ngOy>RctJp_lT=OyQ>s@m%um$Qf4;j3FpX6$*PSM!3<=DiBien>7j zL%qmI)3TAVHSLhZ?0eM6#MuZvXTpXZ=Al@M1G=~wy_y?k`cuQju|Mi?id>C1UcvS| z=kXL3XSC&cE5vy{&-=f2-HG)vbW(D>@=M?ol7Va0?lx|x(GEx|sc0jqBw@8^g|`;+ z0d!$3C9;q|xn%}0x9*U;?ark1>Hs^^SzgL7?i4|lo@PvOM zjWOrnkMp^}`hN2h)Skb<^}fKv=t5eWdR2lafC~vNZet|ed+;s3v=A&z@Z2azINRhY zPR5)KOaQQzNUpUxZ9&@j6nq#UY>9Lt#YdqCE>7oB(ZZ{-je4wC`W9s@zzKH#%9Tfv zgbmm6`j#ignT+=&84h*mbYFZ0ej`P-$YhwGlT#DdBz8-w z1jq8|bboTdjCLRF9$cWiqd7;JZsDTFj4)@34Aq!xGa> z@QK9daWTC;2jUih^L+J>cL$Rr+vhdH+#~TV#I!Y^Yc`k?6U#>jcu#P1l1uJ#Jt_Ll z_$+f1Vx#Brx=q93gcf--e3Qj09@RK+3;f(0w{-k!LJO#LYHCB?C_bKt&8pJA3j6sQqg2g9BiY4`LOs)l-B`n%Wu{SYZF@`6Tn1pea-sZV=Z_ZDKN<&m|^@Qd7GnCof%`+HFm@MT6FKOAZ~YlDxJ`^5&$?si{?tcUYeo zTGfAWO1FN=sh#?DTGeUrU{L(g8T>a_soD{PuT2cW-&HA#yRAv-)_>3{h!<*E?NK~^ zjBFuXv_-budGds2(ocRUE0B7F*Ng?I@a|}^5ZX8mjr~k=(;{0;C|0&SIn)*^9N0pSB_$2LMsvp=w&j+^91OGNDbkDy{ z4BgSU9~R^e$=Q?GkSqqoh9WINFSPdHb_wMTY@vj}7HS^YLUaAw|7&>|C5+^GeLE#5 zmuOHtp<$?T^J&_@n1P|FqDOuILbcrtzJDRJL2^{thX_)vL7BAj=Mznu&gz4{}r#>||Hjcv>#itC!&+_^gKU{9wk)+Vl(|MLIeRJv3 zrCo7m%a|dQY4YsZSzno*HS3Eol4BOZKu*ltx1hJO#N^EVADj13*Sw+VeT|~LY|Ue! z`|iG1Dr3zS4HCk6vRGDs2d;KSM@=pT|BIKS6ST>XW`1;XqpUfiCZ}cyMX8HG>3>41 ze`|l*!!;tJA=LHEaIWd!LeYUO6cgA&Spr)qcVG*dfh}YOwvglBjQ@}F=%uG&OkQGz zlAVNuTF3gY-Ad{Hk3wrMc=>>6 z7MPOte<5>PZr{I9mUzqeFVxVk`xnx3P|1V>X~cx|9Po80kOrjg zPa{4QNW%yP(ufZQ(#R4@ZwhJ?sGL6&NZp@F$ln^%a)$zGSdh9ulaRkP;$uSo*2oeC zmGfm1+%MS+)$DsVoO(N)1NiUA7>lAnCHvVMo-3MZq+B7V3GA2IT==|mtu`K z2#f7QLc{nmoBC)QZrxBDed=HYZmv}y836Cr9bb21wVSoBJl?oNz3=n>yu1F2{S%JH zF56T8Y=+Mk_ig%V{dXt4Ty)>4!<^62`dt?kUzpJ1SpAqkmcXLvbp4zcO2$3=*%{`& z`U})j^#Wk;uZ9&a)<04w)c+0lV*S6Sl$lq~IL8soH!*CyN^e757`gg4eVDq;MK^_M}`OP6k|55G`e z^4B5Rp&VuRfX;(*nz6p#gEc=NYu&qD{b%!SXm;+IY4xkB?Kt@1c8TNs%rWvdW{{l{>oRcOF*KcV_x{KURYRiATxvwL^{#(M2;o8w{Q zZ~j{K(q`+;WBdqZje6;f4MZMyWD~-_?iBDp_EYX-oB~%=oDQ|5~7ZvVZE& zr{&j#rT#BDZiG=m(TNB zwk0gbtCihIFa05RDq-1waTiHnfb;qE3F4(c&;FIlAH@78w+Z)S{6QDOGX5%DB!Ago zRqhhcx5*e=w-R51{d*rEEd8_guY{%lbqVB~sW9=fKNdw%e0385#C)PDVVTIfR;2nx zb9p};AuQ{PLc2&W^TXSdh?n)nq%nkLJkDB7SZ2`@$H~7X$8SD>`WMbsxNQmSuW|Lr zKNHc$C-cd_Hsk2G2upv+{R-8$IP)>P$)7&Ohi7TmB+MVT8qWseFAwlBy-6?Qy?&s) z+JXLEr!wg?aQXEDe9l0;!*fV4>%OaXsXi6ie|sIOkM!T?1O27cHsYm!v~ELK`lB(H z;>-ScV>4ly&uc9qEc>VbbA)Ao7Jl5HPj82C4bE@mc*1gj@!3FsTouT7U7){xlb!OF zB_ksRwWOEv*!4HU(*LIfaKanJ%X~Z_(7zW4+V60nzsyY}|00~v z;nS3l9N&Hk=$E`nysW=pUrzObTUyn2KHz`tVTv!~^Y!Nl%kgl?*W}-t{U4q|@#Xv= z!zSV_=D!WJ@0%luuf}}UFUViU^Pxb#tLIYrGJa0{Li&R2zy4*y(qH2%QGD57cS;g2 z&-xKvNgvDjok0K0-i-7z|LpvU%9r_YPGJAl4d~0QBfa#8EbS?t9AB5@B3zcs@B1)e zSx-#3Oa9V-o(t5+EJb>$_tYjM1_0e!+9;$^-cdXVDFe0{kW@p3%d^*!Ns9B-Pux^YUPSdyDik9+%9d z@@lgG?}7e&HZb4Z3Dj?Up#Lll%!gS*l)vo14-LYFxV%b%_FWvny9538WMKTh6KIcl zm8m{5{*DIn*&2v{Hqbw2T%!DByiIINSdJgnKc)ChIRD~j2)AK;{71qa8882waC63u z0`t?H48+U&#=@AVE;Awo$`_KndM``(m%=vaK?HRPmZ4*0{n(ReXj@F`>}xk z@@5oI=BF)z{0rtLUgnpRf%toKP`+|}`zyeo3H0A{f%ts_`TQ1Gf1C*Pho=MeUHuL9 ze>q-dJW5#R|CsfZpUj`_U#I%W@#;Zfd=3fp?;5X?UdHcB0sfKs6kq0(VV6js%=>#z zpu8o4{#Wuc`Ah$NwFvpk{C(wV!m|EoIh6D!$Ili+y!5vgRS3&?`64hMWIRp09B+pQ z`d{K9iZAndjn$-={%Zy5+dF{U1nM(BfcFOK_jDlNT7lzRwoz2R9N$v{`o`Uem-CJJ zf&R2BfH&gT5jN6w$R`*Fc?gys0P;2XlFcz?B6PyJJl zcMk&dcY({4UnkbD5A?TPf&O2qD8-lc)v`1G@sO~Ou$&*9y+pVG$A6(6`OAD*IU|)X z{VDS>(#!gEWM9H^zHs|9@|XTn$|5Z5`BpPYpOeeGQOuujtm(%I0X(TE@zUP8%20l? zUU|C%@sfYJV#Le%X_K3HnV&ZICSKMjqcad+i1T}T7V$M1PrOR`7ho*c0R+l*1i@=F zk-xOx`oR1#^$#jf=KFICNH6DmR-nH>_XhDYUsXIrxG5KyIFjO-jPK+nUgqm@fq0WD zl3x1fs;h)${+Ts|{2$|ZMGg~g#&}1dy{gxy_Q}ZngTVPmw+_T-VgBWh3CsGaN_WDt zejaO6KC-`m3>IHJK|-$*WKjTAM8a~>St`H@}xb6eM#-zg7dGwlk`&G6HgK^^WFQS z3CsNWTA+RxuM__i$NM%gKDGt)DGjMS8Nab3DL)zieS7=!znzz`jIZnu`ElRh$-f|% zZxttA=BxdI_9|P4^wOVp2HNM!1M-*glkY5HY3~D-2}}R(ahLh+>ilLEL* zlE1xbzDHQb)6_u!x)NxQ9|QUK_=Nmrd@R^R`N;A0ZXo~oSbuw5m_hz>J~Qng`OERL z>Z8O6L}V%kjD8vxH@SxY(DltS9>JqWq;lZV2F~UL{_}+lfGbI}pg{!<(d+`D@c|fBcgH zd}S>0Cb!p#nS`Z(mtIO($}c~a@~^>q_kH4JJf01d|5O6;G9LN{{BPEzc+&n^$B|z0 z`8AMF%RoMH`^djB=QA|G*X>FDN!AN)GU=s1+z+(JmjQnJmz0mJ2Qu9vEbUt~E5(!f z@{hp&7?VtTneVp;`qvZv$Y1(HhDC&>|Fl0xSgwaHJW9AZ*SE&ua+#mk&JaHEB(!Xk+Ctk*X z{;7mz{#bO5^m4qe_8##vU%wk@-@<{eo8f6-c$zx1~eUr{`nKLwBlpgr0iX6r9r+z^BTZ}6O z_?H6hUFZ#eeyQUrzRCVq1O07A3h^?Z9uD9iKOkPl`~Fpw&*L0#<)egU{c$Lc^wQsQ z-lBX8u)f?$!qWc6XN0A{<_qBMf%>futS1WQ_m?*zu>YJud6$Oz+qceYDqoJzUv8!P zG~j&mZu8@g0etaiDqrS@9tTO^g#8D;NWAp_!sUsV^V7nmh?o68@*TpmKL$@AY;wFJ z1qe&~Rvbt1JM|?B8+#VVU1eo3N}O;^t7k(q7dA zxLh03%X|(u%nUXAkM1?BpE-8K2y>r4a+()!J zz}M|X{(N7O5g*{6CtmI|vWok8DeT^9D#yreskcUs9XPsQuf9F|z~8a`%>KOw4ei&r zwpn5fJM`|=*BmppSDztf?-ApM_Z?H)96I9h5+lulgW#`BuAs$xgz#P=yk`jS9r|Cz zMpSf$EU{U$@%>O~LHtkei>}`UxYMbxS+z>}-V>o7LxMOugAtV}b47@1@gz`dnj+7+{GR# zTIAuvg=82+qKco`_9gl}*nMc*ooR0rcxU||7q`p%=zy>Fe1t=bUmrw`=cS@C>~my? ze>HlfdSmuDWxV6`e)zyfg^Q$pOH<(s9Tm1?*D7md{ZQF%#c$a7!k*VgVeb#}x1L<1 z@Xl6qFW?JzfUB_hTh3;M>)!nFOMDSN*pB$D6yMCXPGO@}_z1pm`n4kdFN*K|PImdr zYt(>sZ#N^J{loRB{7b356=AMx>*Is@8*?asTjHOf_ybQ}8-$KlZuV#1{)+f5XBy>1 z-U;yGAymFw{;+CaZ!G7>{%(G%Uv%$Z-c$aITca@|DP-Yi?f_Q14{uKZ6 z#&O(1_S z2k)Pf>+x-4?czIOwBByse;nWYn#$k$!IsaExB3w8eM9ft4JiMVnZ*|)Z|tG`g%30D zhB}``+THEv&4%QExbU6p$eRJ)Vg9*iCYs3GyZrth^R+krF$(!G^V0qnKZvc^id||* zIg|YR$7oFD*N=azJ^FhC{rkuJmgeP)g?@67563B)Vc(V2m_=l>n~TUXU?HF7b65a}q&%D)?%73~* zZPh=+bN#%1mdfdop_Qt*J)3yh|Nk+57IXiS{>|}EZo99R2H`e6RDR+g9RJ=S?jKxk zxEbYF_3V3l(9!%&byLG*-fT{M=Tbv!An#t``HOjn`Fd@J4@KSx@a8*f)!P%((njD5 z^R7R>%X~qTPPoF%+dTfvncJq6Vp4r zg#J#2_GpZVe-Ywe+TCWUdOx$D54N9mjM^{aUx54vy|8%(`dh91y!}1x-_FN2+(X`& zHC`FSIN$sCyM+r6ljF!wx{T`+Awyf-MAKl!h^-MSv~ z*1pbY(&t}3K4vV~CMUk{EE$U?{rGvF+V9a1-&9L=^BDI(Ilj7^l)l;I9m~~=xBR@h zn)*li>94%2_+Kc0IX)Y$ss5V}^nMn3cLDj!{A6C(pxo;B>z7^ex48bif6O-If3H}Z z`AYZ==YN6nwvslhw~r>)*^MvkYQ#%?cjaou4?BIZ0KRZ{1mdq$hb<#^@~qLwdprGn z`16hUwo&+5GX<@AmUxfLHz!m6O>@USr}%Sz-YP=*)vHwd0P^8hW6(tAN2>zuzfnIN zSEp{?pDK;W{&Q2QeP62|_X7HvVa`wb-)-WnrY=0D_$q#X>onzGVS8PF0aNFZp>Vk@(M+-n*#$ zqy2nX{2vvb1J^H5A#L}?f<*$t$ix~ z9{>KenP1+J=09h*pAR$tP5I@U(cjwT=gn0Vzk2>_bCCCh=lsK8Qu_~>G+XT`?_2hl z`S%XhZ*k$iUC`gn%sl&B)2M%SS$F=FiXZJS-($X7^=`i+Z$wW}M*6=qo&2xPsjub_ zSLUaSJbnWG(@Em~Df44x+JAX+bXW72dDCCMv6A>2r%MdNg3S#6^4&kEf8KBV@H@zR z)yQAQkMX8zR^!$(D=+f)U;goHHm3M}ziqP+dGo=OXbd_28dZqTUZY}feBZk6&(CU4 z{EhG5RJ?miRU>kIa&xRhH)G(WZw8?CIy4xRnBh|XMo5@Bni0?a$75Ue&jovtu)1*lxc`|OsD3}cv%e7X<}g1W?nn9Ge6HzK zcb6n>W%J0CHr~Xp@gP7<19bVsWIJ}}J^2T!=l!@feeA>syR7dbG@%n)MtpQa2 zN0ZB``N;|JUQWvYiQex|#=zEPzrV}=n=0j1>wo(>KW_}A_<2^8Q1go!3hib~tQI;tr&TvIY%c#l_^+84|D#m?oa|MuqJQ|bI*h0L z2l=m=Xa8{DP3Q){FLwVXTBn;o{~&L5_2+NeRQ@#gJ=MRhvwr^|Z~Wl*x9dxUz{2Sk^OH*6W{25Z3}rTzn}LSQvYe;q%KF^ zYxWYFh`-1Fm#f69iP~+>d_L|U1-2;tnVA>+;|s^0t+0$Aa|pH1 z_9!a<{hUn;D8H+7lq_<7n4i`cD+=vfrHH2f`OVEh?Ry~4(jSnwUhGc(t+{E`v!qShDT z8iRej`7F)9- z^+WhETEA?|9=%lW>Q}0rS{@kAA&PHgq<-yGp<(Yty@T$CH*5phKM5N-h_{%x zn0I5y->N{o!Mr<^{GBu8@2ns`9L@1Y5ijRAMmx$c`jhxZSg_T(zbZe%JJdho?k=VJ zwP&99kFkmJSe$pES{Pbik0gKDe`ToubZxaJS;e2_=k4ccSWkTaL^k9-=Dp73=S-&Z zAH1_!o%mZV)iNZ~|J?S}{x2UqzX<)q-%)(8Ecv_J$X-^YJ575ue;^(dJH{#pI>O<#GqV-~lm-*c}OT63eRdxR19ijQbyG`{r zs=kMAM!&I5R6*ewwahbY=FKX^M;#vg5bA8leMF z<~K8AS3l4GzxK?d_MelBcC+}0XHorX7pZau9lbgel)v{l*FQwt$(5Mo~+f`?x ziL}4jg~o5?2D??o+$p^Nk?}_#D;UpTNKxgRiQDdZX842&NB;5q+L;C*NLHjSXx90cA8)y8y@fwZ4l^4U0DE@s_jmZ3J zE?A@9?mItsPkdnwP$t5=yQm*Ecfaa`y!j_BgKb`Sx-XM|;a|V4guIiX0h&mD-dM{2 z^;~CE|8{z_KlfjAGmZbJL%r0%w9gFm`MbNRd^1O5TAv2^@J*V3Dm6YChmP)PzrXbh zweQolUeBWff8*!fwdDWEv(;7qa{|2aEBSBCxbGMAx4-uLn|mm~bBCuss^Wj^=RL09 zQ+?`HM&A6G+qWJ0d2FwrG)?5KHq3MTSRby&w~gn{HB%E!*dCy;%pWfEo6MKgfycYV z<@5U7;PvsyYsU|vqxJP5^5^xB*OBsQ_{cfcQM_XQ_+hSphBH45MMvi-AD?CaEvEfn zeAleURN!-d-q=FO-hm`M5FVA4I5wW_MW*>t|*y{`1Wxu0y@XG_(> z&--~f@k5xeNb|c3 z-w=Q1@BMXD?SJnK^Su9^kyQSz6GJy+`Nl4F89tJq$8pYPDyWXH_D(+^euK*YGwzjA z=k6I;kA3Eq>m5oBU5?ZAJ5Qu2+2iW(x5gRu0XIgtNiV zTRcDax?4=OpAnd!ZT`WQAJ>gn1INq8^EdZjvnuufT@BCf!1&hV-2Zw0v7V&*hf=RyYu3> z(#X44UsL|VTX~89qd>PaNSK%XypxmoJ?lrP{^4Hq^VZX}zI>$nkw4Mj`@zo}w<-TT z+n1b1-Z|&z?H1JkKb*I`74qTl{JdF%_TR0P9$6Isji0xErue3_dm-}n?g0M`4f|Y~ zA6Dl_;jjF>Q=0gC&mP&L{6`Qk{o5P30pB)uRVl3IH{)@?zqysh_YwEYqNsD6WoQg( zU*{I(w=?tQAMt(XPQZUZwVzdUM;+vi4Aj3O{&&d#=e>^VzwQ>lzrBgtui&XyhN8Q- z&CiFq{dc`izi4Fr?B~q`RQ~AdG8RIF6FO4Yheo3-oIt?#hm zBSwxIJ!UMOCBpt#MdRNcL+6RhKP)#^0{4vSc81CKhnQ=)AN@l1<|}OzQD@dAom+?XtaDj6 zs`rQ=l&&H17F#LT+eh}alpCHz_5J#@1E)~u9VMM}ED(?Hry1As zJvASDUlAWZ<=5HIQM|+57M#U+_GiQ!NBp`l=Ql1xk5Q-#b94IQ9LuyE*|ST9ee0g74HJKAKOU0>r`%=hSkcT&b~;xFk5#W?N|E+ zYM1j3e!qq~bFSJghP{BS^k*lI+GSdUb8S%PaeoRQqPU_n`2L;~HP=0aI_o&sgZs7U zten*UrhPN)9n_g0kj~l6`n8l_P#3<${q!iud_r zy=nc{obzku&(AJP_3)O}QP&~u7+Qfi8Och#a5>s`=$^@F_8 zxkD&$2a(PhOxERfh?hwFC8^(qk5Fg-I1-H!K2KKSd3+yGot2H%d5Fo!16z&@(*F)n zzh5=%{o@$N<@>cfwvm2%pW0<^tKW8`&RE0!l&!g*^0JOoyOiFyk{YZ=J0%Y%kQJSC zjC3vP&;>d(H}Q61vMyi8@p@9+gd-_mU?8i}Ocl>y>+U4p&QEqs?WCVj5Z*V3bZpH} zIKO|mK5Nb;eI#B>(s#a-t(%H>%PyN`2dz{e!%=kew}Sn zy!~tD))XU9{#P77CDRl1Lv-|p9WtgAgF@h#L@ z%!haQbvC#2<#|V@pw1h@{5ZeP0Gv= zvp(FU-al7lsXA_%O-X056`i?-bbaHlW<`f^Jn1~PqO-oGa({a=b{Oi+BAw9~7F*Go z#c6$d^79+jmEbRmXQpwUd#RrP^t}_aPW!U)YcIR@f^-R&-8x zIxdVpv_iF?TYz}CkYDHW{Q&K{?_Y|6ynMtPajg58^UFZjZ5~*g>Z8uQ{stPuxkc9e zh;_r@pt>`?~ zbu-U3M4j<6=OvcQ4R@q@=#2%PRE5kcq_ZlMjl|>6xl3iwHw433iNxD%MQ8Bm*>7E1 zr_Qt8qNEG6jnuab)%R#ON97mJMmjUAzg#nc`pfC|{VHI&;V)lDV}y^Bm2%B@X?->B zKyTHry!FJ}8(Amy9ZvnA+0#}njN|4?LSxvu$-1m_yHS46UEHK}#^H`i7iKFu^GVXR z8C{*uYY(yRGqR#{S+{0jh5o9%gTx!G7oGVO#oJWrw+X0oJ|&&WdeOP881@`E&Sl+QC-dW|^LCNWVZG>#Wa=+l*S&QObuQnJ;ILkF zF6-iN?5~5m@G-8(ak3Fz56Z9kyAOYiI*WC#=(kgUH)qiPwKl(`Ep+nQYx1 z#Cut2o?Nr!#kZAUE9o4zk@=q2IfLr1sEj%^MArO_+ixVV;z^&z{>GfF4(b3`|abj?Z> z$czHB{om`XKQ}7>wmY`c`D*LG*V!De&!py0po87^?{(&K+HdD(U(ScR@IUBmuE*x` z$*RGvCjNM`-~Q>oOZk4W^wWRR$@i#TzJJH-P3Q3_t>b_YJ7P7 zcm!u)AYOmcjZ64F3gcOWi1*k^yfBwL>8EKH>cUb_jw?EE0LA+-XV31avpIibxW8O; zHr1nN)e>}oemg-Tk_c^s=oO3f#Zn$jC&xv<3Zc^`0Nqv1BzA*PJQrO!|R&+)T>E2k= zy(;xjTq=clveC89MG4J@NZc)P)~fjK(nI*m8c>Y0}Lv zI`UWKy#mBrh5S1E1G;|Dyk6^Vs0*K@@{H5|a@{Ye9?yjDwpF@A#5;%mx-i#wMceyl zl}_>x`*p?%$}hG4;3cSYvQb`Mc7J}}5ISD=YP_-y>P*hdI}?b$57<;7e7ShWRR4mvuJls=QES0LC*@i1*$mI}DzGGNOafX|Z#)&bX(u_Oza7ldMdcPSO!x6igu;{G? zr0+2C`Tk0{iFk``_&vhr6>10b64_Ead(=g}bwKT2Bh1!1NZ74Q`MBfh_?FagYn;-@ zc2vb!S;^Yj$Vxu$Rf>P7TQ0TGunzT5dWWs?8DTRI$G=AU!6CY_#Wd8i)d-iT>w#tz zVe=;GoM)-NJznea2?qAQ9jD?O-;s6CvE}wO?~-4En@gWSp?Q_!+G4M9Ilq$53sL-q zJE9&&y`4G=jbXk+))CD4xGmIS&{*MoWTDO}Fb0ib6k}VEtjYJudlhKD`Lxbi8)eRI zD&M_B);mx6OMQdiUv+A8{p5SBmcPC(U$>uKb}r4|)kkA7hEap8$vCpVZcx3KB>z?e zWzN*GXyAJ$WL?IRzuAEH+ppu-w?Liq$Z#}<(VDEsHWI%B>8B<>RRm?;jd^Gc^CnqW zEblM(FUn_kT+_o!_l}Fku-STSCBB)L;#Zk?avAEJvuZjp!eYNCEP6MN^aUE8R}Es7 zZG~=z&DJPK*epakBXyJFYiIk;#23z|-4u2XlC{~2-etdO2h`7j!Sgss7iR0S6}?%Q z%E?(ObOQs2w{zSbWG%L$cUeC*Z%#G7>@B1-wvzQ2i{5;g;+MSGKUyXJ9_d`R4qMT? ztiQNxm^u!->o||~WKFSLPqPTcpZNS6-(q}kDe1y1xE!{T_^e-;IR6^z-8rOl=90D9 ziry?r@w-N~RP&)TnRV01T5Lsc)u7|T;aXG2t9-_D{0Z#GR`fZQN~CkynpOPq!`wcjXOyXodgD>z zjS^(N1i#+p`0MlDxrcJMDDl=KtP{)mhu6~hN?!l1>d#It(z$uaI&35Po0NZ@FJHp& zhMARgVYV(?(Yxy?{xdg=7Elfkx+-J*Mb`V1Y(&rT5B5kajzaf0;;p-^6U+IV@sv;B zY?U9N-ujv2vJJD1#Ap4;8O7)X~TgRNrB< z)}B}SoMQcHvZh$+ZybNu$0OB3!TXYQ_A&NjEAj0O6o1lR)hl3pcMs{@ePkWBqBkF< z{EHrZU9J0!ovdf;uob=aF2(ONIrXHw-t5Zp**a_`zL`Mz zjGg>KEz}#WS$~@Q5o6K2tWOxc_eqpnO-OIB-fT)(^yWs&|K+!mZPc5UhWw7gUAB&3Ii8jxebTZ|enPo*ej*yf zVQc(A*zHX^a}cd(w)A&?mw__3>MeB?t-WEHWu=_aYGnDLwTfG$F&LrNNMb?;2R`M~IZNRX`yEpeA zP%myUf03;BlV9(?Py4Iz=|T-q@8y13x!DF;D~hZ;oboU(Q2R{1_0i8Lbf&9rXSh$1 zwYo5t^`}LC1MZ&>qu#AbyvNpljIiWywWZ_HijGIVN4?XW^Qc4Ctjm_$-+O%n%8W)M z7gRwTUi=Cg!w!+P9I~0!yZ`e)nf~WerOf!hsCOq&ySUGi9Wk_)+F#*1$tsdu7ZV#< zf5ub$53f-}o$pvxx+s14F|tlovZA+ok$&iZIn$7x`SpOnfSsyyB*HihOUUuL6)R%P;cMjcxIX5AgK-Y;Y&AF~y;XV%wZ@}u6E%k8;a%=H|LArk-e^qLYRh`g#~DH6>w~yTr7;aNJOPd2d_vY@Z1&>#!S5Fyd_n2|<2pX; zgWqTL`163^=LqgU#1FZ9J>$U3&hdxVkGH?O(so^T%n+2C_xgIM>)*Wn!G=fsh< z1J9ui;-J6xg{|IlFOUsB=QfD{!+#n3y-7Cs9Ni%P5C4_qXKwyfQMcxjy~Ot4{KJ>X z-(r7b9{K;y{{NPLxFEM1`{!o=ENuU+{j6kefA%-ouOQpt{&UAtKXLog{QY?@x)H+N zMxQHrY@Lq?i{2bVeh-?p8Lk>?HuEo%H3duj(WK9O|87;(o6|{W&me0tmiX>?(r-+h zIzYvLl8o1#tjSpPUO&oz<4`&ga5|GN+=Z;mICA`)Nb!wVI-SD!ZvVeOen#~F7klRc zA4RqP{UP+;i=Z%|NC}YM6l4-o=m{kRBI=}U8c8;!k;FENV%KZ$x>oF>0(Kn{6&on_ zKK6nYJE**K&hK|3IT(ZYfA4$$?|t15>!L!zR{XiX z+9j9|W#d1S>$i7vP&8whw}2r<`WvP2?-JG|KR0)7f}cxTD*h7GZC;7=&9k$=i@ zr^r)E>uUHrSAibcoPPrRPd@RWaFO4=j&+bWsr=m)@Za@A(`mxrzLEKFU>s%TZ$60n zb3RCaTlgEd!q2(|43Wy;iI>yBh@JkLJh6Ay(C>E8q^$gnD^Sn716KBu`PVc5I>wR8 z-<$~ls|tSJCH&oc;b)LGsr*Cr@W1G@XXW{h&9C8f9$*}02H!DMf#gj@V7S(pDG;Pc>0r$lKFbeScCJ& zIj<&0OaHNF%KXkS(B2nRujiaQ;6LK@OEZL{Qw6(G3VLL-|E;&ld_zx;c~?F;p81ZX zKdJo9+u(oV==^!Y-#v$Zr-9ZPpz?R=KVj|SH-x_zg59`^aisFMZ@*2r8MmB^FB&u7 zfuHp%Xud{reC%qhKj(M)>RS=#`~bW28EAje(%-oo<5RUF>ssM&cREYJFgk-Csp>J- z+$PPb&ph{mid>!ZYdtx z(%-rR^=w?XNgjXgYhgF813gmJ<2-n~tiRwgQ!W&tXW{2Q3OXA>HUC5BV_sjoZOzjn z(3^d^j5p_i?p#pK|In52ACq+CM&W4pzB@x=f4{MR@n{Ti~J7lw(?U{`LAI;hu!s+@b_qUNuw9qYtDZy{5L=P zvV6 z9_p5I?J%=K%i*PQuS(IzIn^DiT zbBg5?dxGqS;T}W|0hPb84*UB#{oj(?%e&-Kna8>e3|$Ty7b5>2*N4qUzR+CIn*o{^ zqkiKHoIf04_Ih3O3^^hzEqhPC{PiATV?=+Zhiw*Qwo~j>C?js^qoV}X!HS678f2BQRC*qd>l6H}Zb7Rn6C>C_$ z$av6x0o%d(V2yA$E{igwTx-{ds_RJA_kEh@ z&z1SqJPYxAG2hDR*k2f|@8t4mnBRj2zX#K*$Uz*xhf=@)z~KEB>OKUUvbrC^W85D1 z4{XEx&gwn_>vPEJeuCyW{r-e+;HU0WFt=0Y{R-YzjHiA*yZbnfgX+3=o7c6g>)YFh zRdewjUf(o=~5Vo|MtPto@X@>?up*9`3%r-L&>Ev=hIO^y{u)cJ17? z!+(AG^Ddj)-QxRFzis$YPAIEPo=zJ^6=+j-NEK(^jqQHYwcp~zU?Ke%gC=E*^w?fo z*OyvR^W=65MT6c8tsHOl>#>*OcCF^tnLhcX^$ne!ZgiD&q9(5X~RX z$9&@Ti28Mj_REOVuX7CXI!Bw-uY0s#L!5p+sK@I;&8N|>t6d*zzm7QldQ*?ro0_jM zjG7nA;?`Onl%~@g%goR?2P=v@1ZX zj(XZvy!GrF>Hpz|Nzw92A^bd>@rN_Mlq?3_sc1iBAbwR@@m3KZnsK~LW6uQ5S)fOT zX47sl{zBB>>G-elKJ8hJGTtQ}GNklp!frF(VEpm*SL1cpsjyq8(T}oAhE8c2Z(o4+ zKYrIaS~TpQ4!d^-N!g-oQa1ShzH7uLESG6Bwf2;C-{^m5A@W za{n)7;IBA-nY&2J4r!Ar-er9Mmu}f2;@zJS7upGWl&u}iM><6qf9LAkWwRT{UwgWE z;(d@OW%ncUQ_$K*egdj^_b0@cJp9w+BG3uTm+=N^wu2lpNXjbS+JX29!Ikobg|`d& zZPNJ-vZ1K-tl!;<_$}XfvP0Id@OOU!y`9XbNWI#A<~=wroOS;3hl#@NhGJQNXa#6d zcAFqOl$+xp!+FTCPqvkaKrg`fJkX_Vl|VL%KohqS8TNJ9{-;e@eU6AXtF9FAzrPA} zNsBZU8Lxk@u(6zRq*V>ss$t$*P_?grZ?Q*vsE&U1)(59H^9$n1dS&0NXC;Y-nkj=A9vQ34Wf|H>F~481nsjx=O3VXHp%e| z-Gcb8CDrnMW8+-dL+63+`Ji_J=v)Y@_Konhvi~a&yG|~Q?j^8?E(6`m>3=2Ykt$yQ zUT5nl_&G;|#xdlvpi4H#--`NYt-V-&PT^ifziUA6TE<@whDa6f-G=y{U-gj_(YXPB z&Q0{c8FX&}?OQ<=Z%sh|Z(ZVM%JE+VyLTsOtYzFf#;qqg{>B=#-)`Lkx&Ik=Gwwe6 z-49w1fF7yZcP66!{ZAWylH3pv!_VFTI*&4LBN%!NRPpX4#LpTUko%we1np0Q)-#NI z7PL3h&icJO5r6--E;ymz3cK?X=)O$rTXXJ+F)W9L;$be$M;!{{VD91nrMN6>mhM|7(^H zx=L>UPht1AfyNh%`;u{Ak*wdo3+fH5jyqfW|(wbNt*GwEu1WAk*+4<}ld3 z;h;nw{VI2UwF_wPgKxaH?g;URXZyn-0zxe%QhX3#;!5)eR zy%^An1C4l4_1}s|{7bVNHW=cO0K0cEXiNd^LqKyXspik!h)+Ibz+}UJILWX(>7bhd znlnI;RPB5BApV=R7j-uLhcz31);!Re4|)s0&_YnfyI&&yy6(0)grh8Q8zRD271 z_ia$cI~&mc(Ni9l=g;nzBH6yP84OXjwnFwOySU8C(C=@wcJTEWX^?x|_sDpw6WV_z z{QHAN!w!D_!Eij}3B3b4r1u^3Gv0gw@rU&|Zk34l3NIBf>;M=lqFhY!eQD{`{KuP$ zr(ctXl`S8SO$D!;+E+e~n>x7skwN8;ESfqr)Xx7mp4@SWcRJ6fe_SV1HS}0_i+r*M z%bHDk_d^cd30kCm2mKyL9_u%3*QUxb`^!9E&Xur9i}b#L-lXi1=4#~8zfaM;<7}D7 zb;;X7gL;$t(8JIl*tK5zCz3PCrDP>}9Ci-g>T>_rYBhmvE- zQDkfR$5_ZWk&Gde$f;x+Ig898=aH@DKb!Uo$;-)W$Q#Mq$#vug@_y2tgyW5I*6p&X z;MrlD#1nhwp=kO`Ff<*sDOpbK+ zc>HQl7GfdJ`ke7ozz}6`DrARxmB)4Okm1)|wO^@x5=+0GWHjhe_F^E1s8@NM3sBER z>6?xadF;uIQ~f#^vO!w3Ta;BEcRSuUJ^bjKE*5#Lg@|)GuI_xu=2s-`9`!1ZaS`gd z_`;_ilJzWte~57&Qx@=Y~(r3oti82lpxMw`yOSFvQf&sq{`!-k31)oe10DCaLl`7b8#U%KkB;9&Z@^*{=}iflb+^-5kpH)b_drd5#G`c(cf3 zFN59r2@EOz%sA3hGV?g+BF})pm`6pP&|>D{I$`HP_9#2bPJJj6#|!VWyF|Eg@W$Jh z35Evnb?P8;Fc>0T(i%d&%5y66oVEIZZ$%!jE9|ynH^?4ob%E@XsvhHX ziHNsw`ITWMF(1EwvALc$zTeUrpCg9fF!lpI%FXq_+UnnGUwCeEhV*}#e3N{S{Dl0H{EiHpg18-&wep(9_J_c) zE7_YINDd=Mkz>hNauV5`P&Qbl_`c@%j(c`|t>c^-K+c?qedZ5BI>w&e4!WG}KmIfUGg97Rqb z$B@klwI|OVi2N^;Z<6nkpO9aY-;rTs5VwP}mbO{Unhd{1k@njR(N_yiTbCCZ6 z@-p&j@&@uYaxJ-mypL=xf7JryuP2Wpk0(zi&m_+yuO=@cTgxB01o`91$z%#Sot#T9 zB=gB!Qk^HbeBE^Kotbf>%~0;4vT5rZ&|X5BbZB=do7?%m-y?U*xchp)yH-5$czwU~ zz*$o7-3vNfKo zd+d$Ji9Gh3@IDhSj&VuMGo3PN&4ApT=V8?I z#o7B@FY-9iu!n|&mP!9u&?9ZOqw;u%AD<4*WHYeC~(&?T++ zAges)QuJ&3@ayFZ)zEFU-wK9q1g$loaR=y-Dvxz2^4x#sv6iUEx*mS!mE?t>w;BxH zKt1!TJa#VfteF_QLgX>drT>YbeG=vKD4!2{q{`zwiSbF^Z*Y`IW2yVTYT<9zF>WOo zI)Qq&qw*M|QO}6&x5|1fe*cMuuUGOv=i&bP6&U)O`{y^>ej1JQ`J3Z$;eyNi*4%8i zKM%C4Sw{`^q^iff3H9u}Vq+)KFLyfq639uQJrgu%QBSHop~c8EFaELwk;fQE|3TzH z#*GKlEuu^vm&%lJ6(j{R?F}uOCU-=Ibf9FZ34e(%JuGZ?y4rJs7$X^sWW% z9`bEGL)~w$?!RyAzI!C~^S_Tg)(6b@4yf+SH<@4EkFV~}Z|lB%gAaRho_uD9gWi6i zx^Lg>j{4R8`s)7uw(i?+&VLN^l`(%VsP5|zF~7Q>U)|ro$9?^gx5<>|I&A-|Goz*K zJyRg*z6TmlQhow-z5vZ_l(U)VQREqvbB3Jo*65Q^@`0dBI%6PvqENhgAFj1MW9+spY3^*plwqBN1mjbeNZ^F@P3Ea<9u%Bmh~ z8}dA#bL$vcPdwuiK_>wWQMOb*$|{fXIr6N3cCcJnoP!bPO$Ke!nL<6|LzGn>=L_UH z=&HffbWqbsaJNHY_~rT zt&_uUOdwAoA8&>0*24b6keTm-o}UmEhI>=!*%5#F9 zmdLntGC-a{UO?VJ-bX$|c3+D4ZIorQ-TvH&pRqIUBe#+tli!o=Uqhb0>9JB+ zN9yuD)GO+CU3Tu|`FlKGzs;Q79=``f|J?-Rb-5cD4u3zv;O{3m)LZKJ9<<+AQ2C5y@^rvBnZK`K zb+|x|tE+xzp(ADL9qRSpVfcN^{Cl5yydT+FwO%&#%_+A(E}uMFCSgqm-G@L&$)q`j zdc_+d>s1fgw^6Egkef$9?l=-0K9uqSU_JFGk{w4uzk+;`RPC&u2D{=rly{O7(qPXe zM^c}b3jHebHu5@B<^MGweu~c&L4LCkyp6J=vR_vM`&VUPupA6jf@=KTSR5zr?GYxg zQc99%=JVXS8O*ZqB0Lsi&fy*^rGnw9f^tOwi5(Ro=Fa=e9bolV&T&b(_c8 z=Dckj*F7HJZ64QKJHC57&Nt_62Qi{&+Z61oyg8$s0-+I1 zc_!&Rj(&yG(XWqQDR@DY;U(gDVJ3kVX_L278SE3uS!5Y`D!H0` zhUyts zVeN}MbnH~xxl7k>-Fx)x)w@sMe*Fgw9F#wJ$UZ}d?YrOb5oX!4@`}olqxL^w^noQ~ z#*P~wK4Iddh{&kun1a~2_=LoygASftI3;k%R4X}UT54K)#`GC8XU(1yESj5{HE;fc zh1rX87B9&?bm?J-A7SUYJGuROU_ZS+{(N~opfv;gheNugF_Zfj>5=9v=xs7YdZalU zcGccrT^Ag#3sxKJgUR(ttrG_Ox7Wv+_qd<#RQa_K z#y`k=$SYH!Z>9x#b28XH1d*d%?&Eftx>lByJ@13f;)xyBBxR3u+C#QGkR53!?M{$Gq}iE%UFb*JT_GFY z!0Ur|%XYfUzlQO7#69xazLeGbI28ZoaPLL`Tl@a4&}nng<{6;+9xfvva)@mHUM>%M zdo}&9r+hYOoJ(E+9&TSI^KU%@)Mce#cR1`x^y`)nS*P+>dX=v=7X5gXY`=j#mAs6+ zjeLZBf&7sCk?i^t@(d#rhNu})jhkUVd*sb5)zCqf zlR0E1dBtDkN%XgOVLxc=b(G8FhaVZ7HeP4B+UqSj8F%|*zi&&a`S&HZ zKvvg_sOv*_4>ZM=Ul0}=;2}?fkxzl)PlNkE1I9iJ&e;qez6G5AJowpGaK($@`j^0) zUk0yv1-$E3aLa4php&TreQ_PJuB;|UcY?fve2g608TwV^4l=C^^b@*)Uy_e>hkRlW z@HKK+Psppton%%o==J)hMMFQATtZ$%zDf>@f!~2-6j@4MPVOXU#=`#?@_uqV`77Ba z4t`lAKQ7YC{Ex{U{$nlwal-@tSp6T<4*ZX`+_GW3S!x*nTk28s=6_2)@}|s|Lnfv3 z4##=R_2fO|Q{ue0@)~j-`2?w#SZkxbRpdqFP2>aQ zX7XL~Te4#w;s=xC$b-o_S1%Bxea@7HgTx7T)X-*3SYl)G#4G1Nzr$>c=(DIQ9_@;{5R%BR}VWxc+& z4_+iylOF;%lJg&i{5qNMLf%d`Jpwsw1Ng=FExB$ZmLVyBUe2Ex!)%65>l`4 z@+V;*^%S_8jD8yO-Q?tFAU{H;KMQ#)sn@q-GwjE10XsYgo%~ zu&*SaBzy0GKAXIhe3u-v6ZQ)7F7jt`>MyXLNIp&K^_}o5{GKBF{04auc^Ua0Id&K9 zmE^~r@OeXPTuZ+lWU>MOlgMYu{_UXG>pPG7*U6D#@GB;7CBG$;+QWV<`50N%0s8gi zFJwwb=uaj$lLOeVT=FVXukYxth_CDhrt|}sb_eJ8Z7C1v19^H6FsUcl*sCQUr>y+L zm`CMP?dY;zUynO+yikl^5BYuSKU&vPzH}|*_`ASflvgoMaSHXy{|m}0pK3>!_4>ZQ z8|^5D-3R%sdqG`R`c3!1K97D8j8n{`Uioj-@~ON!_4+#I<9)6N^T4`R*qUEB{ol6{ zuVh6%pK3?to5S|cA@%yk4Q-IBgUE_ukni6Ye3NXqALIkc3x-1uGr{_i;CrLMMF)Tz zMuVl}zmlDv+N&WScmwz%x#~v9 z*WCO+ES3^JE2A?wK#$aBc6$u;Cd zehy@o;A;`JBJ*KJVmP_M4v@LIW!!=+wb&*AdA4wrd6QeEev>NHkjfBF8= zj`I2e&%$xROa^T-M0%u|LOU5EJ<^;;I~gL)RO-nP>5(Qs|FOvylk?vo{Hs21oWR=F zj&kI)hsiCZM{Xm3AiM7m|NY1b{Ryhkuf1Gwzx%<{9E~ z`(Cocm+;?P7Sdm_`&Wop+(x^S6)&V-*>zdz*L5$E^{?sye%KFuO_Kw?TiTW1|CDbq z@032se-5eV?b)|w`!TF@W${W`|Msds=B85U-!5xu|9)9Zc}6+p!z)_q>nb6igrCVa zT5IR8>Mv!zSH6$@b9VkQ&-e)XlRy1qyNYZ29QKN@TKbi2hn)L;OTCKwr}-1|J$Sdg z+|by#@sD}Lz0mKv?~m;&?#c&XpZZWszjq#neC#7F^(yY4<%ma-&sd4$r}+hrONk%s z>?J0Y&Fi#6q&bJj5i&%2q&b&%GDLc$nF+f~8d;Dn(ji^am`6M5kS=M=hh5dLU%%=- zkK?~dy3bMG3VOUgOux?6rM~%kSNbt7xLTtfMY4Q>j!yje{jP<@Tx&z4E-M@WhegN&yF9kUU&O( z?>Llxd&}|kKZxA=6WURn*^0h|`Udg>a;@?w-y{E^Yf@El!BWY(z2vL(+gnb)5cw6W zDJu@W2=)!s>(uQ^R-DZE*7`T~BjjJTmwbkPd&_<^l)X3eDfw5%DSd1GySV3(()2l5-UqUx z(km+c-typH$fvlsai=rx4RS(nrrTWtCTeusV! z9`qxq^lfqA&+vbM9I^xQ+@0VZW?TK|T=4g1W!WF7tXme>qQ7GAY_zAilyc`q(C;m8VBEc0 zyxza>79;O3WS1q7`;bG)(PR`kg-jze$y~CCtR{~kPbDuU2j`-_;TmtDUDrQH{q|Pk z_5O`}0QvLwlARxf|K9Qu`YZN-2=R&+P(Joy=x=ht>mF?>>-L`XuOyXS@81bA`2D7i zv3tj;IQZ=?8{*-wI4%LQ;?M=l zga6+0a{4Q7p{%&?`^Y!tFLE^fN#DEpMX#W8~}PFJ#vv zk?*eKT5?b=3dp}JC^svVtQ5^M6~D_+>?TXa?y^v{kbOl<898?EvaV^-8RXmDUFO?e zA@lF1KzqL{*nYD@)uR+jR&_MXRQxVOv70OvyURk+LiQCcW#mw83&!4ls1!dW+me-^ zqViYVTfOqr*;*dmPnY#L-L7Qir^cZDR`maum%;sB{Bv3PDPG9 zZVG%i%I^w(SxU1)eS3;hG=H566`eFiM@`{>1xpK$_L?G0Q}|!o(!yiX|7Y`C>ux)b z_mivp%k6h;>0-YJs{73C_aS??Y?AiBO7jd}$DmQ&cdqPzRsL7S$xi*jA9X*wy1!lh zeuB4up7d7txvTr&joUCjf0Z78pHHW{?_KHts{F5t`-7p8Do@={ukNqs?>~5X7$2AS z*{l2T&D$|Pf0gQY2X(6Z?v?(p%Kx&sRtCts#Kt&X1*+ci-#tOwQaj96UP}8cI&0%->gc@*tZBgAVD^ z->*p_~p{$)Km&qijY%@5X{A>#!N`O{0AhXs3c6Y4i8yy$Q6F)_BP3 zcR{=wj>nT2k0T4V-7m(&eDibx!zMi?zXiQVI&VWZ-vM3H_8^Byk2K$f-X`5!A$v;y z9%a&epECVy%EkxKJETY2AJU(+K7wrA2AZTtz4I~jE*U0!{r4X=0-e;8zbQxHuf9L^ z-#%UqZ*>^}hZ)2hJPkNq5TwP11S?vP;_3 zH~%ie+qA3rw-`^V-%T*-XOoVKqo4X+1&ey~P2>qNZ%Fwosyg|*3pV}Q`aOn__PY!r z)y{EiW&icxPq1G=9nLGDO&X*{dSpob-oneQpYiUC%tNZ*W3XPLo^(k=k-y7eE4!+P zG}(?r8m}Us$vBICZT-%J^&0Eo_kEkJQ_UA^JKi7Kx%hH5wjI98Npwkgn1n0lP!Gq+v6T^hh%gdYcT99%<&&PKFdYU%c-y zE?bY;|4}g@)*xjv}S|m z9MG5xdZe2PIg|xD^FVt(Xe|KEg`klQdWwsvUra8cowV;;E9Zsx9L8nXOJ^?nOXCv4 z_Z$7Uj*r9seVmH#TUW>H8>(A=|N3VMkUPlHG>p46`+YgEtM^|X((F%a@&?WSQLX(i zH2L}|$lsCeZ_(_RX!$yo!C$@Je`pS5b^cy}`POMtd z99EkrR8m`;*Vz2DrVdXlgA?qLaK3gNS}WL zhLrr@X(zJ$|4uub4!B2-(y&&>s(%FLtNOfP^fbt7f7Ziv{~g)zSNm^U{?$jozqQwY zdj4-`!@skhn6mC4w&<_b)2$8v&>1balbV0({V%nysQP-bF10?W@A*~hLqAnFIe;8U z4k8DWL&$x|p`_ZL`%>PI98QiPO>!hTirk+(fE-O8NRA=LlHp2oJdY0BgjZH zii{>>$XGItj3*PwL^6pyh&-5_Oim$n+}_4~*8P?I&&I9$C)>MJJI<&&+T#B!ap&!2 z|J44a)+4o_sq+W5zp3>}?RRSZQR|92es|{p_8@zbfA6Oli2p77DL0F8QN*b!XQw7C z-?GzPcikK7KGo$zH!Mo}rtddPu04M0IWHZ)@6Eb=(M_FSZFlI(eh-}(b-<%X_sG`e z+QS~I{_T#pozLBfX!ws>cDk9Gvj!#G6j2o%!aC zYnHx#^3V0UJb&IH7ganSb;G7H?bkeU?2?Cd`P=T^;~8hKeraC8Q=N*(jT@lLCw9Ag zOybC4lYXg~FsFad#09#%u%=t!{%&RUlb+mg+=&ya&(Y!Ztq9=Ud(F69ZsXRnw(X59m8Vs-hh9{VQEyy?}s znNMAI=(oX1CA$3O@n_Wr3$AMz(6H%*E@4lcuFE@iJ@k)lx^&o>>1d}UH5gHL$DW=DCMJR{c397P2~zzFX_x;hOz{nebQV*T2QJjBnEXdtU{+Iu3uJ zjmLm0*wy*?H=6y_OxV?V`~}*0JfNKyyrlIncR|be5n6i#lVMlmajiD~xmtg_M8aRK zU!Q6IdC{<|*C!uo^I?-#?~9uJvX<}abmUXx{bV9!^?K(<&3?Bg->c1!H_kx3ny;T} z@(^u)UaXC0U|7rZij1h1{q0JBRo`eWU$iC%)*)VeUqntYQse^a#mVYXK9o!WeD(8gzp=D$4#T9 zJGJ)S)cU{WX85b~=F_zN4{P)5SgpUSG&yM*@~Qpz4sE>d(dP35yWp?Zrv=)0Y|#9x zweg&(&9`yd_Sfg@|8)NA^LzX<%zu-Im&M~DtM}V#HCf+Z`cHmeGa`GzLZy;|2?K>#11-<*oSIPItFG2TX%HM$2*i&Wu z?&p-hCw~M(zkqHB_&J@)KA<&(@gu;{0iZpG`UzwtXg-d7PAug_&^ef#3Wm~X&!9XD zboT-6=aI*F1~e}QLr2l?QrdGNJ2n_v23pGhG|D%D-Wt$d2O1BO8$ojm`5NfGO@0Wv z+bDlQ{sfvYfX;7VNNwi}P^a7ZG;D{ipxuk?1DgFP4+Gr;sUHbi<0wahp*YG(l&6B$ zT+o{bIt!`Kp?nza%fZkJ+M7W4XzGsz?e?@^N8Sj!YsmFr=w8}KoQ{4zKzS?ZyiPxl z`j0{PQ_%Y!w0{PTUuidx&jpp zUW=Xg_rKX~*bi;Pen@=Fb^Z6uc-CI~d|tPIH3#wPJXyDIXyfy|r`oV@ZNvV08}|3w zuz%KuJ**V{>!x>%a*sCby{Zx4y_NW9nqcqIihbF6u&dV%y4xvNz^=~Qb^D+;>NDH0 zk8i`iPaFMvwT=G8wvj(29{p429eV%L+pu4e@aOUIZNwkm#{Tm|8}q;2;b_0BUO43| zwb#MATh})Bzus-w4{D=-ZybdB)aypQeXkAshi%xeZgu?e4(?40(Y|`0;Z9BdNUQ%o z&HkBY|5B45o`w8seR^DzpVj2&4sJOfD^nn=_bE=%tE#K3cy}xE3s>#o5{yVhx!?IiM58X6*q?WIr zX8%^Jf2d~vNwbgA?7wREv08f(nmk^M51ZU_|B2W9r)YAt7N4rwXKC^)+W2+W+B-ibi4jJhi=zD_t5S7=ODUW|6D}3>z|Y8cKve` z-L8L*qTBV)Rdl=lKCo`rKX=jX`sXmZUH@E0x9jgK>vsKf8{Mvdj-%W4&vkUW{yC3s z*WZ`c?fU0Hx?TTVNVn^s6X|ySb0giZe~zTv_0N@byZ$+oZr49|((U^D;<{b`TuQg= zpHt~}{c|hbu78fD+ap)p-s7CwE@8>6*rrq0v4w&9K>4_?-3kL$yL;ycg4LA?5mkZeWi?&v zqb5a8it1Vtbn{8_Uq=N2tW%%9m5SRTxaEy$d;JTpFjNp(z4@vPj2%*5QN`0$dN z%sEr^lm&sBs=VqzL_GX4R7Vt)m-?l~`eP6m zURvo7xIg}-`Q-socupXtw4$tjL1bW7;q=%g#SP)5C5x6v%?l52D2|Dr6Hz^ za(%F{)%1m>HMP~H`E|9W!AdbCiIbxDXl7wdVIZ!0d1PTqR9Q@9byZ|da&&dt{P2pH z=;*YRrpnTktd#iN8BKL1iLLblooT%z6~zTX7GnY*|;GpcG{ zOie{;Of(jvbHp@d}2wU+@C@I1d5y#j|r5zJhpU3QNf&q zg1NPYg(b5W2)>LxxuEg%4IX=#4V|8nzpEP?yO)*a{BW5Gw1zD?z+m- z+TF9p)RjbL6)##*6H_@OIdWe3oE53l5*y3XvWk+L%H|j4=H@KUU6NW*8?$i59$Ab0 ziBjV4p5;M*N=8kJibJ8xGMAUcFPWZFJ1a4-aYaK$pn6V5blUQm>GAW5gUbWKsF;*x z(R1n}DpP9qOj%PItSv2Sj40w0kvJZCE5qY*me*xO78T?KbE@JSvT};17v|S2n=@@* zUV3Fld{$9PbxG8$#@Ok5Zo}eWaWJB)I#?UbuPYKcVDyT1rOUzD>$&XuH zmQtBppAa6bDp*)BFFiMqzoaausWc|GzOW*8&p|B?misq>wa6MbDMnGgp*OA6zb1rwrE!<&-lt|-rls;Jm=8i>`Sv>;er6;V=9jbFY@}{z?(%Aa6yqbl9x#^YB6|-j+FI=#qHZnZErl_WLVMgNef}D(oJ=c(mykb9P zWnO8usMepewWR^M?j=r25cSRo%v+qBTsp6yYIc&pqa+8S=GMg*EKZs|dqsR&L)!FN zWpg7J%`2?WO5Jm0EAnbvF3e(bKYZqtbE}AuG z_KMWRV0PuSg$sj`iG_992`d@`1%+w#$$QL&=FFuvejAMyCL^@TZ07R-)LY^s`3QXexvxUjHh_MEKBJqK8%t@VeYuF$VqY{4Vcyf`Az zP#dVM!G0$W3bA5vDk@SJ1*;d&NywU(F>6IqY(Y(2)3T!Eq^t#vaaC#cb93frMW!u` zTsUJZoh6g7$aN?Bk|P40{(X%Uf0H952Mnqp(J zW+!Ac#?P;tQ}ejG1EV`iD8c{sLhYBNvcSTi7JVV@T(7>8K0R|u_%z*Ftajz*^^OI^b_S`e8mK8??s;h%oo0G6Mr>CXNZis4H5FHg8Tv1iln6SJiB~aRspFMwB zUCF%U71guivRBN`Sh%8g&mG90Ar*nzl0aRJI9&S6{}GrvVkn}xJT)$hC}~J4NzJd$ zm>#UpFDQ*oSrT3~e@@YYy1KmD_~`gRdd>9wgxZRQdmhC0%Z7nP@1&010tp4C{m?cs3BJviOMXXq~=aAOOj0JhvjpHzN=Z7!LtSu_Z znU@y7aM8S`CE>BD2`gsKPAOhixG1k?T3UL;g6xzfDNAOQ@41RHVKBcsPn4K|=~U9V zJg0I=ZB*{O1tl{I3p3-ErBs#0)YnDEMfm4-@wGGK3yTxero|;h&)8#OK*q8adF8c% z>JaIaT>{ zmzUPeO3Yanxu`Kvv?8%&&vVOPO64lbRiqoz<8&yQ(rhx~yzwbU{gGYV6a>MAPB7e{3U6YDc`E2@j9$HXo#pI(p}HK%A+l-lWcPgc{2{gE3b zkdZKdaqjfO<(V_1O2Z?|i)R;4t6H!)xhj56%jB$E+KN>qJ||+Y4!Ef zmrpC16<*MMU=R9>{iM>$h|6NL1{w>q zW|kx+FP=NMCMQ25D`{5Kw34nyo&Nk^)X%R{mx% zJ*BvSs#JVcKt^V2T1s}tl&ZYS(t^s;@+ncYPs_+WB5iJR%Ivh%7P@Kavy(FxsMdtn zw5+T>b&D78p_`rBLY0x3Jb&8sDR~uz@v&?(BQtZs6#t7D>Kd9A{*;c7ol>u=sxPRS z;=e|x*_S3&2kJ}3xzm)G!r1)0f~10k#K_2){OF{D$UuHfLS&JzEs82AEQl*AjE&1r zjM*)=wzMKJB|0)XW@2R0#K?q&(NPCQ#U2zLnY){hKa!4_J_CmiKVVFFRCG-2 z5`?zv(79W$zWoOe8?pbGajS%`L+2j7`wbd8e5CIf5fkqUU0A2?z4{N_XTOntF8}e7 z(DBi+W5@3OhmG97tN8f6UAuO^+@)*xUcGwt?mNH~x(=PY_`h+`vuFPy!}i^8gqb3A zVeLD1>e8jF|L`rndS&6G`*!Wxcj(YbJUVyjwiG&}T?hH-)XC3MDs=6{FA{VRze(W# zG(yjw_0q4s$knxLH~Hv(9AjlczPm_!iq!c9`afsjKRSsbFA}=24t^w~*Q?%Tv({t3p z1Im|GKHp6gEVOUPd?K6B`Gew*)~C=3ACarGukH4o)cJKAvRyHTop;K7?L=S)e>}T% z^E=pG-0UDn4}&WH_EtAQh;XrC{GiL^ zEU`+Y{o^t$Ql`gd=*0deH=ExNfAV$_H?_!NmqYLG zN!@!4lsCGFy-n;Ier&Hk{l-e2bQB{XrhSh%p=%e`p)w;t`pho)hjMF;#=#fYhipd+#e4IjJ$hujGmFfK!cb*jVuqUMj-`6^#~f6mB9moAr6C-;61&-I8E<;lkVx!LUw zq2oLdTSGkVr=Q#}#g64a9;Hss4KYdmmN!eCEZQF@x$O3STjs;SVFP#T{;Bj6M+>o; z`~v+pzGXgHjIZ}Q-tlLl^XHJ9LH^_wQ?QG;Ku$!m8L>rrX&24;ht4j8=_gW&1b!=B zOzG$EsNH(?>FXcmN9;dt!fc^y-`?MI2ktv!#K`>*7&CTUqtJzkz0#kc{f6v2+#EUT zQmGT&l0zaEirzN~T|05o;OFbtuit_F-%rd@e~SAV`ihI&{DS4~)}z;eVWUQkN));-Vy_o_Zg2U>kbdnt_2@rn zsNabL$Bv&E*(7xBJNFzgbU$;{sL^A_PK=7ZOX%bZ+qGN2p`%70c;J|^?@OJW1?~NT z=q^hCLFQ{O)-(C&;kVR5U8v_5BsRHN$$Lqif9lhtcmIKd{f7Le6NRpQ=Wad4qAnl( z2WASLzux;hnqRV1_sbJH>@T8wa(OC8zTdU}G^&$+{+cM)DnGb?|NbXSKRIbdtlX*3 zlYW>e*g-mVx};ercN?j`5<34N=7-|ZWwp%bmm?>j@8&06BXvR{A968SN1dE*V#4{e z^*+WT8k6fG=rAkA7WFIKL_c4ta<+e3=;YAL^zzShjP)cLZ@Q={jPiOJ{ihSRN~Jpu{q~SofO1Q zF6MckJfRal@*!59PMu1mPHkH`FkPyU&-ao8D-XK$(6I^(f1}iiu@a+-gUxX=AL7*C zl`UeCLeq&P9ZwN{eh{j`_B`wNSfum)&O;mWL_!`z{T=zL-~CvlVYJY(*H`c6r#g7; zZaP0$td1RTmO5-9(K~-kyWK5xex>r*A&xx$iuH)p$@0Ynk?ZLe`e82+Zryvl@w=Zq zD2v_oL+bnufmr{r{B5(Jn5c3$>iQdWej{?(mHPI)=o;M;qu04h51|uYYH{&r>rm+@ z_7`#LEY1*m^c*jAVrqy*)_-X>WazN{X2@9ooX$W066>Z==fh7dY2x%~fd8s%#EC-J zp-Ye6eSOK?fArX~w?pZ^j^79(CD_2~Vu(23JVc{CThT<_k`DL;QE z_Y_N@zrTGYb({xSCcFM5blQVDu^Ii|VKLeTKfhsrNYz8!;J~%UKmN$m2l=5=H=fjq)xQ+`$OrZix@J0KfLY_{Ps%c_w$C9 zu_A5QO+x3dojA6M*QWgkJS=o#P4thx;?bx7puw-mSW$z2sFBmCZ{JUm53kn5IgLNE z-$|WVjnP|X2{TeV};J&&E@G)&p!S9%{D9(ej*(fCcpHBQYX66QBEs= z7<%Okofs{t_NRh>5UD||?=3`MVe}s%9XN9mp-^~Q|$6$ zT;-G*By~a~`yu}fRTp@Q6f_K{pC9Zu)YCs)^dAr_biOQt(0I3Qhrmx9i^QHF*5BUq zgswwZxh00|Gi<*RBSx4t($7B&mNUzr1^osLJXPisW6GK8Z<({D&aV%1SFZRMBi1jC z-SD?lNa{q_M9;)r=-lN7r4!wg&h0zgf>^l}iJW4~uNOKIC?29O{^Nec`ctTze{LmS zs`T%_g?@64C*PJjv3=QqAO0a?MJ1SAej{H>pwfBIQqd3C0`-a_{ z^HoG)B%wqQLL$c@2oX#+(STN2vZ58pm?j4UCYWf#g2~3@oIGS4$r!MK1&k3niVXgr zw|Zvp3asy(|2yC4l)C%vs_N?M>M*l&chRl;f1UueZ*P3kX)ch*YIY2mMTeFw-2m?+ zOpjDUS-WWSj7-)nQXi|TX7*qRgv+qh$7w6ov;PNQ8N(JEC8ooIj87w{Ai|bIg_-v> z5}KU#^+yY%ee<%02-y=;Orp4&E1y3t(`PEeV4h`|n2d*6(%5vdFw9WwX4hpEvecT- zE*BR1X5pd#t_reQS9Q{AxXEM%h4|6H-({FO3&u*KXULD4z7*2vvJE_Ae4&+aife3q zIbddmIiCMYCR?K;T#LrMPrp?L{nz;He$&RCm~3tNAAfLZSXd=_YOaG}XV*~i$#{iO zcdy=kxNYCkWV6xH(pcZHgJB_n@D*KYYW@j6o86nUlJx1j z%&=M>=ID8QXIJlj{rXku4^6A^AI~zF&KwEpv;FaD=$rJ{)HXB@GrsbnUE5as_>?b; z6+QRdTv)X|I1CRsSmJgLd=`=+CUd!;8m8#Ai$2!X?=Os^mI(EM16Hp^#zzF%Le8{g zVjdA>g9G@V5UxAXWNqix&}o`?oZrKjwo+YvVZh`l{9sOPywYSt!}he0Ms5^lAsOOS zL;8SWVR$>bbZQzDyG0@8VTX2bNWXa zW-*Cx+*xM&b+ZYv{gVZrO!QQ~*PWUGy@ z7LS(Jn^O!Y=^37G#oHeeMiWTm0lA>A?$4&LN*@-5k;BZVjZapn`*y}`Emg{@9oEkG zOjbjuma&Gud?_rLsv-y3?%o~x1D-0@x}K|X75k%}8hePLMYp=O`H%Jjioaiy3>*v=Ig z(0ZHrY|PCsb|ShzVDbPR(=ADR$CHKu>BhF1Esp)|Kf=sU8ehhemF-i*WQ&YpvT;(Z zwl7f)hxydeb&cVRRjp-pT3UN&U$&~9OBbUwAjK4rAJhj4sRfgdqxB7 z=}Sk)4koKHXYq#-H+CLieA)#YdHP8=x_kFt8f2wVk!sImPB2+(1Wd!(+cUiImh2WxyantAq`-ojG95Ri1ZPrtFks;d<*y7?v8Iy$!se8}Y+JNxwQ zuRVEcikatalH~HUg=LF`rYsX`u3^$i!8)DKFAf+CihV+eIe3gP3=3;LD4}|~FydJ* z!0|+V-@ezHY}f%9V)N>)K_6D@X^U{7eA{E;S`MSW=Hn82r?#M*G3WPBQ8M$UHM z`ua11Y^qQGu4}l!WMwX1As)HCY`Zq-tLR5Qe`Bf-i%_Z)b3^0Z!ffZT@YCa##z#}W zARK(~=S-ixZ}YdV?y10sE#@kl)Gws6)`qoHRrTTuSTOyiOkXJC)!JOi_{=XM(io3r z#up|-y1vwZlH)Tgn`7yErAa+Y)RAYLf2!4Y3Gu)>>fN6d)Y8~SVIvSem(HXgW+N)eoL5j zH#L}sKB(kVOw#8s4Pze*PO#Oty06rjt7t_1%hxpv({9HNp>E8&xrP`YBdpP3BW3$& z8=GR*w5&w$y21oVTWBb^k?{${t)VwHn`V3gvcQQ0U&;}rCm1Fh?J^Y;1BN8iRQJw! zaBpEq+B&IQRsvy)Ftw@3GWX@{ejYH|(-Nc4=~`P43HsDPW@7c>0izo@#KyO^<1~|% zXjx(ItR7j(b5&LSW(7d!cyxL2vT{C=~I&y=2%!)e`|^6qx6bT&HeiNwM^Eu zsYdE*$NxZ|gw_ohJmRorrfw5qYD32Z_7je5t=nh%G~L1yk=r@rgEcs?Houp!(5(4N z-kxN#DQ?E(>t-1ruQJ&T(wVEJWoh6uFKHs_9DSTH9UbvfL$gkWy?S40vT~(8T+$h- z>&6rd=ND7jc(=*gGZ6K|+IT$UQv>;WPQh*MFB%qn6uOqrmxQG~F?aLd>j4ug$h!Py z%2)OP2E1qb0*9QcweB;+%3)@w_wP+skA>1v!^j5vk%M&H!l2Z)gdaW#t*T|3ZeM{f zfL+2e(`-0-hLZA`kh+L9gMvQmU^-US(T}mJAw5{yc1_KyslLoYwLG$d&n&^d)l&?< zv=_Cxv1PuVu8b>V!5sN^ok}c?rFAPXc}&r;r7%5~vL|(V{iVBmufS&wXoM9wg$miU z6_;Y!!iL4QxtZdV!C0)Bq$pZwn08t_8t9p2|5JsT5q8?Oo5U-EETVSHX>VeKU|VRHu#2dim-iKZ(aB4H&__{Om*qR)-c-m%*$G2xEdP92}6n8E=#lq zZeo0zUBLm|HZ^Y>_{v5rVs;Z|rRD zld(Sij!pSw4lUd2eyU+1Qq4&4vxOOtTD3OnFD}d4G06~%^M*+j2p6mZFmPLYWSsrXrA9PteUk5Cm84C28n(xwf0p&4UU-J4w zZ~2}wCjoni++~;|R`CPGH8}m^Z|T7+hOZv5aE?_JaE(d%)U&MdwJNZz$32*tX5Jp3 z=?e#ATg5gmV;adYdRwfZ&!Ve#f-rSVS1_e!+ZFhNIoqv>nauV9%gnWOhm0?{P8w@> zPO*$p(`k=XHf_^ZfS(y=ovI=`$>TR96D*X2Qo7$-vmd*{eGF@0!R%h|<&ojPMSR8W#7R(Ft zwRWLlDP&PyUA;KylbW)p5AM-d?%ttgtViYH8D^0ApytSc39i(X!5j>4}zV3O$(tu8NzMSy|Us)&r9k5_Y z7|WVv8Kyq-L_*8Xr-oU(rcKY1z8996Vix9dwe|xOfe(+eq47z2`lAy)jZ{~+XFo*I zqoTGu!(a?iUtQfh!^~!BsIKlS%yPjA>h{1D_yY5w6*1EprLt)YreIjgC+%F;^l-yM zA!}u{$%bV^L!^yh?NqirZ}8c=Wz2Ljr1`o{Qdt{c+i4pbCS;gE&1iJ)XqZ_cIo80& zrhQT@vqR~A!nm+7NW(X~tgnZ2ZUrB1vbAnWis>ApfYWtwh6SDYpr+<9!De-qO$RKrT>ptMtqyhtuYOr6OEsfX^Nq=JqR`^6$$!U>^_gF5YyW6`(x)rL;RD8}_B7vQabwe8 zg_);9#GtO>xgaYc9n$skOvitMERiM46ft%6AC~nI0SYy+FATGpWj9DXGiu96>N`d- z7Q70~!-rmdBVlScDAeT7j})diH}J6C8PM_uh6xXs1U896o=4~kTf4SNF{=stNbU9k z)5vMetiyX`e8DT`!@V<1!sf54s(mW4F!(k51x$}EaEtE5o0?|{lc%I93|oGIFd|Ct zN-(48MMvi`#)kvg5Ym~{dA2YvYZCX%trtcH@J@ocQ%C6LYlVr+#!cOAYP!uZi#GEY zk9e9N5GG}^CXL_61E1NW5tfO6GrnMPXr{6GpThJmd!6iMhASRRD6u5N8%npdem zHFg^XzQ7o2a&amvK`zB*{kFomWM6=5YIaC5(DJpTVN$2L5I!2(C+JIgOhN7b0aNT| zFR?YwHd*z&eAUb?%Sxklqi(VB;RIGg9YlFWuJbsQ2cpvz-4>ac01fRj>3` zWLw*1!ep^lZ1!G7;2#2?EyCt6{<}HDFb`vFhTSQw+wU&2PuXSh`(ThYUK3`a z_)Ch}=}h{#o)Csu=3}K#r&tPNNk0EVrcWAeYS-7l7BGCOfwafkP45e{FjM$-_wKXG zpdoET!L-=f2*`#rqTE?`bsv`}J^U9d`!Yo{pVe&tm*w=JqhS}m_ zcIJ)`n8pVCwEH$To-Rzgk%GXU%D1*%VtjO09n*!KmzVXa-7qp&nXDSM%LeP(75T(l z^?T#95SR0G%h`6%kNI4RneVYj&t#e&P5Cs{%@Ex1SHrA1EYs7Q#>VGE8yZVJkJi=r zx?!?SZQFsU^&?>+YNe24R#WqLrcbLM^9p6Sp|xq4OkeTp!8GT>PT!UCh3E*8*;`l$ z++Z@igMgwhTGndMJHgW2fR`RKBt{-F7H3u7? zPCgnkKJezL!pWvj-S4?hP4zJ%8W3BF&NEE!pk;5&Ha1?C@@Xb1UbN(2pXyT&cvHx( z`^$V77Q&(WfefRpherHeT<;f!VIHS(?J;@@sP{(!vj?a8V`u%%UgN6blX03f`XH>k z&ro3sKK+Faf2Y-d;NT$>j86dx$m`D>?*~seK7)AQySM%nW6*KJ_*+=L5YFF0@s{9_ zRev93^)a$uE92&%Pya^^%he0$vQIw-4qj%Mp4{tMaadnI7xsh8F#4L!8ot-0(G3@q zRytej=nYqjrQxVx$hR7{qQZcg!t&5{tjK3=b*C7CWdW`@?JrEtX0rn<%J^v57Fg_C zU6_1|191cWYiZdq<*T&jhnTF|)Y>3dzG`Y>lPv?5*}^a#Oo++!+CFPT9BJ=%$}pLp z;=A@>hRA1o^k8;IKy&_QhM83Pzx{gnz;w3A*G&zW)(5>^OJsF)9wtmavGtG$=Q=*s z2O1V3LjR1wC+C%~^UC@J(?Ps=xiGb0i;I*tG~FbOvu@UZrS}-0#S5dv2yln`gfJ}@ zdO2MuIR0AU9bu_QvZ4DV#ng%xXa&)i0juT_yt-g#+uR80!!jL0*?W0~ucNOp?pL)z z*(b_`^a#UbG%cuibY(4J>WHSkb)%tSqktKsn6*G{W>{*W1$r*GRfj2xI(155fjH$N2Dzt$tQhw>ZVLdIs)X?hwPw!qnIK{E@iFqsh=wf~>* z(T9!lb#3iSCX2xqWwuu|yb<(?A&67AtVdQ(Q75b3HcW~LP=ZKN`B}hJEr$}n`TW-_ z%9`*ufe#CDUV8V^GBT)^9No~AYv^N`a8QLR*id0IS*yF=x@MzUUzi{nVwN;DPcYfg z4eK7#I|kV>+-Vzo8ecXE!&)}UFpZ@4LA@>2(eaCbg+P%sIm4WFH)YKf3VHJUJ zxG;Go_{EGmGU&@j&YXQrCM$)(efg6DpS5cP$;>{>^eH0BSM9l#vT0-IrF>e~a12*N z!=-^QSQ8AYzT7YcZs-?XtNXpllB>9G46?E=?Qd=Fj(};@tQD<)Nd=!V^WTFhW=*D{ z^{BAah7_v(v+-GgTIb~GCyXz+UZDK&?27t~_k|Rb(sZD5uLMl3AQ(FHMj10cSgWhw zGz>9YB^5{Y_3!uanQtWhsjx7CtWEX%tAM3FF?H47r25QW2{HsVqa>^Sg!2mbjJlWa zWf;a;M1_GGBrJ@fDN~P!8AdU46l1iSVdCw%DzOk;H8pGgh_AYOtsh~|jmAZx{wZHi z8#Ofr(}zO2DZOSIpGH?vp-G+3&kuY-zs;k%x}`y1aEW=fy857iWzMs@LxR2@Kcn-P znZ8s`iCQrAaO>-z2z+`3ptaNvVlP$7raBD^%?0P<)HjUJwk-~8xa1aZIKruQr<70kv%1&Q=PU(bnw9X`>pr|(cCg9nvtPX}&MQE@ z`}8^8WcijYJ^=6TGeCcuu;zWjbbi(sXW5?`4ITdPfZ2z8+TryzTVI+!&OSE76@B#$ zRja98&3yG=pC_|f3zJ*yh!k#o1_eIj)Y4JU-?@$zro|YA9MN^vZx}G7Lo33zFnxL_ zSvy;}wom!kDumj-)m{O!I}e=~bj>o1X2R5!tLqkKn3|WRw6;W;)=4`pTe#&8U4bv$ z3mj>D=_JzZLgDc%@R?5ce}&;PDLf@>!w!YGieNZ5v_Vu_oNDo{zr^@bBji(p05gEuvU@{jrXN|Vq`dNGCd|tfp5JE3ZF7epvAZ`z7%B5R*f4?G`?Au&G;G` zKTKt7@&p!NTsD~RbL(7PO{DvW&EMvhAsJ@Y8Q4C~Fq;~(jjN$?vkX(<>A3=X_b$Rx zHa!K_vxX^#(JhX|#zy=uHCfyE)qUM1wHzZ%gKhyB#{9&7Rdx9~zek^R+I2xDTM=%TWSBJ*{`)ajRaFf7G)5Q~=Ezkhi)tIW0RAE4 zvv>)7x2AmRSSEarVH%Mh@PQTia7;e`_>cK=e^2>>tobVctS~bq4I(1uUxvv(wW=9d zSNBGcRX21)rx9&<&oJwm5XE!D@*iLVzYqF?!Dd}PU%Q5U7W}K`)lNf-StH!9Y31mw z=i4&G9jB0#aLi;(+?@iAlc7oDB@#=b#==LzHX zyuO()#ahL#fhPxjY5atcIo0%)`++67x^oO;{nITTkLUDl2RE8Nbrf%EZ(uGwXnbah z)^d9q_mc62r^i}}_000!RG*$j*u-c4E)TLfJ^s^!LtPDPVzVwaZ3;WO1_{%Cq{n*t z5RAV+THp9=d=-`Eh|P^J?FWhA38_8{H2?*|PXb?nEQIRnb`N~%4AdjZ_O4mNc(lpK zqgvV7j=H)IOJ&1M*NkpyIms~mV)qc*y&D?N3i=cta+t;6Z-uEiCMta)I3y{rJ?kCB*SRlE}q2vS(vuVo-6-knJ=`0 zc+E2bQxw^Nv!nM~X0jIVX1A8|j{=5-ykN_7^LLp(eRl=#uIY=}hK-@!8hufLjzfH@ zCD`_c<#BnpK4KcimsgHhC`?~DV*yUg(E1U=WoiK7*}oWb%C$UqanS;F!|1GG3VZy>4P&gQ&V$~ zFq0G*6h2VN7y6ffOjuB7!s7gE#wSN`Y51PX_$-WA=(t`GmbPJMBKDuxQ&}4$DP!Q? zF6)C|hdHhfGJPQo?Eeo};0soLT;@xAhRWqBU)DYK@T(LvMZpWX@5@-=)R@++B^&Gt zox|I80kgrdamVIXVK!4u);!p0n3dHpyZQw_n#Df(l(1Yi=*yas;kBa-gH6WTmCLP} z@rA*ZvvT7yzEq>;<%TJrNrzVQn+FUiT(W8lVH9n=Q~M?gGm{l&S{UozTU7D3XZP1ImM_JqVCq-9%M7$Sk+xW zz<4d8^>JaEYu2~$Eb^I*PgVNJ5vxju$@N+^IK^>b`&5{=6niSqUn*d9%h;e#4$#V> ztG6&6_VnDbncFu$%vw_zR;AG*-iGx}Rt=_iZ*XsAvSHYbo&P43F_UJyZfe@aF!@EJ zX5*CGE9JA9rV6foh1vMq@@M-iiIZ)OP|u1_Zk{rD(ln8(l^?9J>|2p z&kH$vm{Q;} z!5W)u#+iNPHaOjN^b%%a#aIN{=3&D0IkX*x?6GLaI)>puHErS2&=hB~(yvvL{%mi2 z7JPVw5oz!4J40BQKQ_^2;{xNeuF0#`_Q3%oSkfl|JaITC!)%zsf5#gZ!b68!#-sH& z!sI@SDSSW_T`tTfhg=Y@YlH<~hKa=p++woQt;kSJ^NdUwocaVpm!{1h17;N{*29#h zznDHfkI+ZnIxY9={f1%IEu9;6i0)i&vNn*R5&r)&)yK_&T&GxQYZ!0p#Te!y2H4SY6mfw#JPK`LvpZ(&+je~@7oSRppB`e@Ua4WxNGccNjTbGC#MC#M+} zVw_P^%+#MNEZYJt*y`#o39@?7RlcqXvbNZ1%!(l zU5@M=dOdrULBA2E+c`C8w}WkMmkYB&&pg06+c4p}2Qi2no$oNcQn8?oxqikY!ZfI;Q8J~I2oTVA@fiR0*JB1NK zjg4O#CTA&{)$8Ww+I5XD#IuDVU&<;hyV9Ea9<0pU(1T^%?gyA{4y{=mX#mLw-9Z)$ zd#>IYX6IsaRepfUn$5(4EN*F8&G>>Dnqk^G#|y(N7NK$|J={3xlWl3wYHBtMvRR{= zgf&~5tYyppO(@IuSU9na1&y*`+kh#n0kCUF!vv+>V}y52F-)v)>D22((W(avtIjpH z@f%Ljkl~}(Tx;Bhw+Q3?q4r+=2I+fUqaj0vJe%p$u&38Q41>4ls(!JIS=094ODPsC zL73=zU6^W3pZuK9FDuKMLJP$ADls)pKRyark0Gf1w31J5!2Mqd3r%FcuKvdO!g`7- zMQ>g8dKDcAL0y|S3`J>Q8Q-QZVHm)u~Y=9U|REY@i-Xqb4p!(`K<8emU<+%TJOX1Bzj39^_%%XSW_Z+O`-J1j7L?M&VF zevma`1)mgtEzAa7>Vi4B4MJCS2+`9%uC{Jr@LABxa4LobOr~o6(_-GbmdVSh1xyWb+1~`@2d{vIn*SRtn>JCUKDm)=Xo^|vDyDJuSYg%l ziciAulI|Tv%T|p zlU1zfuQ!ucJgyRk`g~r2!9v9C#vOrA@rP0_9DPr!ucp4W zd%%z(Lxv6?G4gf8Qjdhe%e|HI1rLY+mkBcurT<~+`$1M?P5|(OCmhnNHi8dRb!_BP zXf?MA3x>!@J)`IxW|*F%hmT=-f3?>J!YVH|!_9khjyC#(R)ICOkYX`%uy9z*y z*4<6kdN1$mh}m>NSr)ayExD;>*_0RQ*~0XgRaaQtnwDg;Hk={M4-K;BUri9MhGR@t ze$p+CO_`Q64AZ`)ze!?;SmWr>dn;}6R9p}0=UgNLm;@3hexiJ&h- zekBYaH1U1YeHo15qgNkuuQ0yevjgApo1LTA7(0I5<%Z?!TY0Hq03ZGi;p2qkDHK!HX}8%s7-kE0dBW}9x=045na2>v)tgR|X2F&tW zbJ!f)el0AlXBv0Ae!HTq>Au7;P0F6@+Ki93AlT5O% z?#>jm^G5o;oDUhMuh8we9v6mW)>qQHCxdLZ5*hQeK^ChtoZW&)8f?4 z({lag!>S`TF7JhWZb<-!MIB(A?#L1b%%vlhv%ZKSk-&|4YL{fAxxzWP5Mn z)CNYg=%@|AwT0n&R&9N-4c52+j)t*CYg1;O)t{rx3>c3-t-mZrgQF9KaS=i~z`)zu zdUlEd>j{iqzZI4ahOIITU$KX;Jd-XpJ{v>z*{7~Wk1FsxEASx|cv6AepDU(yk5}OOQ?=}RvI4LC zbFddGaQl;-RG?IW+n+Y1__7MzUI$O{k1Fu&6;M@uS%K?y$MTiVN6nS+T3e{8ufXk9 zrBtB30@tfG+10lK&tAz;T~vXmAIF=>s0zH|<5V}c0=JLmvIc&XRyqC4vs&cK|EevQ zv;S*d4R!jbH1Me=@K;LpV3p{P8e9QT+ZR+jr#TuyOZ(4e`KWf+fa$6te_L9wek|&z z`Wp90iUs~!m;R=-@xPqbNq&j(=iFN>@aNs9lyzym^s$)MAdQ3OvivCDtG&utp=g)Z zv2+=>vKC^g(|V{iSMyJENAol5R~AExNzIdNjnP`ExXa>3Yo69I#rjZ4b5rZG)(ovb zTKg1tiY2WtTFW&bHJ7x0XsysZ*PPJ4pf#>CUMQ}3jaf4N;3aO%`~?e_ESffX$z(Ss z{6A&!;uN*q%mrg+EIstlsq>dC0;e=(>Fl}FX3w9oz>Qgw@-CU)Q!&krnLc+$P_<}5 zNS7S4aQfWY^XIrRvzJVs5^^&aEIwo&CFxu^b?$u2X3*j#i>y3t`jn+JCrzF*WzqBl zvCm2~7EPWvJu3t|LdDz#Q!|(*$}BUdO_{WK>Y~{TmtcS3Tr_$9%;}UC&&nE_J%7pc zMGM`SS(6vfl0`U%|HdqwOJ>?3^C!=nE!~IA$H0&-S>(nnnm!k=>HolJ+%xAd9dqFH zMT=)In2(O0!lXqjy5CJ*v|#b#sgvi<9p@%Zow;Dr!pZY##Ij2kEL<>S@si0?=eW7E z>HFdZa}OM|c)^%)DlS|yYti({(^MX-@>J#4bMw%I113$HzG%_>1(V26ULqT2PG5rg z)6G%jCr_KU$nrB5O`q=cUm2M>dG;jyf&79+=%Lw3i>FUsGNJJC|NRN($raV+>C`wmrQk&rz}{s#HF@PnzxkTk_~gp(9{L0pX3#U(=Jp=b-m}#4`Xu;%ZQztL(QJG54pFDrT;pL-X4-Tdw%`!Ac=pU0v**sm(sGMH z^CmBzHfxlhr&vX%7RZrd3+ggqKbXc(zAs z?Gx_b-Nrbxv(YY;D$jXV$$xvT1fR7Me9201zY_eomEdQt1ixe@_;oA6Z&?X`_e$_T ztptB!CHQkI!I!NB|9T~O8w2^j{6BOh_pbOXE#xT2{n1&C4CQ1XSO+Oo7)H8;`laL- zq8loX1?vaT*R`%VhVt6z8Al35PF?UHlqT{4GMJll4-WFCCIx?PF-s86?x&aHQT?QZ9V z!{gRPp0u=8qf0KUcg3TdTy#v6D=ulKAJAg>pk(JRSKPAMl@4xn{_m8b!XccnpP(Jc z-A%ht=@*Tzw7Ag~;43V`Cipz{g(Z|#uk;{z_`&SbfwZYQ@gGSUDtPR?uE`aSLiT0s zqFnralZ#v0T?wo-0ena7xR?_-Ki29mX>p~quoEht$*u$W-!!|3AAyY?=y35TZ7v~S zm`2^FZLWl@TNRrZ(r!e1=yOS{iyvWpW_7se=6d$BdKYcn;rxl%JDxU4{Wai^^m6`2 z`ucpkOGpd+KvMB{*jB`!f59jJ;4b23@R{`MCT!=2!i(49)8BH(aUs-9yZius>37g< z#^k*&7p>Xp;?o(IH9B3ALpMK4Tbx6FJ;rWN%6mb}J6+)!bYDvw*Wgc5Pa2^oA@6=q z{y6L)Es~ZBjFGU%&_No*QyAHsF@#t2Fc?%?K;L&k*OBxMyu=SZ#^doBSZNqKgbnQN z;^o{$LCI$|&O>f5{KJoU7x$!3_{}{>U-pClGW60%4@HM?=X4P1L}F>zW>@$nZG4Ij zDBg~Kyok?~LT-EHAP*&w1M@qO%AVaAFY?iyjK?)CE+${Py2T~Jw&iZ{C-j*#CiPIF zlr~D+au-%lz7E}_(Qk>B*NFwnQAd;WTN5J_nw_UEegmBP5TR< zU)F|x#7X~lSJ(%BQojmy1HcA?J<#QRO`D5PX3q1&rk*?4=z09w7o8J3@n@$i{s(*r z{Iuh$>EBz(52ao5(F+}}cpkBdE{{#oy2S4Hw0kl3L501UD^NVC)kSx+YwZnA{3cNG z*Tlg|(65-=(}|r^$)8ND-pf2agYmc$Ux5|g#~0Jk1CRRy@_B4Kg*EAP_)nvrx+471 zL5v?VF+7DGX!Eb|LNWeK_yOJ`Kf0dO)7M7qYoZ@FW7EUf{}g_>6#Y=)GEykMm~n-o zMa0@A%ys=Bq4Zr&A0NTj7vr0YI$h}k@C!+=quEjH_X58Ie)6uH_<6n6720~a7+w#>AGW&W3*z!^+I*Nb@KyK^>u`myyIp)5eSa4{ zkiVL}4IU4``&!KjPwWc((uhTg-R7)~4Ou{MBv(Yvhu zy^(u}7oX;6! za9_v1Cf=RU{qF`>c(cJ3htrS$GUpGc4?iO|E}?%=^dM`_zKzb`$r`*WZ4C#zAODbg z%BA16I8VMf0((f^2zVe5m9}kk1;{_ZT-=hmv^i%S$U|-jXPhU|bw!i&3t3ywK<7;Q zHUk~_c&U{12u zxa%nM!vYH-PS_>Hprf^6ba7gOi{i?6RI&i>iv{O9m~0}p9|A6Jf#1;2@yhR5H)+V(ARv@f-1^N>&dh^lYUX>k@b61{-nW`s+j+ji?Z>* zJh{Z~;`jJo`*tI-ialP0yn78B|HZlJQ*56^`Agb8g}speBtw{Acd;IeZxFs2#Jr;3 zUBUdPp9z>B48iMOK@W8avN7#N)x`HrthJxfet~xRQQKr==J6V=5yP4LrxHJ3W7ia9 zmBR0)(uY^kLw}+x>0^#H1Ro@nOTR`hyoDLim&E9|#Hj48!Y^Op?>hR2e2Ml-UqD|` zKONsdUiLI$4}4J#IzLBVKEls&iKn<@mqBG}PsFPyjv`{i zW1r&(U1Q3L{42fiCE)Qad@EkX&_1+5?D${NH`m!F7=r{oo-rw$ zg|C^T@tMd^VI87eBp)+p3mf9s>9h+a%t@~liqB)8qOPzJYvTQ!$$!rI^bv6OrQ{>V z_!R11V@_6$bLrsr|=!uLA;;?o)|oOj(dWK(NFscKM)_m zU;2tYXCva6`VxCXOj||vhQdE+x0Crr*$aCVxo^-ZTff9^>?xwlV{3wJj6DuYC>I|g zh8AGUo!Iz$+JgK7^u5O(3FaZU4|^YJ!kQM>u|M7gejQ^2m7utVGL%5B6&}cO{}|na zE+`t$9At0z+TSmtd=7ij*|a;EJ~1Y4Ffx#bq64WPOnpQw4nijwLCjeb9;HwMxgqG< zmU&I;p;)}6#X;;FONohr=w|_Nn~zLoPkw(~>g1@4myqac2uIliFV6_3RK@D|~V z$QSlN=bo(do-$O}m_B~Yz4!6><6^j$L#3|_3mxfh+nYJ@;sw7ls%Vc3jRC#1Qq^B{Jz9F=uv$37&!OAo-~2nfZUE%#r8Xo#)J$K)jXVVkl}Mwr_*)2>PeGL#aEAI>?I- zhrnXegt8-z55Sk)i@THSS#y{_@6Z?Wg&SFiNTXkY@6K6i7i1u}D>{&g_M)vx$nHb> zIP+vO?VieWyEeX&zIq-!{z;DJSt;h(LE zPkwkkew4kOAB6VrqU(6#=oiHBPZ@XG@}eo&4<#bXjx^ej@w<;WIDnX$${5gQ>1Nj3 zpE1tsVav6|`KH7O_7o<;gT0=1OVmaGq77vHX~ZW~{2BA&R{Q|Pzs5&fa+ZP;$ZbU) z@=yY~ttq1?!8e5~yPQW)BEpX1DYUU8v9d2~@prU;1%CY#^Y9PUL+*NLNBROKzod?5 z1qpc%xt+kF1oBGP;#_qnb8BsU%nziOZiDwP@ZCWQ73Xo5;Ms}ajrwcR^%vT?2_29V zEyuRQ7>7NGBc3x9J|LEP#!#Z{C`Y&8JM#W9*5`T5w_DH&xj!MB5WhToik<-f7xq92 z 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

YNn#4NDk||RU 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 W4 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

^z4>oCyy*C+ioz+vUJB$^q=F;E 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

!bprD!8k#e11tM(sxXpQq-6UUSWN%FzKvm+ zn#V2-+eA7dM1_&?_-(2z5vI;AFUw=s6~QxW*o}RY<+1BL!71Hgtfk(A;k*Wns1L<{ zt;!)sp)DiVTk3(|#ZNjefU`>ilqShzmLtA2RubW;sD)R=Y8nz0Hv)e)N0y-2c1Hy= z227|)z~|8oD&X_Wt`W|aspx?C2d}?JX5i9F5cs(SGhlG}i2Axr7AIg9V6T|h86IO? zrk9(vMKPFyc2Pz&+ZTskK!k_uL;el9LFN(>M*^Uuu)NtBW~%I3^kNNkgc1HIAS6(? zKSkPFbcJQmlRx}NlYF<+uTflZV>uJ~Sm*`Z&!)i%23}uzC)Z`Z&_!Vrf^FZ-8v=}R z?KC(+FViCvAY#;dT#K3Lt;lN8SaSpfvH)&{4aOZagEMEc3Mkv$R&J>;vCxQn7<>4Y zl|b2{0Y{H#zE?q|jL;)U&bFT@hQ*~F|u9+KOOyS01Y;QtHG2lS%?{Z~|9-PM<_`{%L# zqXNu36Li0_`s#KSS-Icje!~z#9qw0Gc^F$=k+iwrgvZcVF4mTgz)7yMYy=#0FhHJv zCyWM^xZ@tL@sylI#w;Dr=s}dPJrPF-jM|T!841szam)fwc3JnFji4; zQqq_}r*&TU))`ZXBGyg-{m_sID%&-wHC?Y#{_~D))RH*lK_pYqV=>1*FR~ZnfMV(=N71eAri+wD5ni-l zvR6W-K%!6#IUwbs+*ux(1~CY-5bhKBuvoQd1t%5kG_O&L{r4YusZiVw+8KKqJ%R8v zz;ZoddGIZ@c?vAn<|#5^Vb+G{xFAd=h*9%PHHs~3uL^vt+qVNtTnpa3Hct=C%SQk8 zEi?OwZ_J8gzF9eV#j`_TR<+y84a35^u|^UOxaEPYdLkZVStj^?BdbKvvslnTmEEu# zw$>pQwHr;q|55l)#H!p5Y!XY#=2Al`vn!<*H1wfSaE*)?&M?nI-rfEv`~R41ZWmsf zUY3aPXHhR8o+1Kj%P>5*IAKH53Hw-Rx%5;}+Q#etNV~hI2HueU-|K!K=SA?*V;uJM z!7+*Lc)wB+vMW3q61DgBN*CMSYiu?9d;@bHn#Uyz$3ZIjJDYsjY@23pWMv8ZGpTKmjZyPnySnD0xO6s@qtT2^2!p zk}>W(4VJ`b?<#@kvY~Q4EX}i#p$75~zQS*j^8ulE_&oCg=cQShjMo zH5=Yx0sBteJSAl!om3gm$||>_+q$TU5th;Qyr|{S(8FXP1XGUWe&cL+jA^W-e2KwG;Pi!E5nJ^WT7zpx!{QeZ#dS=PCX! zsQyQ?FBN-f_-tHu_4V+uj;R7zp9~YSXF>JAWM4b{T*TuY*eAk2qipBP*o`=bU>-%A zVj>_1U(vFI>7rm$-VY*0vJdw(ubR6FzUksbp(No<0N2**X+@19>bFW zxi=te=j-f2q8%R57qBYI>hM*HRx6H7`bm&LG?e|`MP@ih|^(ghC*!o{1fBPmr?(T@$Xbu82@$|KTPCc zlk|b_nnJ9+Ab!fRgrZ<6>JPl`PqfzFo zTpzW67M^PDpN}>vF9Uc5fr&@n&wYiH$UfpBuf*@5q=$d-+jmhu;6uD`?ynWKGA1x} zz2!q}8DkW#KNOk)aVj!ag`P|U9PanDg&Lr=|5(euuDR$^(fBi`Y_r0e%Y}%@EM3{4N#%Mfq`ErdL53 zrTnh{S}DKHs0pIn#*S={Wue7Veh&N8Mfs&mrBX}jKLVii-vR2szqF?RWHJa7?{9hpjHDx|IKssAEkl%uSV%VemoidH`mgCc)W%FdravHs=ykNLPrZycPK5$ zt0*n_P8wE_9kT+_f?U6U@I0BVi}?&P-U+oJna)xI!mLqDD#}p!6u^)xaC#p5D7@Ry zdGH{h@A%p~s5>e;gklPzydg;((d*u<-S-K&bZ(C3pH3S!(5VShdnWADg6gB~d>uq3 zRII^=l!^xYpIWgT|F^IBFNQpxAk(?u^QB>&PH4!w^x*zgy*-_`v6 zp#Nc#?~*l~g%939-+jn`R*^X_Dl$GYuaFro9u?@di?t4Pd3EdqQtJR!LM#{Y2;@`3 zCu5AhySzrHeVqRoCL0w<*=61z29>Nml?tC~of6LV=rvqLRwx}u#g)u zcKnui!Hvb9dtb-{i<1j)D z)p*J}4$)wyL4A0Gx1u)FcA^w}d(no@2zl5E;Cuc*^0Z}9pgTQq5- z*&IwNO8RSG3y6pgk9&(2M04|I`2M@#4{3h(17}RF64OJa?KQ7N_MePf2e?q$guR+6 zQV4_+jzRA+m~$m}zI5IJlmt_EFV7YKvpH(-iG57nU4zp}1=uN*DuHqwmIh|cvUx;0 zf}UeDX@z=>Dnzh6yv_)nCaB*8Z%yKFk3vu+e%WN!;Zjc8H<`8a?M~ce&X!Bqa!uyX zBR5QqTwW)a9MBvimnje?q%M>gnP+Wa0J0{l8c2Zz+22QO!Ux3iqxmw8ZgNSim53KE zIyPcU+mP(%nA5Zo8IK5Fi&7QXQ#0^Y@ioN8 zdq`PJOfvRo2OBvyPi;3(m8H`;QTyL=$iH>WDMwwJ+58LndKfeDZyou?si94uwTz^y{Oe=bovi$KK0~x9 zM7dn;Ux+_<)oM2a4X7=KXH&C^mzcKLI@iH$@KTabLgvc*DZp^3xanD|E?S+GjO5@fWI#@n$B`Ty zmu8+W5S|YAKMfdng?OYw+Hm`iCHrpUxd`-$O+)Cf0^zDTtYTz2=-egD4jh0SnbVID zNI8fji{U*8k^2WfJDoV_WpOsW7R^3pLZuQSk~8$hxq^l%s_ERLa?exJ-g zF2frf(X2PG(+|F{Hyjz_-;K`1gHFfH{(oMHnfG~()n;W66|@H%4b6}gLGxPMev_iI z$2k@bl2Y8I`Y`{7l^|?8->oS1$Bwq|&KY`OST-Bs@&yHbHh9pUrq5vy)0S3mlHi~; zs79|gb~WlAD$b$(oXxn5WHyhQ55lb?y8#6J0M^L!x>ro^?lq)gv9I0gb_mLC)BQZ+ zgU8Ijv4({eA^Xg;pebQOnVa#|GVp>6W#;YiohUujU*PL_J~y8(X~E*5eojqnbfJsl z?`LE9o6JiluO8SH`Tct$ynPogYt~l$oUDyIF7;lR5v8 z;>u!DJx5kw1Es>O(0`SaxXbqvjGP<9BnrrCq$+6T9>aHPP$Gi?;lCEA$M+Jz6vy|TDUjJ5AFk5dGshkyx)gfg9ystzB>5*ZaYgJna6X!c(zb zT_aKe^(OYy4%ElkY_CB>MDh9}Xl`@)HPNiD&VOAPVRh!e@}YiJ{;L%E6D$A4eUJ`r zG5(fe%Px`6H4+`u*Qm}M5H@UhUEYwepj>3&F1g6&?ZNJYF(7?hey;}~kQ@0q(;7`~ zv)pL@F8ASg?vi>CC%et6ob}DSq8~Q6D#rDdF zX?_zQ<^?)FKr+ez!u7jBqX(aFY+mg`J-P*;p`&y%KZgjyU+bKKp6?&L<2Leknz?7X z;x{V*3RuBWYIGa6Tqt2zs7i*2;G2>AG{OR`r4yC`SKxdc9+fWvXgwbQ3iu;Dn>_qM z31PRk+~p1E*+n>%<^?K-8U5$e5pb`cH&!8Uo{`&}N}tuY5-I8CS9cI8%q(Q9GL@m( z%ml9>$JAqBhu6&E{oAl;%!%y?@xTaXUllqsw=6{*F5-xXo#%BXMyUlcRU@Wi$E``| zB5@YtG?ya7f(-yy+1kRh@d&Q6d_RM2=Bh*Gcs=6LXDvs-)@9zi30e20db0LEg8cu8I*j|AW-@km}h#dQTusqxufmGJB57D*Lp}`O{~)jNG~wb0a0S*Hg&-fEIy_8U_#76DtAdJ~@c+U>Y6r_{lQ4>axU^)1} zW&Z7*Z#Tko7y%%T(`p{VFbe*gE4=t>wpPn31SJOxzUAC z%7^;F5A}v)L;Rn>=t=2^GVKpvzS{LB1R45!*fyAtixsM{o0o*XhWtYPW#WaiPzO*) zNWYB327mD_R82pj)5_o>BUFb3zS||NWT)k&zf|hj53m)i>lmE`rAo1B;^=p!h1l+N z5?wSI7&mcXsNT#1rk^)5=Z^a2NPhGo*|(5&ABA0K&yImWe?IKPr)eEn5-XYa<4h@S zaVA-XCQ8$&P+Gz2q!ch~df9Lsr&3(H2GHRC@ks^MN6ITY;{Rf;mXSVBa8^E4P3|`Z z>a63e3xF)j)*0Y!#L70|u}ER()*ln6-8B`TzO{wU=RP8u+1P^q{41k1 zlGtrELbr&-cVmAa`x#}*Dk&gxIdwe5Ycds}w=?1;FiLW=1)!G-py}qM*bO)ZE3WU*yc~x#lcsW%d!ZAhl4N4&_ z>lmH@%v5C^Uz@2*hhSCWAx6G=+gYT9ve;N{B31(O{qJ%|Ga$>he@#i+|KbWK6OZk{bv#$gzCJ=*Wpc6Ik>`S;={$hv^P=G;0kv_{`BY& zU+SCb_#|60!v0xw9?`vO99;G-QQN|pV5hT;qc}8SyvL+I50FAWj;?1R9w13z zGT29s2)&6Ip6IuuH~N0at=`({J1GVFRHN)v*v(w#!?^wydy4RXXcFeZBCC)P##p$T zQ*o=DQCP3!WBJvs5Ud)x+|~$o!Riwd>?2fxV14Ftpf=%7IiBN-G&QgFAW|J|vDo`> zFL+oHJB8M>Md462hLOg#R`~i zsL`Cr6dq1j+O~|u%n-Wpu<%eyMr<%SvH3EkAdZtTK5VNSWN4*>1;|)ds^AgxD3{4x z*rzSlYxEP>wCRap>g{z`xXiRCpg?f&um{l|?0nZWbvkKHeg-!`|KLfbmO4=zAY7tr z%jgoRkMx3h`Xp+43^H*vk15$=q zu$6=SC|%0E5nNKoUB_XQ%ch=)O)l}YWE1n@3)+B6^Obef0!lBKwNU@)n~AbVXCKUf zt%XhzYh^i7zYH#|3qyLXXZEe<0G1_$Kr+m0+TB`7yC{T&X8m_LJwIc-eKxQ=w)oAS$>XP(@tao7?dCO4Nr! zbj@E;ei0Bbxh_z-G-~rct6rf+*doj27mf!Wb-0-6JfuIvf3k+?#ya zV1gq*K$9V#tFf6!LDid-)lE;Tn+R5pR@<3l;5;_(9*MiH`b9icv!C+>Q}^8i4qN<) z;;^3bUFYJ59kBv*6sz~ICwpPBIHMRo4fHGJ^6|mutYBwzIJgPBQ=V>g^bdZH4iB7YB-5f8oYQtTf827`=`pijF0*#Q`ypCR ztHSW4S*9SzJa`G(rr-zOrV zOP;iv*W8CXVJ74WQjnmc{f)W6a_d96Vjt6t<10~s&Qfp|?yF=pknkw{Otwb+Aw=o2 zg%G86zfuz1ogfE0e>~jTBlwUK;_j0u#BwgE64KP;2I3f?N;ui-+;Hwt?g^@M1E&^? zG6ITS|ICQc-BmOogLfcmaWE=sk@O+`4rw8U7n6j0;|v0Np%(Bx6*hG~lt3m41}#-7 z1>A2?HVT2*bNH%_v#Apyb9-5z{c~9>oV`W3$A4(RT?KXiLw&TGomiOv&?Q>!2Cfi^ znCvM1`Hi-i^=BHIeV%jhJ$((f6SQ*L9Qqmll;QcG+?DS?bd9g4+~D5;m4NJp08Rb~ zjl^xZNvlo9oYp;H3HzSVh4TCD_Vb^775Pn`?;yX=&}vuMK={!~JM#Re;AORVp3qQu z2`$6DNxy+!aQOi71SW687P1bqjixfj5iE zhM5YtgrHo-On?14A;2#j03EG4Cb^*;cS_b$=>nSr<0eTLmOzXeq*pv@8*S5X;(Y8f z{ZI|~vfl%WFVE#-f}MTs^TA%SkLZdit0%@V<=xjOV9MZ-7^Z}Nn|!0)v#JSK+|ER9 zxjfwo3om(1EfH+y0W;~4HOXk|(`;el7kNCf&N#6x!Nfwo-WxR{N{s!3KbSxmVN*`T zaW`lv_~+LtFmcon;f(T9X%2yga>(vl9S|ry!PH;+frCqb86%q`BSve!!oi%#_?2N~ zFme9Z8b3xh7hD~K2FY`5pNp!6{%J9Jj_dhplM*$9`C`rZ6~SQ-S}` zDKr0!t2c3V=FC6&SO3O;?97>e$gLOt{ZH`cGO)fY^aMH8XjlgIBTk-}+K_%%)2k8G+X!extIoix^Jh#)QQFpJN zK7`(SxSKba@+Lxwo%-R3!06zh0)#d<;pe$s;h)cMcJ2Cm>YNYs|Btpefse9C`o|MU zAROTt1T-LO(5O*SgMem)Xc7{bfeA!|8U@`bEE|vAjW7v8u7OD+|9-3cnIi|dyYJtRhi&KE3Sgj(O=KNJPT4N!N^NGVMe~r|N6vuxQrU3+bFyzB4i_nB+ zt%3kkb3&TZHd3s+vo*%U&qOOnO3jZv$F18yj28zY5LS782a_wWRbdZj4@J;ZFFzZ# zeUKHC(0Du;O)s$$o8=QS{m!1o-HqYC5aX#VIAGWYC7)_wKIn(Mq3xg%-$D58C-bd| z!jkj1e4;cBy?{ULUoP4*YD1I)Dq7!0{@|}>;6BO2;DR^_lbgx$&2u^``xq~lbeZ8S z?qbwbAn&?_B$b`@8+8&K7Shdy{q9Vxv9f~~8ZTCK!IT+jhI}}5B5D^tj%?Q*S4@pm z+iyo*E^2A)>3ph5E;k{Xf&06tIJ;4G@WMRSYdzV%!gZ5aA@={USKVg+FZ3EZDu{i7 ziBVlEr|E7#MGT-`?lKZ=T&0tl7j*Ip9C5H{R`dI)_RU=(&1v}Owr?|Br0R7^z3^%Q zT4rUzrvfL6Al;g+?nBz)q^s`2(Dv1Vrx093+)=D&;CP}^k3>@UM^bl0Qng5}OX$Y? znOy!xZ0jJ(rgO{u=VzV8;F`hFxBFXrF8qvpu`cJqs$Rj#w-uC^zix(NS8TzdSeBV9K*8(Samw#baqBjjMN#0}dH`&{p=U-a78MQxREOBOO zy9KA&zSwE#TG>Nf=5c=YSiB~A9r&9pn-Iv&HDzJ;nps2qIZKO3Ieo1cN=P|~LWDZh z>S*3}E8GJf%G~}9yu)+lS#qpzlXV8Sh%jBD6IUujyaedO&$Pma>y;IL@4J|4R4!I;-&p)92{v%0LuLaI z1%k9f{xLe~(r1O1r*7X*1h)7_0fC}(iGJI49;RIJ7@0~PqhPyb{l8b0ghLl(4CDu9 zF=xVE6=o9Ww^e`O(7^w}qcC*WrGg>w=60NG;JJSc74oB#D*yRNApeCr|1`-DrO3Ob zMa{`mx3t874l0%|(7kvEh@Q`PU3 zwd!HIbqk8Y6eO{B(fwkOoY;Z%`j3l>=_EE-gAm>vq9@(@Lev$cB&+PXio9g>o#51s z=r&aCpl2gErNZGG<*U3!BxC?yRC7xcyjQL3nu>^~G)}^MV@#Sn%@Pd%2@{l{8hZ(m z34Mibc#IZ^z=!bp^5^_Ko*4}5RLRiG6+BP<-qZT~3M?>@bCdN1QhNGvh-$O?7N|BQ zw<*mA>=-YX;ZT7Q^q53Dt9m_4pe=rtWkj#&AT0i8$75708!|IzgY zSLBO-;#v(0c5K~5*T~ql?MMFxtk}1>BS!qDM^EJhnTy3BmNNq z1q(0rw`6&-Hmw07`FWVJ^j^{j4F&1Q2!Yf!(mdr)ma#Ym-;uh&xb-lyn#IjR=&V1K z1Xof`RdHQht(j9#N= z4C;~j$=_0C)SQVoe@nGd`!#bBP&Fy91?uOJ8;lcR(y5g_M*A3xrdEiOj8i%l&5d`8|Eo12hK*kHwmNp=f*SIHXjG2T0 zClRX!uO!`|dQZZ)(`-M-ha!f_6&gVjaOSglqy|>aLW+P5thzp09j^=3xLi$VhV~VM z8K%#+>Az0V|LM$WrtZwmC11hJT8#jUfW*w1a~>B1>qMZ@`UH{c!fq87Gqf)_-=8_1 zq?e9L4OD79sVmgGD?=t}`v4hLEPO3vAp>aP!{VnN)`0^aatdA|)&Xg@OPgj9M&%u_ z9wiv2jfTK?LLWj6*Q-J7Ptl0^MMmKcC%Oq0$eh3=s;Fg@Bg>kAfKLj7m*Euhb~|(OU*5cZ&=+^3tH&qmaWbwxC>$ zcCQH?j&}d7D3RHVj%Y{ODyRpB7pqtM{?cC*QyG2@rDEjbWUcD|?r8sWS!*dPEQdcw zJ>uf#CU|?v0x%hPpuLr<{VwjJz72Hbas`CUM0lB$<+g1#fvF(96}y51?l|E-@J@35 z5~@bK#DxY7qVTtD8}Jj%f@P($gQ}sN!x`BHZ+gz#+V!@aqgcUSRbzb((aXM-x%}&3 z|N1T>{}JN>9l?#<{cI?04OVC)iZa5RWo}(Wpb@u1b`xqEVYJ*hE!KR3)FqsLJroL`tsfj5RL* z8W>V}f0{dg8PG273f?UM~UGvEWFzl#Guxr-E#Q{;T5y@v09`5z&a`vPIcp{0|1@<_K z@cxe{mol1{WDsE4yN_+dJ!3hZ7H4;kZz*Y~SVbXF!_e9AST}<++e(>UQjj*3-{=)@NV`z9hQAutXn{d`x&JuEcJr`Rxp|{u@5lXSY%J?rk z2ES9jsdX1d8O$xVNQrLd<;j8KTqwH5!w}v?*ULp}K4SUlx$G*4s`17CoNIEaojR;r z$5M5~l4d;SqzNh5N`lDC&$Zrx!onip=B@Kjg7F$&bP^v!GcJ$~Az?M4<}eJ)o%|ev zsKiiUc|(v8kH3y(&M2TYo_kZ;4hSRFDrDKduwv25%yr)RY2 z`v)VN7;pH<#6mA%yA?nlUE6+I<4f@72s>ZE8R0y-y^y%bsI(Z9N12&^Q7c(!RY~HK z$r%^W|Lp|0zje&|U-=a4FPDW-E9i7|H%Z*;eIVyJB zOY@P#dhEj;Fh3TcuM{osiu$c~YS^X-m0QsUpGh4b8PJ%aI|qmi#BMmH)NOi zG)~PZhj*qIfk3jaK_HOU4LolibxVT4D@xo+2ml815+HCRs&)Gh;4*|6d5g01{!j^n zLUorpm4+vnyl~?^82pCNabRCkqheb~%3}wJq`dfi9@fFJxp%DRH*=bE@Knhqtg{Tc z5>&2%$Q7BHQU4hg zX_yx?bzUb#AYu~~+pyiF>YE=|pY`>oe*-ojAQQ*V8fDs1VZ*S$(T6V0h_;_1`ey^& zxoWpA!1~<2o%KO=zad2SYSaLsWZmO{5ZjKIBW3DKN%tHxfk3KV!LhlB8>gh2br~uU zg~6I2DSbjDU`w`|QA)Bslh?6i`&SCfb1(pEW{l|S7-s8KNW$>Z^Fe;A*i2NQFv8jP zL?lANO#b)=%$;*?iJLn!?~lx#pi^p)>o1JVo#ZUco$Iib&bgDX9nGEVPL0f+Y)Ljs z0yuTofE{U?7omX*1Z{ZV`ojRA0o$j4#Jrvl*Z}_rbK;=8&30Hoj58Su0(e?G08c#% zfT#XC0QFqW7{`HcwMMGsY2#|h1j09}0RAnj;3Fc=#ys$M2EO2lopM3S^dTI zqfIZN=i#6mr&#M3&M*3Y&n55#5GApL_@|4n!H-k`)%>AEE$0`Gpt5XW3kkQ)M%3Fx z&8gKm_TRrBr@``i&Hy!!3fd)H+izfUdNP}ojX*p~D`gDuri+y2N1abgQCDtkdj`Je z6F;PsvIV{!9#y231_>%tMPx25XP6!z+Vk*uo4S*u2CuStsuD5&=f@Qii@ygSVQCP~ z2MPU#Z9XuYZFUqlHKyHYlRBsy@v^QPea_RcO?nMZOO4H9!+6SRDUW$gu0Q9Q3&$u!yMka$f@CO_)_XMuV^j<-i4&T9RDgoIghvQJqRy>JYA-2{g zB~&8(=;fJg4=axZw;WiYb*3mVNbf;m!z!>?AQrahA(*uO=mwYi(#clwhiNw*5+u zBRq*Rz6-DRCgUyaDC8#X`Ct#uzw-NS^84A9r=g>n=;fQa36+D8t#Uv;rasuup2P%) zGeTDzwe+OIw=N5=^j$cmaxy+%Sc&@^x4}}5*l-AnS`^rAeeoTAgMFw~Irb-UjRr-b z_E;=Gqx40nIU`XmtLADAQ#RmlTiccJ(3SH6at9Zyc?TL?v>KTmWn#mEkf@QFztkFn zhyh>;;)IoYE4?U07h1ZJX`OfMJ2=@g0lpKE zBoX_YsA?YqJOWh)p1g57rkrlxIHCT+oslW0OiekHN070^Xi*NM#pSZ!jPZ<4HfHLz zaCK7-EOrQ1ifg40*-=^PzX))YxlDFB=p01#i+&5AOam;p%!-5Mj3_L6`fC~<2g^n$ z#Y`Jm-aD})Sh#Nww~1KrI`|Y1F&3KO+`x=%x9J9!Nq6??DQswqr%|~-X9QvLVt?A2 z0&oyN2Ddw9@?fwh0NG)V&9olDu-h8N{A9}uqa+&peQ=6@ zpq|WtI4&fdY?;dK4uJ@)S4MOG!ynsFb|yq%+X>HlZ(zF_E|kY9O|4H;Feuu-;h=Vv z&HyR!ce)(Tj1RocqO#3!Wr`~Z`nm-BAcwll>n)MWRS5G`>?vYR$NdU!M>==SpP}pz zhJQH`fsM$5VA2v7Z}8y6;W8J{P`o4wU#e~l&Rh9&0m8BtI-3{vDR90s|K);!XXVe~ zzhnQ)`SGmWf*VbqU{1{nEL8c5f9SLAMVL;EPcJnfsi(Fg}vr zPgE60K3j#+3X$KXur?QP+feH4M3| zx%g$yU16YU4NhwvOj>w3?zxzUa9KOuXEb|o+M$k9LXqi892@NK^EfwE%^Vx__>v0E zD-#QxpDcvq$~AD0E`a26zQ6FL0_TqTN%?`%z5?gl3zG8#ULR@}%bN5Vu5>dpxL*y$K4`c9A1H-ridN&eQng~xGx79Adg>$c|gvi{CF#Lt-b{=<3m zF0tp=MXmgOVIB(1KMrtsU&{sNtXkwo%ih=X@TTfma2!C*e7ykKtr`3oZ?Ca1N(~JU zv@VS_kY`pWqVQ0$=xlQyo;QLeK_2Ha3&6t|^0F)lpDZwbrgdDRx}y=M912s&f!uJO z09()dz%l~s5rv56p>5Vzm>=3#kzu`?(5{LC)?MIisC+ea1Ltkj)P^Dj?+*;<6z|}_ z&@#Z>jw+)c6#nM{OPW42*$(<9c7S;q#RwF3CKVhE8W19o4~uj*uvnGbo=`(DPUTsONR%sU&fH6vv7tyO*j*}oZU0Lo{)w56#wh9>L9 z{_VQh#=I07(bll8yZG<-?}q=ne@o7f>EB$u9Ibyl`u&&vdm=i1S(>_NTE!riF_3vf z7@GE)E`=Bs4$y?E3J-#W76kj>i}888>WV^hJf!{Pdy@*CO$*=SXlF7&c}78CeL>)D zE1MfH81YQ%Ic3CrDRM*HJqiDhML7TGNLZMPyst53^;Fw5aG4PS@~t(8{wgxu)*p~O z8ZtH>b5vx|r!;PSr$psPG5cRe3W6?roF_OAQ$9Erk1vfH<$gX z2AR&srHEAH&~X>^@bO&R9D{#X;l|AaiCzQqTE+-oJ(d;P19TSzb`%6Y#{Hjg>kB`I zdoa?_R=V95t|wD%!F!CA>bBU-h?r)A<5Pkc76dO%k|uhyiJ`=NW*BqocA1}Efff*c z4*XM$8H%#@u(bl8xQja!ZKUU$qs1N5B@IcBI5-d-I~Kfy^O>`ND?OMyQ1&L2#m^Zm zKcdj=57%n~DnJS%h>`+Guq@0h3)a<#)@zv;BYK2At&{t9JWiqOVtK6H_W zj}b-($O4|=JsUF|mvT4;;oo*c*j9`4nxLPfB!mQgtj2(9fMG8$% zMq>COA|osG1BS5ept1Gdy7en#S`S{DQV<+e5WEiZZ+ga1Y5F`i4f)E}PtvVB;#${3 zfdZ=Gzo>ydCvOpkKyl1Fieq--2&o$2apurLg;*mL2Euy%R_NSo+%X+vSZLmeu7(zV zND@q!7QYtz2@6NYFlPKQhUo=Z&kYSf5mT+ycMnF0^$Gl;g}Yg$LgClegt+MHt(JMU&OzlC4`RN6L0$~)T+^YEEs3y!y}wvD_5Jo1N0Lwu8Yvw(J#e zKIg|(Rjyzfy$84K4vyXiPu;4kq1|uFbG9t#E*BYxhgF`9Md>jvhQY(nh^~;-gD=6! z+o1BVs~YGsdv9`??j&bl_*4ps4eMaCn`vZVWv3h|&qH}xIbQ9QP zE0}{x8v{x22j;yGK26#PVTytgn7=&?Cu6alI$bTcVZO#1EcM%lh!+{KK~wIO3@)~DKNMOE8`Pg<-yCmozGS~O zu-=x1jF@Qkl4hs%47(boJC^SiOLU#wzxryl|A1pE52O_E`rBOGFPm)lYr0%Ba}B!k zcnP|aKP|2+r$xJh((Fq8DG|FtI&2tsoOF#ZtNM`-}=z;QC*_#*z?_31zD0h@r!#BW+xMs z03bCRZ^o)-+|Pi`{3OhvQ~RcLM&P8MDvze}EVwPr%YZu#{(_FMgfD9hIp3qsS&z#)? z`Gyk%U1oQG30+8lY3+dTKzCTs{I{efR`w%}K$AjW)8ubv_&8LP1V4IBld{9y#7Lj3 z&NCOZu#IR{-?FL_RTb`bO_}l2dRXW35$oL%JZaG(a*`LS6kX$h#WZW1AIH|nQo%fo zig*WKl0y5$nks~}8-^bF@b5703j?Zw{57=X1KS{`ZL?F+4FU#?6DVN3yOob1IN*=D zc;Nhl55f1=X2*mTs4ZXPg;xmiEXx)6Ik9qhu%~mA_f+@`t9!*K0)Q+i z*Zpx*;SJxu!wb9nL)74Y&2W)8u)w9uIcQ<3^QxqIDfS0_R1W>XubsbG17j+5HhDkA z9pB+d9a#7~*Dbi3X3jI#(HEfc>x(^!>s(t7gQ&W3|9{JF#Ne(fo@gd*%yXtK%$S6! zxCql6zn;ghcuB%9^9{@{;L+T~@Do^Rhactgsy%GbHLULNg27Yd^C7xs_#2?yG|kVQ zby;x4V&}&T&vcm;%6>#o^Yeq=#YxVO=V9_jKu_ypS0Xfr7O5NKryLwQXbCzF_+uIB zx9-6oMbt9V-IHTRIyA5&y0!(B8vl~$_&YFYI59ALiVq6@@%8>gJu9`&(#?OU6+CJy zBEExNDu>kj55)X_Aoh1fKXUYBH;6+DE23QMJD6hBypE4E>U{?tl~c?T_}>n!a+oD> zy&YJUVwTV^cXoI2@Cc*b-xznVF|T~se`sJ;Kl94h`Rrw02@XNE$ftCwZvF$v*Oie`Cyuko2vayT*(PIe_#L zntP@H+si0`jEyM)MJeQKkoD2V$1Fpu_i(NxL;by-DU=ZNgW2S!p zyNeRsi3jR2{ybCO6R~i;>7i+8#h>%QAnqy{)>`aoL(_>wL_Q{>S7CoQAI5}B9So0j z#`|vnny%0YJi+Tyik!`}3JECo9hI*l_ZrI(M_evPL&&j_Prr9|0ya#nH*RFGeVqvc zx6B=QLoS1C;^c_(*xaSD0=t!uW-JHf6A+9K$D^!G(3glc*m*Qw^_7aH>iEL@1F5x% zqacgnrmO=eu>_)p<5hZ;D|aLzdkW`TY?N}AMU^f)%(dHDoQ5Od*djA?&U$cSf;vQx zC;|=E(iQ4Dnn+%#4zG$IiX>=AcSYR29?WRKI}pBL*+leO#W`UJjAnes7~v=T;xE+~ zkj8x5CD9s!Em*0Pn~zYo=R7bGb?cp8RI*Z6;zA{oMI&U`2ca8C0E^xr8B)zGPO&|M zFjx*ExXgvy0b{!iAa}8TOlO8U2kL?+nC6CB;|>n0N6fkpNF+PGr-XP?!k<%_Mj|izfHE6fxxkhS*y`^D=IH-K zmKsggt0va4v52v=uVY30@sU%v0$a1o6}I3pfS=ugwGyX7)W>Qv5lY}ZG+jKF0}!AJ zr+N-pi>UE|21@A)Na28Pf;h-pfy=r6IhLrxI#98WY?4?{4{n30vBFHDT||?aY`!fb ze$^U?_`EMS^3yHq(zI{?cYsQw~ zm?R}Z@0bG#N~cY-4?qABEtN93@+~4}Z$Ktt%M?^1i8MQrX(zH({SCKpd5oY|d)^e5EMEQw}VlPpS^yhfppK9Ho?2h{LW0mfY3pGi9O6^3sov3CbW@_di zRezY1a24YT>X-hgHkM|vF#7``4Ek2(emhN-V|^@Ffv4aB{gJBCAD?7hnjv*Z`%?ZXW*7HQK z$5p`Aj|<2YF!;e_gFfRoYuY2K%?jOS774HnIHi#!&@9X(^S4)HG6h(XKBw7--IKNEQhoU6t#3tt!X*SS|}so3x~Aj7hF!MF4j` zF&`;$hW(*s_+Se(>+4xIUjyj^?0rap>Zez#VPC>mG*OSIJ?xSNO)QtJ;6^^9!~PKv z6luV;8z@I6X`ot4rA~fCHNfv|paM@3dt?uOBYQ~Jr5TbZ(m?ohXksq(mzo&$2#9%R z^f!W5w2p#ngK#nlmx|8c28A0Zy^(ETeH;B879}VV2m2@`;uLJFx6#jSg-11@wDj?g ziDrNJqF*J-xr<8ZZq!3%0t&Oba5`3>=)Dp8#OY;9pD3k<&g?NNg48zhS2o_&tQ2(0>UN^&2avE^d7lGT%PddOYmJ|S!0$QYc1iv`{e8*r?5|4b`f`wd9uE!d@y|}U%QXg6l z3GC0=*HfW36>zj$TFCgpYKhZtlmbbC&~p^s`yM>C=8koPK+t)0lqquWCE}N)-@h z_2@&}8Q3dooIL|)p)qUEvdvnlMptAm*-1t+2Ye^$Jwk}{6>~{5o}wQCOvwTY-z`~n zp2&O%9}&G2?SLmae}EOybX!)$+MQfT;_~Obl%h!G(>}kF3yaL&*)|tKqet{^LFKD* zlbX$y5k}kuLbpD@QjyFO5(7wvqaNi&RsP7lxbOI1GlBfGdps}7V!j7DW>Zk?1ky-O z1Z5Eo1;Ko*t_xsc#r+WQwj3_wlL@5bsr^U)&4Eh6b zifB8z+446!zrEf~jl9+SKbhYMEPaGyRR~xYcEYp=gC2y%mPU;HS63(zT;1XPrph0A ze*02fjgL0JeV-gZ^1SWZGSIP(Mt-G|!TbLqGI-$MAcG&>rDQOvlf2~iH;C9FaS%$# z9v}Y7v4lI0L3vNGj~fOocQB3ecLU|`+myd8$mGwNPH-@_nb@tCsjZK?9sPXLk?^Wa zX%j^o!_hO5zhh+lHAL&}Xg>Ug_B}PPIDr;H!euH&+6u#XEsh z+`pwh{SBY6|1wH_^s0{!F<&M>{W|hSd=?6|mwz}ieJ2AG{+v&`szFEr$p5zfHZe-q zuVyR%FmFk^>(^O z=m|yTJztR#8U8F4WQ^Z-8`&|6TwuReGPoyc+%e^QqF3~bi0#tWFBE;(bWx~%CWWYN zW4cuIZR;0Q*fMJOOCrlH;c1e4e*5{$qaKzv2?U+|ap$4eC^<(GDtROO=Lf=IB5-d2Hs zuNPmtQFrHRT2(?kSu#edb*F5fw@2hgg~(Z}1(6Rv4Md*)u8qjf*21y#8`c*uBd+(6 z<~Pm%tq%xlQvk_-$N#I@eei!vTmFBU{C|nUGBd^T|N9clz%FI0!qDlM5w#KFK(rX& zlf|kA`ctgu4Rg(%Pap zvOZS$U3ggGcSX{Ff?wh@A%^4_4WU6W6P2&GgWIepCMo>NkC^dxBU79KLe+9)`TD3{ zkO?k3H9$P`OFVvMv9Uq+q1)qkmBR0nF9?3OJ)!VBWy`O_?@tIhe-!+lL}(xyTmay| zqu(Z=jQCCwd`Izn4w%q#PgMA2ra1a-(t3p|W#d=TEthu0rA@yDdPR0*{1*M(0e-KS zt@TdvJN|jW@2nLHzlYxWb@;vatE1xg^+O83R^oqxU*glzhJKrg!Wb3!?Nz{U$fNKp zKgQCpEgw`ZN0tx!^de?AT4*bXqw?XO2Rp!T4|K01Em+gZjg`)#nl?(5hwT06)n|Cn9Ci|s?m6SXzG&rsG^;%dtCvIuLN-Os3{ZY0}KTEF%k zOf_!(3Y|1({sPCZ#MwjOUzO!@PRL?NT?UMul8N=!)u>N=mf&#cJJ_=_leZu)+LOSF z5qx&hr%cU2tj3zVkg#)N{$>5Oyf+t>mAafIrC#j~b0OL(r~loAa{CiDkmbAufy5-W23&vaIpCC3|i~iBP z`QZ@yXu}1k9;1#PVf63m>mBZ2^EJGQj9YieU?cLWv&4am+p%ezF8;->P^Yj_c?Ui}xp$jEll@}mYj8rk4s0GZr$62w0@lI(Y7Dg*uK&+hF zdEKWLEb^`DK9LONxUXA(B0liqNj9!QFYnmnFhD{e@yf*?mw=fdnGysM1 z0bDQI@K|?5>aUHY=CUO;;%qX^E9fRUVsUV^-}#gGOS_nO2rA}y`{P*V5dWk@*nGB~ z#X5M3|KTjn8=1ar#8n6OO6jqVQNj{U`c~?Y`r$2kAzMqM4-Gqmqu@=}OMr^Ib-)Ga zkM~JAn_b4FW?}>7ns{_pP~_Y>551?;9nP`|)L4HVZ-X4V8TGV-P~f{l!-xIA0)#qq zu|b^eBox@kN?!d}NDQDfYa9d{a%6I!2>_)_lrNSzUx6E)Sl(~(91^)ZT_{e&pT|Ixxx_Er>tJ6T)oS~U$q=$R3?KZbt^fTnmRQsX2Ju5EC1xP#Kju@; z3!h;>Nd{ukS1stU@(&bg`b}2~%^JDZO2UIXj9b$n477Z!c^tp{4)!q?|AQG7%P&Q3 zicfoxi0($4#;O$Gfi8#~8CVl~OGXU)ZLDV1AmhcEU9xvoo)q{A(gdfNa&f3^cRK2y zk>}hGZz`04%AdeH1a5)ctILqu$ESe*5dOi($^hSTJeN$(7&8O?p9sQv_@qOVbFV#)w6TnUvY;ZdAW38&=bR6^teMC%f|M6zp) zjg=$zlx%{r>!|LbQ}?l9z(q{q?0PXgN)Q6#ujZ0Oa!G}{ChDGZ1VmdK%5F7RQ*!~5`(B8uTa1Gy9nypH=zE-7KM7g9uf8PSrn+R zLjfE0HqwPK0bVc$JP+o#J{`eV`#T%HSB4Q&2qEvu@F@7w+QE0+uZ8cUZxwu>|I{8n zPcRQb<8gz$!J)zt6&r9Y(HC|{#M^(7dCcT5XJGtJ6{tEHzuD4?9>2MEQ!wwM=Qujj z(fEA`V)PyCH~S=EN!aZ6Gp__WR}l;$QgHwW|Bv59&&AAFP9ys&R#ZE8CfkpUe zB)^U_hpAJ0grZR$bZgJk3M8;tFZ+gkCHAG=s6RYd?LYmCyrt^JqOJ(4 z6HUV?f)2$G2O>_fdo{fvdANHocaOEM_23k)+qrWVob=Ti4371%xT|X{%#nlGvC3R_ zOq&w};{naquK^9>+dHfSKad$PJ)#km$;oSmvQ@JGHN^?0fmNu7X$EJv#uv{OT|>R!G?PJ zobw@|Fn_*sv4UJN40;O%mBQ}BW?Rz|d7Ua`lS=Q7MKLKo^Q4$}aCJU_!3b8YBp{Dzqk za+k-T$KnS^GYXv>RbC(K!Tfg}SmOPm6mW9!+*l>xE+Bl$MOh2r z^8uvYEdUFT-F9=I$IQjt_w!dApA;(@1)%bH0yw=GnVS^c+!v7cxw9v(U-2`s87u(KrTn+ae0_&@v#h}zK^5+p;7ZDwFNWznKE?VIx{lj z1!}|#*|r*S0){EK08p^AeC=e!DdGG%Jq7F(tDk^P(!hw@NK(KeE?=mS?Nb-2Lxo`V zsPF*SfCpiVZ?JjKs)WQCGrBF`E&oy>Xv6+?@&YZ8#fWdj9|DVcC2v2hFP5p??x1HU zBn1Uq!OoV@l2}RM4k#f3l)DgB6I%m@`M;z+K7p9_zDq#d&%JuFSpTS#B)go zI5mimMrA*$$YB0UZRTHto5?}{*O2}*NdlsExfBWHv#~g)&qI?oj7KDa?kozXcPJQz z1eDB^zQke?;sAqP!kJ1ixdU zsY7C~!@%_&%DB}Gj(z-j7bRG07NDB-v@3z1SOYIDR;yl~4xaf15I3W~QevEyh6h-8 z{*(QgjF94t=2Zbk;Kd!})&X}&Ym*7Z$e^UXxB)Vl{70m1v3b{7jLeFIFlhgwVHYI` zVBoJ&3Jg%A)DAFUACl$1C>`O?Nmc?xF@Q+bKoqwJ;>;KzPKyDerv`!n)%wH$F~|nO zT0K7o6YNDi2<1@_Tma#=uM{3!?Ll~a1+lL1@Q9=p9&SaNc*q3^!84X%P_qHt&d7xGoApHbAHeD=cKU z2chxtC>H)9X@!OVMVeU10tmHdM6q!1xi%KgRUmYRg-`Yo3vzHDh6|kI2%ic15kL?L zit9BhWOA1benbL4BE`b3_c!hxj0n@ELo4~7~WkSq=5%lFy|#nzp57w@Mun5 zH5Gm|I6sKGUgwP*)@gH(I2POY5)pC+jFUOefc-1P;jpL6w){CM29gOjB;e0;k){I& zg#g;$e>w*Ry8!Z|PEiav!!$Vi z6*yZ@i^I-ZoF`D&nKMTQt26AJ5e0`e0UVbGhp+9y`Sj5!c0QK0!p<6`i5*LUGbSFK z+N*5rd|7=&+Ie741Usw=;JoyO!VX{CgHsX%&ZHP{hHG$kD{!7aH4Zz^;=F^x&J+bs zXV~c#1&1{OoHI2zd~FZTzDJ_i*)3^>oi~ssc6Oo^Xy?>;a4N2}v9p=ccI{cOJ?+ff zP3$0Olv--ye0rL7|K|!nthzlwB{2X^iUDZ22B=v9bazG^e(uMS0fnDY3ZTyL6aFMJ zT&xM;^wi++wLLid{t|;9No)KdP5d+|aFXM}xe|_iinpGwIwF3i3OIrv)+G3u^O?dA zKePv^BnF^KF#rwM05vFpyr;zB$6sdS=XeEBXZYFlaRfiC3HbSPp8|)k?ZMgizcKic zw8jt8#LsG!0{wh;avV7MSJ?PjT6skLj23VNKdedcbEO7|AKC*{5(Chr7=VUrfL1Di zCdUKx``_63Iph_9I>XOXA4TxPnt-2;dli28+8&&J%VY2(X^kJGiJuh;oHvKW;peQ& zZT#G%!0Ajj4;F9)KdedcIKsKQ{_MqH3@v;O92kKvx$C zv zc*^5p3Bg@k31>sW(iw7I-$mreTB#Z;`kqgS7ua*#Lvc+E6j#MSagm0C#^Fy-h{MP! zRKG+U3{)HuBTj(=5wZ}>8RIj+x>CadGjdzS^v4II*!WJ;3LD#zCN|0e$5rug?7PIq zMxuhFGi*G!6WGw}*K&ZdRW^zdj-ovne~ba+#uzXrX)wwF#B-|*Dy42u0z8^tt$nZwkv$~vtHz%|JS%h{^@vyv5rf0tn&}N@>XkT z1UzgzvcZY{?RsrngS8e$0_TJjT*)IL+H$e;Sds?UBgi6{g%HHb6@(1SVt@=@;Fk;k zi1PJt4)UHzqQfX@JpzVXROQ%n)#Fv91GHVjrYc%pq}N zI{=W76$NLc7uD{oyb#V3-g9BgM?}2Q_aP!)Hw5Y25bh5P+^KkV;o?y2rS^nHt~YiJ zn_%m^x_+&7)wcDm^&ad^I*Ob_Gb&$k2M{^<1-q%(`UkRpa3?A#1&~d=U)ef7zW9ey ze7jwIb0_8V7<5v~f3P*K`HsrtvK@!+qfxsYgd$EMe_|pCEY1Wh3`EJ8le1kx1nNKy;`=X}x3HkjXscPq4AH{;_g|3lEN{{4qTO5>PT@(o+>Mf~|i2pACMIO|_8YGw#P*nZiEiWB{kWp; zBzI%W#qLIHl-ukL!>RiuSK|TP(hV0*=f-)%XVe>ux$6bvW+|iZRY3;ecs;x$afKBf zxNtsH)KPW`zFDsDWWt^X*w@}BPH!(IqyzZ#HSiFCUUvTSQrz!T#-IE-*S|yTJFGk3 z(>o{&Fjdb5^kdP=eyNqh(&gN-u(xrm+_D*{c7(^FjZc=ajYIH3u--k1=#da##8F_p z1OKqi&`Z}o!mfQLEVzOjw9qULcohx^IUMoNO>wVJYQpfrpRo~f!{+zlfnS8_o4Ggi zmjnun;w(bZ$GDX~I<7!dd9@uxmIH>fe9lO6c;1x>j!O%R0`BzoE9V+(TgX8PCdR>tX3QU5wJ z5)T!vmZv(0fIeU&d3;J<;JbQk{N2YqGwO@zfA}xV&Ja73%-(n6T-`?Bg~_<24-;MM z8jtbp)(K{R6r51%4s1n0k7PGX@D6EwD=rLX{K*}73!CYAviq91?Tf-8Ulig}gY$YbKlI70BLZZ~oqR3ibiVo~ZT#SF)DCc$Yutk!z17gtPUH&tQ|NaY`B-ohc|kX@KmA(A69ZzH=)}|-_5+hh`xF23i>8t z$G)I1rqGgHnV-04%@7=(;FxS=<-J zBBQQ?KL<%) zn|cCkt$wn~J2GU`dE=A9r`8*v?d!h{~$?$tvtcGx$ai@ug%K#I1d

=fD5Q(4ul2^^2Es;e3m%@qDwpGpfhL9G>fM9-+=t=lVO7(Z>UBVM_%p6mg zR2YGj%~SKIv~Zqe+Fq)kY}C(jul=!-QMWO&_1|nava-K1vW7lDT2*pNW#hJQr@rBx zftNaKjG5ouXnp^3Ad%7oxAQ4~mAI_af?gAiPbwUr=s$UU;+(%T+b4UYL;H>#pEzA# zPTN+wjLFwaz*dIlVaA>Ajw!>T$@4Hr@k8nKgOex00z8hnYP`nJQ~6aR;Kp8|*&o9_ zY~w?7@1Y1DY|c_d)@`ngEnST{@*UB=`hd3TK|8AV+8m81lLfRX{;iz;jpT>0=4ckS zUspDMnRnH9)8ezmwY*Dw$zcU@ZM{i*E7cyYVBbqF=jb_&TpgPIAZ_IJsfl_-Pw_#YuD#`n%hihg$n)|<|v z`Tn!pNs61FhhPYbNAWp#78KV!9S91#dH7$T> zPj+9G^u_s~tj>P=GM()YA9k_atovTOG5u+k##G4p0UX(#JGyUC)}Yo;Wl;UH`boXf z?V!9Lx9?}H^%L^yyX@wK>~5}5HxKQV!Cli=bknPSH}9-;Br52#n^&L88qMD7W^`6J z1H11A`^jCC+Trb5zoUC!>I!X_Wq0&n7l}R_^D_hb(?7b$+cE9?>1X{wpOIa5l$Y+v zC5+dBaXXW`();~dPKwNqbL!vh8`tuLa;KzqE&ReJ!SdJf*pg9>y?_59TkA^xF1VhT z`26f_-tAOR`(pa-0Dpf{)Rf~jpHEB9=)gMYlsdQR`boP!B*M90H1$m9HnZQ5qdvAJ zw|fhNwiE@Zyy&NR+S^v9_OboN5*}^*Y(-}t5>5<@gqx55Bs}O%7L8BxBjwu~-e5KO zB%Fv8hMus44Q1gTx>hN>Z#}F1ez<+O&L+DT@}Z~;*$=yEe^ZC{yUA~4_#5uyuhh1^ z!WN4cE^OqV`tR+XsW}}}@--Wsd(4o}@Y~Uec*rB!BsFx0n>oK=8ok!e(%^p9&`p0q z{`xS~Np)^ie*}~`h1sn>3OISd-alS4-#*>dM%e8*t7(601w)0re*`iOn038Oj!LMI zu%kM*^2-OA81UW=?x$M)RHi~x!wHOS5vhEnyZ(SI}aAsi+{|5HW()L-R9 zLxrCE8+sm}I4Cl{x#YFTprzxRFL{llnC~{ciBIXZYU))smdn1P@Q$Qzh!Z(V8%N}D zFI98kD#0t_BN4rSJ}oM9r6JL`aUx$d!pulhY@4!b`|h8gTU2iv9a`{9lRecbo$oXc zZ@anHkr(!RXm`Aj{FK$YBlGiJ`>R&xJiU+w*O+A12MYu=Zol;!5`3}6zCZ4cw!t@V z+4m+t+Q+{YF>xlWVeF9iJLs=FU)Jb;rH|WM%=W8Ils(9BZV$$OPfb4m;^{xUp#DgC zEo`Ip)TQUuUof?}l%3PO5?$>k{0S8NREI?3t0RlO}Z7-a;epyq={k%I@6QhP#gQg#_XpjooNz*(4bn^4S0my$hBmK~i#N7tQLX}27 zTj=rKZs>`LgIZjJi1Cw-Q&jh?d-Pdzb7~$Mt0d|M zA;6XAlQM5nhNwAjsm1u}Fk2gEu2iRdgX>XsQk=bVwF4D<7=3!<>1$b4&$balm}n;X zwf4FpYNLF^^aFyzd#dmu0?aR`N=JsbzGk!ha{GJLGetDO{LF_)v28`u7A3dSn5u?u z-mE7OGUOBTC=`Vg*L!%^Ba6447#*}sPWJLO(@jpoOgadKu$iP(f{Ec1t^?{z`Uz^i zL)P&th!v9B5zzUOYom!?G=I*p%aw(dW5HKgAhKolP!vUg&qskLH87xHfTDM1ia{#y zAM|xNH6PIm!LAeMnZ%jSE2kj3^$J3nwR8bx6q~ul3!&`j z+qry7CS8-QFTwdN;F7@yWZ;e?TPEv^H&P(mdL2kk`3pKM-LKr=sn67XCM~k;FHfR& zyG3MaV_<)gkeII?0_#g6@6@V^#Q$2n7ZRV*E?HP;C0=sQjNfmAg0XG6*MGz9Pq!6@ zZXQe1GAGqw=46s%^YD!!Lx!!=tS(=1!)GRc#SRt5pD=}16$VllCc_BFQE4JE{5$`c z05IZ@1g8}AR2$qm8&2SP^?KU@u6bsyvGsRteNkrd@zNMCoc%#Nv zmKvZXV7it976nXg4sxW>sl|rB*()1PW@A!6i;d`b#gb7A`<=g|OiU=29Cqj9KlWan z^ojgbkGE^f#ETZT?<)9*)axsV=%5t1@LQR^GIf?S@-gY45z9S!Q=otq-_XBvag2w4 z#2zxu7z7zs<~<@J`9ok_ED#Qo_^M=!R=M2%%ay*fd>Q19Er$p%cG*tl0xtLV<@d(i zj!mZin;`S2#1G>CMaw%+Iq$uDJMnw6ZOKX=hY`dxT5f1Vv=5DY(Z1~M|d4>JrQP~m1rqULDCAYH~++nVN0 zwb*8U7yrk$pFYj}mUStt*370wr>i{%tm*WRt7vaq0V1$sqDep-sYyU+|B|R994u6w zv#})C#4BDQt7ZYnLZdHSko(mc zzEz>BMefl39Bbln10xHBifsP)?{t0tPT0iQL1|%EzDnBL<2JBVsfMm0TG;BEVDi@0 zGufK=*5oC^5SdNp6Tc}yaj0?PUniifexlbgVf0n;z`{ZN@#elDBp{J!-Sn4@b+iY^ zS@py)qT76ImwzmXo^}wSlDgbK;$tMs2>pX zaUWvWLpXN_S@RJ=~Qt19ZTcQ|qOAnCizE;sG~!6DWAR=Y6-&<1$+>5@w*;_CL8Jvtj)Ddhnk zeZAbEHN9La z*NHHW^wNQ=)!bB?llohyCR{<=U$|m0E$EPT#8TB%Qfu7}D+1}}1KjRiY|+OG({rP+ z;(<1-;%;}Lr(hJXTtT-V@0s3RoDQUHEDrZK7W)O|9#OfKl#`AyHEUP#bjhCp%4YN; z9&B%6@;A9tz}m)OFG=XH-WXVBCx!(URgGCN-#&$!qt$n{_3ghFvh8QvB-p|oEZ8EE z#hbc-Ik#1~dzgUqcMB)mZ1!o)G_;liEOkxmN9%y#`91vo0;cPdi&}J?r-0zh)ERCc zHFucKnz^l%(|_4c?FBMJH+{}B_w~0_k0#$!L+nV!GlSC#czj*J?SlY^{VVYJ)5K{l z0mlcz*5~-du$}?GYwt3M#!Y^Vv{ldN!S2}po53Uv7~#IlgZ=fQJRcttLbe!p+&^ih zPU{Y{mTF>Jh!a9j%PCkcC$m**~X!c}&#T6M{Jpl(ErN;)PBiJgF-=;8)KG^zZS;KcIcHf!_ zPQS6T2e&Kx7!Jww8WzAednah8;w6`of=lhE_zpC*eKzGOw&VB@e|*(hJRD!}<%JDL zP&Vf>zpM`YxU&Dkb(n5j{Nq=|?e5x-UgFnj=6j{Je;suwc2<7q(gth_c|+Du$h2Xw z{J^zeO~euKyxl9S4=Vn!qSvg3Z&I=DB_B86ZCCzw%2Uj!GP}P6WA@r?{Io$T!@RZs zCD=-jfr=;pgeyvgS#tT+1t;W{`^&E`SdxcZOSv&ekq8z@*e?ArhV^>``H_VIt|Os8tU9AAsfYab zdRH~~znL=&*tdt%)>WO_x`noIl5UO;-Ha=`a`F55k*BkodpW{M1;BnZGqiB0u^E0D zU;fMu^wFeO>UQR`G+qDL zv9j@BvUS_ntUs;m`i;~Nu;I@dI$F?`~AE0(#rw*iqbWmlyakqEUU6N;Kl$9?0H;Tq}F{qtf zn^xNCH~S)%efw3Z`mB(lxVQ;%*OG&wOq&HX$i+ijpP^vRme6C5>2*bD-m;3O&q=RO z8rX@XV3wt@!VmkSemJ%;pJF);mEQ2rKHxOP3BUL42N(!b18w}?j)si{;=~1{OhtfhMVtHk~o3B_v+62%u?ka+|j@4z0#76_vCUkaUa*< zD83=~_6_8`%VXEZ?Usu3!aTjL*L8iv32q;1J`km_A+BDZUi`28$bu~SzMildNz`ZX&vTtj?*^i-G1d_4+0dK2 z@CwVu7KU(U4{hD;{X6C#_?}OD&>Svq%4HiilSt{rfFEE+741#uE#fY<*=rk$#2=;M z1gE4E#7=vYL7LEq&7z{%&M$5WhZb`@EOQf#_lw(n^rbpoRPXpt7XbJ$U_R!YRP$-Y zZvEHJr%5i8#%s#BTGI@~08ne=Z7!657yJB(LmT?ZdX9r->&7rS&tq@rhI26@$Qpr}XsQARdfAu9^ z=$ind%|eB&-DOPMefJ_E?n0DnMRXP(r;RPXIB(fF1{@;?2j^p(G0NAWm(s>ZH_*mm z6!u0R`>`LNF`4^0W$Z$J|A6gbpKF7Y8Qyuf`dCZ8n&G#OQ{3TC+LMpJvLu*yJFv-Ab{-yThigxdnv!z69wODxMsdI{0nnb}Xa;bgyR~ zCI+5*8^JV*g4q0L(ID}Ey=zBXh#^)P&{8ZjLTqVS`uqt`Cda&%L@=N+OhY#k2mhlP z_~9dWWyD}REzvv_4uHZZ7=K_V z$R@rLJXq|KeG{`Bn^Bz8!1WS%ahgXc%|`FW6Ax|J!_9gl)LV!CFlXU0G>U(I*vD<& z6VC)hdgxq;bkWri$s076&1Q0BdMF)9W8dBQE<&yL>4TZU_Xni?165c{z;InSAq!6; zZ|ZN9C3IjVUD5yW&)S++HhhQobqA4pqxl_yQY8mx!IM*T9>(9OH#>L3(9cs9kiOS` z+Q3w>b6m}7ZhViv(H%=j!HW5~A$mSVJ00p;@*Oo@{&DD5UFv|VAw1;c@S5$>M4zG2 z<^f~qu)2Iz=q5`t14D3t7AKzO8DXzXw#ed5B(5H~ALYh2&+MH)zWJcuq|j{`sb4E( zu;Qexol#$n+|)Vb1IrXG-f&JQSeRyz&6OqXwRih40G{27RCSInI*0!(d5t%t{okchpc>Y=q7E}z~ANeQsN=k98KV~Ju=b1@z2FZ&Hk{x#Gay}&=8>n(!Iqwy8GmElnyTWqR{ zoeD$dzc}y~f6{4!7A7z0;KdSuUU|6Bo5;Dme)mny@unzkiRpUJ+mmjZAl; zpk4kq`H!Z;BF=wwaj*`}`k;_UcXd%dPcokkw$G-LV*7l$q|83&mXz{|yY1kd7Rip` zXaDM1a-{PvXG>M+u{{DMiHl3}PUI)=ThY&4!jEF!3`8)9VtO9LuX;vu>jh#$J*#E6 zB3GDP_uYl|jKol~sl*LTrb|k;gbA?S;w@qAvTG7)rB3bDcxP39+{Qyx4Ohr#AdqFC z))2hy`V#zNgX0$sR`bWx?%p~p1;kr5Z)k~UQxY|w5_t>mk-UQH-esddBftbyXd)Tj zbXt#~2VoNi`qxx~5rc1PDBn0$@&mq^iKceR&DpdP)3B)ULvmu*Yhb7K4?R^-!Gski zmegzwWcl>0o zw!{^y{L~HAgH}Xx*9Z2kFssdt3h3tE8mg@f-MEXErHinTkd58eAAfN%We;9Kogzev z3;3Yw)AeWMcxNfuA8SOJ(@%&jN=!pF*b?6QMtJeA6Lp55A~NV>`QPTi;gQ^rVF0Ip zhGt(xf9j<|y-boirI~Oc?Mj?X6^o*?&P3~L8D_f-ex0(Ii&Hkeu07AG_h{+htZTT? z8;_4$LTY&hI}b*oew|1xQ7NaoOd?&=7;}abFqwTK-0~w7VublNC?3V3^!Qfx-_w{E zmP1X%NM6V{xWR%Sm$>!+`B35pIwN03Kayn}+VGwofu-xx@Q@9tz35OchPQ4AlQSfo zxHdODXgjN6Y}D;{0}f*h>;z%q-%$mi2MtaLodTcohPnfe-Ujk&F4fHN1S8*p48r zWQ_HT<<4vR-6tr}$fuq6nf+e@Ty?zDr^l;~Q_kxb>onU;KiHXxmFh}?v-ua~uk+V7 zwj5lk4Y#>~rG;^)_9JvwxM*xUa^015yYoPmqZ#St{cTqE08)!H zM@Ro=tuF64j_%vvd`uVZU;3Z6A7CV}MUmmPxpRxn7|G9? z#{XP?2K}>;ux)A1%>v;=1L2*pWN>a$I!8?6W?wQ_bDIS zr{PeFl^qlE|&#Hx1&h~*|e6OD|#cZoqoTu z(pM+L>>nNh1g%hd-tkkZlYaPpSfLJ$w2F3i1iPbwm()M)_J^3i2GZcX&sfhAF38L~ z;$7+M$oVxbsUsTZocarCd}0F|g-1B7@AS9jlmJ>5N>)o0f3>LPSF45=pOQb= zo?zfOv^rba<9o+Oz40^FBDQIJ-mMjjMQ9p1A9TshN%?j;-$$fY^-fhET{k~fO`!m> z$M~r=MSjUexQkuVF25~~ndtU+vp5bsY&w_$g)E(U6F$vCVXybu)?$+wt9IP-sLORP zHRrR`4b*^UQZXncM?MKZ5_!|kHvJPda?T43Dlux|JyW&+pC{dA;N#Qi2e{ z!FU_5_DPz2tg9W^Zt1u2#5Dc3%=n+uPyFiBFW*aUlwSSGPn>?*&pY4_f3_FgcDWLn zj0K5#O+0e#&4&js;{5IVTH<%+H5@Rj?2;dz_v40r8)x*o8cVtK$Gd1vi3nn&=Bvf} ze%{Jo1nr%YY43Qo=eAiZ8AkF#^ieGpHvTI+txso5iZL5y3dzo|aO7c@8)2lItY&Ae zr%3r2RxxE*z~)-yg^#sD@B<7OdLmM+(xqhtbkAEXA&XJ2gWl&22d2ydot)xB=fgKT z4WFR$=KM^BjkzZjT9Ec?@8$1Gg6Lgrak0HyVa9xKqzZTJZrN4Y-KFmAuxMs|#maW| zk41_=c?gGAghS7_1da*eFLcwc41HmKb_&G4<`Gdt{EPx>ZsKRWX!(sh4y!L|+;LQW z|Hd678s2pDV{rh!3h8eIa=1sEUWN9z*#0sntK`OzjXF`#yPlk;%Zv!x+co) zzdnZ#)EjT=?>=ZVMLsd=%NsCuE7Vd3RQlLW!->h+4J+|14VR}I4rLm?w?o5%5586R z7hjo;+~jLrO}jLPWxtY%)7h`S$fzI+&y&tkXP+*zRys$ceSg|TtP&vC!gmD}-oYo= zW`>#+?4m_uh85Js*6hw)EB*nm#PO$T$GP~U6C;T}Wmt!W%c(64^~H#yr@cMj+yVl{ zP6#BI8&6xg+R6oofD(e2M#ooqCw=iLYrRquh7(RB@cvM&STsM69k>V!4gn?^i1>5R zDy;7|&}{#3w;PR!_DRjnz@= zao^rJ&)FXn1DfAfBrw(q1-Bg@|t!iKY2$6=bHNpno^3>WhMI2R3$dlS&cBGX z3^iS%-($OahMKmjmDsLcq1Z5B;y$op{ljg`hOQk=?AK_-h{?AZ{6#=e)E@3o9q>0p zoYkl=iGqi(ypVT(&^i38DRa2}ly~Z#PL9rS`;!CzD=kbPC34Carn8m`g}yxf8vQN* zz2;f_{tj^cz4lALKkw1`>8?iq&$|j;-MOm)uB*$_U5(Ck_1e{4kIL8a45L$pKj!~A zGDQ#gLz9pvi3ab~9-+2}Jg*pB=erIM+7Qkqm{ih}Qgxw1>T0(%Lr;@JoY@d<^ku5P z7=7?>-x1*9fnTTbFsd8iiVQ5L%wo5y(p))5*6sm4FV*n1mC#1i*2b=ZqZ+EJpeRZM zH#i%(vMk_+r-AF80dD?`PM8yyUU!KB_cgepE!LS-`#DlA{Y8L{JAakN#&~; zl3aoVi&a|d^I%qRCqicRNsADj@R7)_wa>f#Q#QRgkaA8*KB{@)VQ&8HJop2mmdT!SBHnJiY87a z15{vYj|^HYkt-0YbFl?0l~sbKY}yy|)*cjaZ4VVZ=q3~WB9%d>dyoZv@|-MCIjv=7 zd>$--$j|h1QNh*l_Pr-fh~HhAMR{R@>=n&T27Uk#7JPEJpeq$SaO)`*s;w$qC|X9tiBgPIOCyS&UvDqc>`XG#$WLsC7i{l zrRy^ie}UZ4;pMHMwJmi}`>zG5_H*TadcdyGqb=Mdr)LQTVIRau!1NzSYGYd8EvMW=npuF8&nds~|koygTf;P>9QFYXucyHQ`;mS}$5`Wuup&7!Kr<*P{~ zwbxa>7r)nwAo(wIccqTy<*zNf)IPk7Eq|~g^h6u)zsdV&^*(g-1yr}+R=VHBpR-_P zuHU`KD6=KtlN=CeZwh&k$kQ(pdE3P4iGs3LM=_NX#q#+)5a6Y3yDIF;cqgK$YBteS zC!1(0pGCCZKgkeH@l_jtk)~VS6`lA?@mZn7GwM3Fy-%p=ah@EL1w)x1JUq&ShSFl6 zZo|h=hSmNMusNmAYYpWAmG_6@s@z+$fOp1U`pn`#)yW=;%4ZFwq9rpFuU}>y57c!U z2mWOaF7GM~-BwQ<(tS`bFoH$n7y9-zDJc~MnnvSqdl%^%;6fLtXID z$b+~>zi0wX&fYvX<`g%UW z`Yk_mtI}Kg3eX;(L-;=$e<+=TXB*!Iw5nzU{g(edSS!>;7S`v@%>eCP^wTuXzqq7p zm~$YS!CV+T6!RdM^^0K6=M$L!+S|dba)P;t&tm!(%&H=5&R{+Tv#MsptUB37L?8_Q&BE`KI`O+duny+mJ9$4Zh&ZC*M zbv7COG>FV~CPuSwU*X%2i&eFh#k*JiaazI~4heB98avZM=?{gbKlH}f?oN5emKOW@ z!O}HW z+>XM+pe&=$)6~$7?HhCU?FS*dkHZSJSnE{3<^k0}gVm-XkBv@hf558}c=?qJ1s@4v z7Yf1%5up@Vo7z8Go_DA#@RVQRDHR|iW@v7iSnIYU_^Z>RH|t0T^bOtkB?ZFepN4My zCl8^UU$L*)iT=ui?CS+>$l*+RY*$Ilx0OyBovA7e$LlhBvJOaAC1^M_M z*fb1r%Q-II!J;splbI#O-kt8(>x&jJBGeq2;r%U}`@+nym)-sTpT5t`4@dkCM#NR$ z&z>+{8WH!*nCxx-l=!q~DJNJ=sF>=#O&}AeMB0dS0Q}PID4Q<3ow(a>Q$Ov*y~Hoj zBe4|)A54JAT|{Zv@8W_b6sZ3u56|g=tU|2~g{V};;aMm;FizllYR}&3_M23z57lGp z=x4s4YKi+@?O&h*+&x=deS?gXS#l*z5R=>Oc}37O_C~6T3#nw2iO+zQY%rqVf2$Ru-OCGpsi%G-++HjKx#?adNCj2n z&KokEmahL})jCl1zo(~t!i&AK@F+OT*wU{WdwWac&bKnP-Teck)Jl*4AXPqwRu0s| zx4ItHtW6=-1_p)^yt{$<1MG<3rQ^UaiLNsEeT(=c_z@Iy45K&6>+;Fj5X=T2)4&s> z;%?#Tv0Hcoya%6-|BplTwTHBMKwmnP{9YAmGTo|qcs_5!}88B=Nn2W!I3qJ6-5?+HU7C`dr_<+G;cW`=eCNbwt5|5 zG8R!;%uyRT3f4U8Zn{x>Tu5V=#L<6>gJ>_(B#`W@goleiD#Gk_gSEB40Iok+P3$e^ z$?iaAyOYyZ`^q4``2C{T<}HmoV2S5auI>TSix&T@Ov1vLhma_<_~mogmazsShz0Pn$Pd#sli+#7{I#%A-!-gu*TKBRMT#w4*#TN<|)HuN#?IrtUx zH12HGBz?cIamNGgS*K-*X2dBpTF<2JVuqH*HtlNM{zbQJ?B8s4A$bWC-HJ`OD2`nR z#s<-wZwlgy6FzOaXkvKJlc!@7Z*`viNh}ew+8XIHblY$FOIUi^zDX|FA8Saut$Jl- z`E!~fk#+A!6W?o$;IOf*=kHVx+RVL-p}D%#HC+Bm<MIyRfsO`hd07gVsa`Js&Oq=M8&R5#dhV6cg{2%7xU-QD|Mkh*O`=VK&7- zu8O}TrAxC=@H+dmw{u2E{LMV29sVBf2mTs%IsBDrIuIS0*Xvh4{zg9H@W(GYn{(G? zY5axV{h##?f8h@JTT=WF{49M z-twb@Ly)#jF&;Nxu2+3Vr`c;-V)FD3=bD1~tGdq3mG4KMm_T3?#Qq0ncl_N5vVHz8 zRE;uxU&Xv5K&-sru`sif(;x%p^B~RTTbgai0GXTu{Rm|#{wZ-SG+PXT6g7=n-w#Y* za~R5WV&IZvNgHugCBapRyo=ncR=qkzS zpI~I})4_j72L58zuE@+!*8fw0{}R_S`yak>4`m{+#}}u`e?IadNB^SG%9eQkA`D^B z249diYYwDD-jg|`?Ck3oEDVQMYC;u-L#sd|M?|?ec9C|W>3Z4*rN0=yGj#NBnb?Vh z$zwZ>D;T9lQ-qg%NpARnwc#PFp~oPNpbzq^pU-o^`CNFf*K|-cR|<^yFpy(@{qlm; znC@$Z=pbbs;7b~^I=c<|{~Mk2E;kT@vp(2nqn&HU3?RChwnI%XIKg)#UnKRKZsfb! zXJ;$?ki2G*#mVBxEKF61nb`w*XY2FIda}e6oPMa%mh9C~5M^sw-Mp`I*`)SSs0{nQ zJ=~|=l`@;Ib&sj+H}Xe?<)^)nFW4rkN`9;dp0q1RP{=#! z%Pnnw_=hie^FN%1-~}!Vz_1Qry)exs241)3eD2TQffSjwRHKJE=ehTsBB>Qq3Urc|;zCU}qelc|jaYGIg z@y`$JT~w!r&)gFW!Ss_f$0o^~_JFm%4X+Fv>}PQZg0SJolyGo)+*6>2cpg_`xsLbJ zEURaogv_Mny^b3(V#<`|Rmb(5GG)pLHV^{n!IP06eWJ|;5AeVdtcISE_{yQJtcGEn zs*?o=;-F5`ub42MTZ+ZWJ+uQmts8@Y&h-D%fFy!I+u>S2QCzVz0VRgdW;!_i;I4%N zS>@Pq)hcD&VFbza1CHrKG-9^X#7=P3Yxo4}c$c&*&ZN`8Y9xcEYPRsCDU-reD>9=6Ug?+;_I6){IBhpqGQ<69m)nkvzUxnbh@+{ z{5``lf#l1U@1+p2o&F`}X*3Ml=+Knq{9v-Sv^4I#aM~3_8$Cbz;+0{DQ@J=9!bi3k zV*{R!jW~9riE+76V$k-xK+fd;+{m|LdRf(+)43!_DZHN-*HBSh^W`9LTC~8CfTO46 ztUEAo_){VY+?VZ;7`+Z1&^4jQ&H@dH>KBpuO zx~p={+oOlP22{^Es73-6`B4Ds-vf3J)Kmc#dvbR`bpYcOQjS-y*<3YbUFeA=nf1}I z@>m}IC%y+(3hI3TxFlfx^kEsSq*3xd{O#ohy;I{PY6O^JJ}sxtNVzPHf7J?n3R=?* zJg5eiKH-B;1GzNdFuJU2WZO}Z_*(51WHu8ycU(A)jO&I%M@~|%GlIasZSen-Wt$$M z=0OH`xh`9B)J%7Kw7RYKyA9LrEhyG%AK#r0VvmlZD()dSp0nNP!Yl2shfBDZ25rSwNs%qB|`3UI1Lsdgw zOS8~wtut*)2y^IfC^$OJ&uI*l(x*3;{)~<3Z%)vk3Bu(*-MS#z=ij8}zSN}B#Gq0Z z$)fSK$^c|1Qd_w52%25$vwb$r9EuKdkQ%XCy2DQsJsN)QdOX7@>-#$V5L(uOVsr_~ znjl$++4hwrlYBS+xj~EIZusYuf#9GZ3z}2Ag{A`xUCsEO=^h=qx|(T?>hZ2WWsQH| zu4kH%$n_A}ldOumhQG;K_3xm57S*)AiBvxZoof+Tj#Te!dOeqkuaeXpt3}T6(>=6n z4+7c`|CoXHTWM%rpC%We)3lj>fB%7iY=yGB17LyxxFidJ2MYsqWdYEk@3d50>(8X= zX?lKQ-V-pR~EB-sz{@^wZXhgI_;P zKfRrP+K_&FDgE@<^wXmB(_`tU`*~tp@|BBn&r^1{DBJjx*AjEreo1ckP5Xm8-2UJ> z77<&dXMOON$c3JlBfep&&gYYR02gZeU-^{&rV6VP=W(as_R;YTmGQMz@y(4p@~59r z8DE#&hzPBUzdw4&Kj2RyS9(l4XmtGL(L+{^E_;7^UR8WUYAJt4$DgNCOKL&zyf*c) zG=MtOb+m3(2?ANjxt*irWVR9e@peSp=)^fCbeyb=e}ev26@QJ6L$U88lq$>CG}NL_ z_K-SRX*!N+kW5wS0v{g$fAx8Ei_*Q(Ab+h7vMf1eKzb9w4eC*fP91vWh+QK_Aev}D zm-egTucUt5wD!u$(Zu(;#clocQ-N}{&D)Jx>tkH~-1`T|R->~!&D8(Z}+k- zM+>E*iHGd4qP*3?ceSGLQsT!o&wE+#tDF0BAs(c_GSsMh@HSQtdQHng?Uc${J8}xA zT}SLTS8q-s?HmfxlWU`iQF|9y_Wu4Ogzhs1?3fJBVHn~3x*~9K$0Nc;eMwaoF2-1D z9A4OMhYvZdqswR00vZ^_Q$4NcSvzxbeK=kNj#NH_4gtrFeGHC+M*47Yi()4@{=GkN z6t;&$D|IapWZk;>6>yw00xhvRPR~T#WTS&i|27MZoxOLDj>`l_{NeuvbU+R_`~fk) z-+l}~6x)Cexoc8{gc1(Nc1|`c3x||atnM`0roiT zpMsqUTO{jZ*3!2a?zu}U6K6=^nK+mw1SrJ9KK%=#5LfH@UKxLxiD~olT`q)VUM^)` zzFxWb9XBuMQznW9Ky?+a6MSFoe}8~af}vm5d$O5D;xARjH--Iq`A&4u<|*ty@h9Y0 z#<_<4rJ-w;gZl@_&mHzr5P$iwW=#%~b zFm~9LJdDvpnMhQtpKS!dGszs47u(-VFzL{>&m5upm@_WMESwtRjsFn%XDwChpnJ~g zWnYY*6D|94^qdRJc8#8MNm*NE;xtIG!ANj3A_kdrG6FdqQ999O(?=L1Vopon%=#sK z<`wNiB2bHY!+`0l#67~im!oC*yTgJUokkkoTqG$vggAkc2<7)zvuBwb}f~1Qf z>4r+KD~ZHf9a%-TXu=6;Md1YB)sDVD%BRTc$O~Cn|5gTMT^Sv;irb~8AYBoz)$tb) za7hH*rcibKU7kPC)uLQg^{yn%Pxiz>&OTv(vhnsQ=TFJ;{JCTlW{YK^*ixK9S~#?7 zj;We+Vae#KIhSZLWy%<8Se_-CH}^IB>COina!xVfJchsER6&FDDQ1#EOBfAwL>@?E zeNUc2cToQHqa_z!rcNY*`?>s$>5>Xrl$cI;-mP>NP{1KSEftE93ZW3DW*46#fzU-P zhBKYKIDNF@n_4sw?J~u1%xngTDdl4)6ME7g@OcNSOD7hB8c2q~tm1CBbCwm82w-T9 zcLbVUS{P`Vlx1)y;>P=%M{5Cxc9?2jon=sKXD4Y%E<$vsXH(|~&97~4evL*?aYmA* zjlt}Z{XSVL)b6Vd2Xm>`7l6n(?GN~Ujs5;-rUMqgKKt7JFS06{{^yPSoyISTSYGgJ zD|sO$Gxme>f}hyilT=?TB6hIQ>?7?PCN)si&g?5w@bVn9vQ;=E8||J#3rZ0*Uaf8VMPSbtn-rRj*IPfLlgv*x`35^@-;L3;Z=Wkt#ZuPkhHoRU%VMJ< z6Y;3|382Q|e9lS$WquOpQ>V+p5cuJDx3qa4K1L0Ga5zq2^VxXi@~n+Q?wCX{oTeWNq<&Sh4~lIQ!sehXLn@EZ-Ms%o7-KOQ_%^XFUQXd4>y zz~21Rm`Y(VC?y9Yep>d<54E;e{6ftD~F0;rNlNerk9B1OXNLg<#xhZ-q!!pu)wHYdoJf%n44Tt z2gvWS^K7!n6&fnHdyh=!i)K7x*xSS}3-j&E4)1h+Y3Y)_Bg#5)r=#y6MKy>&uMF}> z6>AI?L)*MP_{s5m;O5Kbckj4PEvBCAEPCyY3hnJF-)CNl-bp4rtD zmV@pLgORgbBx%GEjdQVGV<`q6{PUOvip( z#|dYJUJ}Q0_x&>REM9OTT*4 zm|ytjTet{bUWc|-)w9>mERZdg3wd{rX!tNy;KyjNL|36r#ddH$@?`2q%h!c&yn%-Z zN^sWt&D-zm=OLuVy%xmmB&s7q3hBt8b*Co!6w!XDX{Fdkv2IP0^r0sR>Y|l!GdKvwr@cX1Vs(~98Xzeu|g==gDIZ} z5d)FfbGz87`~9;$eBoMZ?&;UGu$@G~_df1a^S+KX6(7C9dy&Z+#Wx*) z%{!ULEP>`tS2{SRj&qVFdr5flPv>V#S*VjQ1kUs3aD% zzehn1^ypGUUmBtBR#;JGOl4c5aA{#azSFV{JS!3G-Fhxb33PljreBfh9M2nenmbiQ zil;uuS+a}Z(x=B==ZWL5^wVKPbC-wLAUs@PY76N4%N~{y;q$v(MuecIpFEaDZbrML z2uCfX|FoNan?SmYWD43=6&bwf=`Cp^TO#lKuK8c2o1Y_EvIC!F@H+t8_3*-i>>jk; z_R8sDVS!)Kx>2$Q_;a77O1L2Yjl`eB_GXUyJO7EJ{=L@(l(Js}S*iL;*RM`n3KUqIyO~}0OPH| zj+(a5lR07bM09)YyT-GVZ|Wy-$_sXupi}Q-_iGK}=j0dE6dcAc-4aza+bhp#cG8_4 zY1S=LuX-{YsoDU0?~u384Bl>00Gq4cybx?2%a4Y~FLExh{nf_x4wbb+3c)MrC=yTZc-K6MoX-Py3@a_WJANC)v~R zbI32hHh#`}A{#&25PD1Dp!WEA>y38!dA;p?!_T5u9e!9{o7{n+MBXV^fu9?1cKG23 z;b-$HY5WvB{A{Xr_|ex6_}SyY&iIjj=3>_Z?$ZiSD3KDy#&>amrNjH7h_YqXh>+lY zMm_WHJF1;DJJuxw=x+TJ6;3_`;&eX1qW!Jsgx?2@!xw&T=gz%=Vrt^wRkx|H2#el+ zDsR3VM6}aUwtq+eXzpKv>K!%v5za0G;OmCAE|f;W$(6)8B|lDnDVh{+l;+dq+mfXm zJ$ZV`sn}Dr>H296dAykNH7e0a@w8GD?@w@Cy*AeME_1;MZ_Jyi4oM4QGfRqcW*%>> z@2#AcV_`;;R8C@1ohj0Kn*yp96x* zWBcK^)U8#aC#y2aAs`qntV$IL)c(y^)236n9QCwCa?yqWkGcNi>&(#pn=1T z`aHpH|D4!U;Bm|ty6unHezn}j~m?ekdwn@%jxQ$8(#vTeEUw3 zGvcs0A1eFQl;ssgx;y2!71|uSH02MB>1vDa+m~de+H)ONs`GUS9}zd$w^B`sU&9SL zldYXXugPzt`5HF2${H?9m8i`Ar8`Si-4UHe=PVh=bvHUczhSLEHbBAjC{!J;D<_@( zS|-!P#9iU?b<>96&x#CLkISJ)Wb69K;%z5J2R&z!`S2-K@m_^K_6H05tI@-4{XDhZ zKE?K{ju?v%?*y(B#kx--poPPKK9kXhu|oKtlvcnnPV@-PmAS*8zM9`Ep`G{CFu|*X z`3*+`i*_kVRmj%PX-Zwcz+l%*VgL6p#z#DQy*O*I2vVvEFjbhV4G-CcsiKE(^)h6J z2W{2w@Zhi$^rFlR^^rK)ZENzURL1Kd;?GYIGxRt6#iA-P!^j8;o0VEK5}y%RDJnpd z9lV6o|9mML*_P|vj@LI;Y&t3=rDk)9BHy z^}s*>NV<>Z;kFfB6|?#rZwmdQ>r=q?dkY1wENAlnsz^cP_}T`h_aDrEz1-7I6sPhQ zG(s)C~8zzBVr6IDnf!N zpn(L)I1EO_)fIMS6?b*lRdA7uu$pkcC?uc);x4GDXBZR^S8i(l_pR=8=FBAFvVQ;f zKR=J=oHM6SbyanBb#--hHIJjpTHoZp8j}ppZx?_>HAK(DEM5=M>t#$;yUpE!v2b>{ z>o;R(F%jIRq~w!4QPB3aOkUn8gzmL+!n_5)aIPYBgvUZR4SxKwq!GQ;Bd|f6#nezhy-{|~_#wh1c8;(%x8F2w~ejrvV zOuZef0@23=5iu#f`md%96f zZ00mc=ypG(argu^Kfnvl4_5ZI<_FKCe$1b0vMF;a!DQ6@;H$H3^8>a7#Fo|^lG|Ww zs5))luD)JjO>*dg``I`a#-mfd91HZo;efwmXWN4CDRiw!7p7Zb|Bdm(q6Qn`2AT z=NnYR6_VUa5*J8#a3mV;wMQc+zAb)bH5^N!;SyyH9xhotMm5}JNevo~9J&M?+ShhP zOtx&7&t9GeO!6E#+lpYH)pF;Rm{6e>D4Q*==aTk1z7`)Y#D}sIYXNRT%^3F%J5|~m z^O1P~mE+rP&K%bRCko5SnEgCHVLwm;am_d!;PVqqy>ZN_itDvl;P}a12TiYvuuqkK zFYWRMlFcx&s@_3xvOe|2pY83E3ABuS=_(aEvnzwe2}xm*aIUJsYt>-(T9HIxTLr8m zdhO(h8d6!qw;Rot2WsQ-3x^s+_9mp=MgeFK5H?rR!|@Pi5>LMW^quhis!EgZCRcV4 zRAajA{#WdLUkW(J4v}=sP^Ee?0`+|vjd7XH zz_{V-6yq>oK#CfI4kYv}0^>%GQ;fq4GH%0F7UNh7j9Y(=VjLf%823$!hKvie#oXXy zgrw60+D>~wO$L2>NEnnd{j?c0Xuh36JIJ6Vkby{LKle@3^(YEsU>pcuxP}DJb(Y~1 z()_BT`B(RX=F(Eqtmk(^_SQZiyQoSzA6XQHZ|SQD=VKJ%-zPRCoPM8U#`)AXjEeZg zc)1Fr%ZP}4Xka?y~P#>^iWD86%We>k;YJ1DXJcq&Q4O$axRso#Ky z4#~fO`EpAXT81BDLO7~4X(bA%pVIgfC-5??lwu8+8Ay`;!~!iO0SV@x38GTD1l*Dn z>jZ=^a69&IxWxkNFDU;otG-WcA|wTL_mV?Rv1)^Xc|A9(sWYYA+YWdGWlz9#hG`C~ z*v0*RUADuUKXIV@$aco6slB)EZJ*PIl@dR=yL{*F@`<~}c3L#EQ7aBim72~m&K(QO193Bev-jL}rnwEP^?V(>Z_zU66>J{O0Gb>=>L z3=uBSx1lsSCv$sgE9yzE#uZTgr%XIsA~~`hvyr;44&i1wnV&eOzKJ40Z@asGBLa|) zLkiqk+ue>EjuZWgX?ROFgGP+3VU?y{j9G;4pe?(1G(&v-WVQ1-U-U_rquM@e~G$p-y_Zh>0Y3LU<)i30Ysp zm;KkpH>ZEA|GJ#!=Jq=mQR)tq#J`n}n$f zrq7?SBZmH*5Sr1bcZ z%5E<4U6<2;w$_yj@7cYV!PwB=v)^JN`=l{m8{UKWES|@Dp&z7c@0qKT-m^{uC)pUF zVVsHg?25JxT2TgsV3y4tWj7tpAp4>KZgl8>{1;n$K4$m5>z)uvmbU3ra-$VcZmES{A!?Tt$ zr#S|88s}s#){085M)>Z=lFR9u=>{g1}dH6PF18KLzGQQ)tu#DHa617uq!1*?(T>VdDXtA(#BThM`Uv{-=&@f7@ zrpSmb@-sp69-|+&l4Fz|cZ>9XS>JjW@}YPSJB0#rojJ(V@_pal>R=@o*7J7N>GeD$ zX2FsOOb&E;x3QFay328zI*B^I8H;(MN%;%*_eWx``gzxeNGoZ|iEyigbSS;e0S7cXIPiSjXg z$v6gSy6%Zee{!#_#sL#TeMa9yZvRcG?yUUO(tB~BT{;f5OE1MtOgz6-LH2WnK3WmN zDcU91C`-?Od$L$rZvOz>3{Eu`tJj^(*N`u&9)Ew_3`#ei!)u;_1O!vJZ z&>O`-;a{G{J;OW=@j-S%H|+;lXCn0-c*f># zO&yjyGy)B=CY2aY075+W(Iv+|PM0$mCx_LX;5S6$mucd6v-El(DERdNesahkeB4~> zmiUt7cqan`(-~2h&O0}7L{Bj;F>yrtH5b-z&sO|N4b3JRZb4(7puuC2q<-`Kr8Kkt zTxg#R(E#KR8X=*|=WUmmHeU`ZA=x1yY~wSVoHhQonWn zqgj6+R*NIYBC1`8YLx^S1I+qx{#TN2|Ii}Vr;ZRs@5Jev@1PcP)`WVcZftNdD`{*j zMs=q2V$#hA`4HhE2T`BlEG)$FjdCIZ0Z!~hgb`q_urOCQP0AOQ@9D|cqjY#H`FfC5 zMrjPS0P%fmyO^K8eA(&mK>EQ_p?^XQW)+-y8poUwbi(QfogZpC?cew3_gCxhuf+Ey z&MGjk7w^t@m*Y(8wxS%6M#inv$e7bOR5L5Gnt!kw%+LQ8#n7lnd;QF7RC0l?{~z_s zY0+dQy@eYqp(Epe+wB&E?MP@r0ceFaC{4qbEDT8;C zhMP!(>7P#u{tQa40wo4-E;FUxhp-iBsYH%hXtdUn4>2NhV0elQt!P|9oWfn;InCeb z14E;ja0c{0{AQT`3&ZrcJSqKW0Ds}%E%-%Y_$OMN6uwmgNdy)EO zFzf%dmd_5X6^Bw|u&fEDO4dDO3DlMU@S{`?{Z_LNnF5d3L)Tg^4^& z|Ha3)?0&moTjB#`_uIhien~%{SdLG^-X4&Cf11g6`Cj^OgHbcg348lT=(lG88u4m? z*xrIDz#{dV@NX!gpqEef^ z5qz%9gpvp|p^ObK^asa888l(ikBj zem>FJ#MP*3Zi>QdGIU$|bD_vzqni2*yQeHd8evV@oI&)sfd;*M&Z1FQalZpB#td8NZ#DlWWr4Bw|>~HC0 z%9}{XTp{&$7MC06@AYB+jyCzrRH9hEzF%oEi@$RSKRl!xmnPUHpepo7VYSr#SE+lx zRX1Yy@4 zQe{O3y!>;A2wt8_e_yZrZ@OtE+{KaKW!jI(N)7$v!u&++e-Sh!`-Izg1LA955vmar zWMr_`u&B{+NHvzn+2u_%PUuO>9Ha;9A0l{9i{Lfd(suq_NBQe5>O}9TyLQ_Ua3m_> zd`l*rx2K&4YR{e@!H~sL;esgnHubk%YvJ45BEM}!f8VV6XU(6+iIc_TA9Mxy$L#L~ z$#AO{!bMh#jZh4>@*R^r13PnkUmLv);Uwo!U$t+@No9wRifzD7rNGB(1uhdT$5c-H zNaU&Xx1GOOAgC^B;aKcSMKF-5pYI?lY%gVpd@7v#*y@MUKN_PS(N$+i|B$_5`cs>v zKj!}){a(_KbtiXf#fEWLQqM7ebjpUq&~JLCma>`;5i_-@KqjRwn;u3GOUs`%{$`O9*g=*gI~I?p)ESqBgvS^ij41@Hbl`dQ zhv00*8f|Dncr;kSmaYoDZ8deHH`4y6U;j5s##w({xc=vU{$=%_+Wrvwv6=`L3=(sR zZUf4vF`=EshGYwkGqgVnH2+;%e>$c<0fU+ywwMh8Q9}POK>sgf|1V}ssLqcZLpZ7= z$9Dkg!0X#(%=}!M#|8F$kz(RSU6L%yR8#=BZKWF{e$p(9GUVWJb*9Vt)@;dqkw3@O zhfQr@551K3Jj3?0$xnX^L1X)mzpVWVHUA3D@u!e%%h89YWH^#tI6DRFzPL%_O+JMc zT9x~fVZyqo0o~$src1cMIBS})u@E`_jX7;iJ{lPonm#gTG~547#-Ap}hb-10-CcnF z((z$QQ{%&sEtY;f&_eYl+fNdD|@g^!Yg^jm9I#f0=xphJMoZCt+P!`xJ+V>pybrzpme|-`kLX%^gcz zbeA+E_%PG<3e*1GK*ydT|GwF1;r~(_i+@-D_xQX0SgCGRO0O4gu1_pY5&J9a`sC79 z94RxePlXo`0TPV`4}%*0JzTi@dt@x2{}10I6OB8yDC^_^NWWtmgKM>pNH2niAKkvw zp#89h0|~qCycrkncUXA${`!htrB`wzMP?O4!#mT3%$qdcEREUtLSJ=cc3_yZv)aKF znCR>r!UP-B8O&5=r!h>~9IUT6-du^HoqAe@!e^K7iN&ED7kOh>O|2g1&GuDePP;Yx z$iZx1P4+tk)RnIrKDE77zuClm?RDp?ozk;7>JNUpRpXC=7yQbK22uP;vaRp2 zERv`J-~0YxGOf;Hnyr^LEnnXS760xqFFId&cL=f&m(ZUJ%#=JCc#Two!Km8oK~ zNfm24=Z7=yWS6g0#ohH7-X%WP5x7szaAJqV--;Q z%WaC`s0-1N_yC20Am>8)$ST|H=N@S)$+jDWTM*c8fG~&F+>xKC)Rfg zShITO&mJ=h(C|_><6XjeAtTFSf^XD34`}ZyQXZg3mS*+9y_ovL7A< zZ?%1z&l#C?!a~%A=)6F}jv8Qg?yZXSV$M_Xst(8d)Wg5s9E5s(h;!cQnAuk30Ffc! zNqlFqud>UI_AI#se=jR>;%{0>=iGq%Jy=EU$F;@Xi*nZzceS`{@yH+?AQkJ)+DQKA zIFZE=IqB-m0MmTpalhaJ6i^3BaA!3R=7Qt^G1Qz}nG;(dq?;fYW^J_*?+x4<&zMr? ziu49LmAvwRL;$5867mzl5<$K1g^oSz){qwcXXI@c1nx+^kTifkf`qh-!Z(Mzzua5E`{FgKu!kCVs(cX9tuvDZIE#mOx*BH9LL8A%(f_F4# z^@R;Uw%<6fZo5qCPT0o0)VP zGXuPbj|;3th&{6TA+cw5B0oGI+gw)?mJ1=eCNOUUV3!lvAQKqgp8{As{i7zhK@Gs| zc^BYL4Ar>d{VBjT4+C>I0QL-ly6&*S=-kG&0R(op2@LN~0jwo~ zT`o<4SoSDj$NmXmZB1Z!FZ}myv2)-2rcvQlp8Z+D1`@11`#T%YT%m+X$xmBsur%k# z>=Z6$DHr+2>h>f!f>TDk{!R>*knY6=yXvv-Aj?JHRfR6blDT8rM)X*B;Bh2YJ?5D9 zHXa}=@tuW&UiHkX<-_h+(2sa9?2P>v%nf(oG1LIrJVyBa;sMy}Pe>5>m^C9O%5kr6 zyTGq=OuHQ*nNP%sf?sYlF3DT195j2lWao|RQ) z+{?Bx=*>W*L#1XW0jjjjPAc2or z&0q3RO`NVq=eIljNOU#%k=5MTu$uS2jUp$K8W*dX(@${?eTpr0;SJH%1b>R4CM4_8 z5!4hksD_3s1OgbQd#;4!0$_z3v39nAF%Cb zK50h`9h_~6co(y*BN>Txi$d1Ov`M>4%`Kg_ovaTJ!p6?$ktqP3#xzxp;x9Dr(7&e_ z{~wQL)A(cLlw<%oF!+E>0niW^;GJ@VaI}&U<^A410hv*W)<;_z?I9E6RbI`re0O4h z?TZjRbZ*#vK!qX~9|sc~zKHpgJTL*JkU`Xi_At`e-WbMXiCV1Giw6@wtA zfnTZKkPIv!reD8hiD|mhA-j&VH{je*e5uYql?7!yaZifRo!SUfU`+)Qt_-0C%bA#V zZGUGROK~TTur8A~jwORqi-6A+xH-S*NKH(cNN?WY&kuKN-WUlH#Y|XUf^+{o^sF$u49lrb;At zz{MRvIy3$pcw&z=zWOZTI3oJ|0V!4hKrDtHY`x#E-#Zp7aDpG=OTc>xMz3&QBctyM zC#SFOK#8+8?9=e~3$^e$l2u7Zn+m6@XN7Zw)VD~!wD!hu{$cz6Vf{T;aU4_ENC%(o zd=+%9?VpLRjBN6^Ct|w*mU{amDqg{6s#!PI7+Sjni=+}8@G^>x4SpL9A5l_9ZZ=<4 zIE#ggbDg7k#r|zphg?DF78uzW`;!1#p)yTk+oxNoNk|)r9x>r+^aw!8=WqT_J+{%S zhO7qC9tl6?-W+2T3}8>rv^@NS9)pLB`Q5nwuzVV)Z!^^QzT2>2{`n(R4i2LROVG0I zqmAmV$o!%5R=Ryd(5WA0F}=T>2!&FOr)1H3w%|uY!T)fo%IrG?Jv}TN7ICyM!|k_S zh7`(2!k@pUI^BeHSQInJb$$PgFoZ?Ytbme3W?Ay{EJp_a14yxfS-Jia_JLKg^;rcQ z#@yc;{{CkDz4J)LZjBYGGoe4G>osD0Uq_)@H1 z=BI_uE<2G>dKPXktU|ow7(yk3PXo~JZKmV)t}?+VSI=*P#hDkY``-c zhh8=za5_fmA(J6J7`BMS+JTv|+|JU&(PrQ^?!XOh>JaErOgS(=wB%@{7;3-+!;mgs zp;eA*CHc%ee=z)AFa4dCKdHNFRResRre8)X)?3RwVJ7wninxZVOeww5K-!X(Ncmr= z`%h&3YylcA5aKjkj8?mp5c4+*F@Fr+(&QkZ=ATyT&GP-ON?1b_!4iyFa3-Nynz^w# z%bhq0yE785`6K6{o%->jl4JSY=@dP8y(>cxR0x03l1m|d@(=u?j~|!N6Jz0oNvTx7 z_;9HT%k6oTTgqq0kkgXdsu0B46x$?#zQG)A&;8y2Ux+u68sEX29waU=X z8R}tl9}cAXw)iRtBSzC&BY^x%9DVaeI5>VVTQaxHb2!d0ZIx-+(9ECpqGnc$+0TAJ zwafuKkTB8(oxIu=sgtWqv`#iIkoMwR{gw~O5ZN!Jh(Kl|jt#Lofvw+tDWk^&qSeZd$B71eU=CGF(u25!JmV-X_p4t< z@t3P9Sd@qc>M0+syfUXUpRJswzW5ctP{%@vdUDIqiy;`Afr`mxL*;gjN|Y+fUJ6=J zI0xw+zPM7xPqzQm-w*@_M*-y@l;{n(;&2`n?F%?WCUt`2Wc3RqBxMaQx!lqXpD?^M zJH&so-chbR1o`lAU}jGb!2rjSjz~vWvkHsyI09R2lHsU5FOVMxr)=FM#91UgBtVl! z3(&oJzLlX25At1=zX1TAfGbwy9}bz{<9VQCiIV_VC-O|~4VHbz{lR|#Rm}JyDh6^4 z<33^4wYQ0V(BX0jD)!H&3gt;vNWJ6sK{<7-3=tc zsz0nhzm(7>>Ob1!FYkt=PF_thVgidB(`f@V0AsiRUNOIiuqmM{iD=ZPCH(J!7R3F}`thR{S=OA%cT5|3h-EHG;Srd+`U2Tj5Lw zs>UrJ5^wbo^qnv#?=Z2{_*9KX)brmA4lSno==q$CEtlgG8X)SUhx+9*{?a=_eOzc- zH;5&5)~|C_j;HeY@pl5@CtR!{q7-_F_6aU9Pke_%tu5V&O}vO@ne?cm+zFJBsqhNy zm6-f>HN^%yCHi26wd9gPf!@uL;|$%?1^?=yNgtq|MN&_{w|T)C8uVs=7xKW(8;d>j zlj{ipeGFb-E-QsH@Wm|k#WN9KAk|IEZR*AC_7|e2E(I%*!4J;SLz94epA1#77cR)8 z==)C66(Dos)Oo0l1x0^I*`#+8#Y(bFCs1C4@CIEG| zW1SD{I@<~MNzSjM>wIrtM4dGU8>{nDTb&a*k7jUgAYoA!YH&o>@cLI)4athC-$)Iu zNJ(0#4f$i-p=*KXRQVr-vNfNCDLZH!LAQjkW6U*1)e$M&1uvA5mgDPEOfl5_;RaLA zC-1M;!xzteMxb41B!p`FPFs@hxB&~*Gh}um%af1x1?nZgQq#N)$N+Xvbmn}ujPelH zzc))1A@vUyI4bnP5?bZ>W~&1upjzhv2TtA5#Ut&{^U!5E|5^@=FdSAmiJGze0K7Wp zXTGm2#n8}x{z%Lg)Q{4F8c>wV!YICF7RgGu=b3k6O0$XRcp+o1KJy{zM!YcA%nTug z1@NoDTwV-1;3Eb7s-QLgaI(Kb5T2_@WTJCLwd$Wc$6#zz> zpzSVq&F2a3z%_C1zo2^~q;?bY%v3`5aRkepVH{62RFXdGrngOsH5X8=Us&M#MLntU{9|-CP&a z`6G<~Y&ONtA8FuG{tEDulE2FVM%#C3sDmw)!E3mM(qz=rlT^sRqhc?ZTU5T3zMBNc z)Q`z(G+G8M#YXJw5Be#nX%sR@3wnh$FRRn?#ah!y59C9Yvx>Z77J-_DU#0oP~ik9 z&31=lYC9nSlgP%|{=;>k&)*gs!e={sO8*AyXqfQ9V%dRzFm|OJ%J(2>u)3#Q z7s+=PdiM5fV}6XrxvT+cwpu=w!9ZGxTu`k<%o}SZG@xKWs>1v|;$BO}B^gLb~^p7zco9Z8DqJQQcuyulH z{b`ht2bOBjwK63UBV->d?+MxYJEwPAcJTlwG_-13aoNZ zVKHxP|8()8)8Bxt(`J!=Px*;&pDJ7;zZO&I?)5~NrqHc$Fjze<@`nA-)tLUwgfb8% zBlCQ8iNUARpZ9)a6CJz$>=M?W`Az80JHq<&3avjgwf;ozI%|A7+w5P^pHj}IKd;dG zlixL}KkH24vGk{%G+QlmC00s$F}a}hCow;T{)_+z{V5oQksqS#*HR~-MSrgMiP&x6 z1zt;4rKvyXtW{#yg#Of0mu7BKP=nXkVVfb=F?Ar$zPWpy8{wU9q#fs(W`Utjc#t-h zoaJwQHM}1kxxbik6D`deLT$}Ee~GgrCLV2B1ov%a5`v;EAg*!A>ADRPo(3nU_K(Jf zJ)oEvq|#9+Jd{Ehe<~}5e?DH+Z%hn(NbFZ*jsgB*>&Q*GM&)j0Ptg2xLDVNY^A-2@ zflA$fJ36L*N}3h-(1*GAT(~D6V7nqd%a{baHt9maBIP1nLj5fPbZ6Q5H@_+VWsrY~ zj^tQw-^(x=n5ZfVwN+O-(=%8gnFaVH+y2tX>vNVb zynpx{qpO$20FaS*8IwWFy-=kZ2SK0UwK~eYm`c^fxuu(PXONAUQpXaN6&q@^!Z`!b zvupOW!ov(FGjZm&sKK&Jh4X3N`;b2Oo#0vcVXowW#m#&tlThO3b>~cVv%>i#ZureC zxz2DtgKH61jBf|W^QP_v?s-#jUf?cxC5mz#xpg_dt$@2P5kD1WJ94*X`)cvn0!52* z9JwoVd@J$VXqh+l8@{f^>&Y8q$}l;YT5lC7Uyt^zHs6?x_MFvHjy+Tev;kyvuG`0(Qk`716d#zbI&}Yo=5QZ1%fvFber&!5OccTOL_D^(P zeLjfPyqI^@#hiW`PhQ>p#fUYzQ zMnD`&Vr;FUB9mnStbh>NLg<&^Db~-Gd=)~sYx$yo3Ws`E2=_-mc4dcr#DFDesrF6Ek6~DL=4VuVS?1 zVJgV|sr#`wbdVE|$s5(ZT8rSlKjD#b>EGjdQSbc;H>ux-hJQ0hobJ`(5vM9Rp@GRB zVLdWq64VG!bX&2j#lLc@$UGe$8ZgV)GPPp4fs*sAJjjgmLG< z|F%K>xDgld-?rkgU7%LTF%(7Xpk)B9J6hAe+^O4KsUXOgu^jPb%m>m#Ym14_V&=^y zX55KD%;>tW64;;g`XRU*cTD)K4&#txq!WJV3OB_NY{;i4Uy?@#lHQwWd9Ow*@70Uj z=^sOmY;`bN=v>x6M;5)+FA*-Rxb@t0&1mSaENV%Ox zb3{**ilz7%rx8Ii7pa5okR=qBquY&c4KmH+Lb+~+((JKgye-`vgpLDv%q-KqY z!a#vFG4Z0~5iDdL0K9$$R90ySvl*hWSH(#kzc!(-cpA{RcRLg4CR`ka3(zYW;61e2 z&w~SPJ8>LG$A2!`R4VZr3TnEjew-3Er1;loCCH4B;w()Fs_2Ejk={#2J+g*f(t|H(0ML3*d2kPf( z=}P~|Qk`<(sUt-!r3dw;^i!PZFKRvq2*GM$GA^O}EdAB2bg0&T^-swA7``89y|?K< z_5L6(jq5-4eh=Sk{kH+K&<^_Vxahx?XsdQApc?uw!|UsB>c0=Q{`;gc{Rd|p*uY){ z6(|lo{a8ya7=8=C?lEJ~zxB#Usx*{Z!Kac+muEO`a5bFEl@gRfkP7i&p+iX_I1gEf z{>|VCD-<$9FPaZ({Hg#xdi+Xb{*scLk@vZ|vL?Cszj4f694_HA8-2dlALH&0Ot)LI zQ|AeE#Hu5*7a8AdRxy4VwsBLhh~y+(WN45HC0-dfK@U~2l0?J(jv9%X zKj~EQk(?hs58+oT{@SpL-$Mp0u0&VBq~#bdj_Gajn&uysDm3J~RfQIhMQ?g9|utDUT;W5knV&#bXs= z#0-iQ^I#19tN*QdA_J?b2p`BzF>jV}v-^83apw)-UADw?c>_b8MWG(P4cOfN0S;I2 z_ybm*zSY_P)SKPE z^wjLfW_RcO?7F=<-S^P`nD!O=cTS)%Beyb5`d@b0j~S&iJz2*}eb5fEkC%JuS7HNQ za6G2$dc?wj2QBTI501H*i~WP;M`ItK?WwQv)UOZCFy{uO42$GA=@R`Fo8XN9u;Jlk zI7sXRPaK4DVV}W6c>df%Mp8`611Yt4aTOiZvji-GqqwH=9vo4!Guugd;gIBFLGlOR zWw+;;JzG4J{Eoew3KwHQkIVQ;Ko(M zdi^Q|D__4Vz*VB@0c#Io;`2hjg9Yy9Lopu!Yqb7gJgyqnR~IW-W%^YmuGq~Yc-3lH zReT3nnS}K`9{_8f{@_(y6|9sl*D3NB=vPZ|O%xa~-1!?!w)MOQQs$3?bpj~0y66sE z@gJ0mJ1|%HzRV$CZZRI^_SVU(_u#e8%U~2C=tXwxRvCBT_8n0KPvcH&ptWyn4OA7J zV_%InwPyIL^k)rVYyDYF9fpx|g&qaR({0)q1wM?jV=rKbQYG;YmO~9K2d^?p_&K$U?ejtA=k57sa}(evmH7NWoz2=Y(0gHaWIHzG`n+*JdIGn{IhIKOrtNjH7=xUH zTK3lq{Qhlx&%7Qms$eV@(dwbmgB?cdV6k!)9WOg8F^R^6`=X92K4n5{Wz|A;qurC5 zcczF)dccZBi$8o+LQo*1-@ zXoADR_q0TaashS;D+t^YPeK4U<#!71a{{+k;4&J5xb7Ad27myz3`|ylU#ortT6kEb z9-3+Ukw4AFPdWa!S7$qLE;8yy)f8u0-(~fphiqh>$9nz!QcbeJ#g9WhWY^U|f!^Q7 zKfu3?@WDEgC#B2M zQtN`$rqn8_b(vBd=rrXWYBLOy|CQbf00WfXlt97{sht1mI?)zjc2ei_ zqU(HdLqwf_+R~uTv!m-&>&I3-Gg(hCQPCz^K9IEUg6Mj#j;trEVLg9d){r&{<`Nq- zp&P52qN~vzzs>p4)zq$!AZM#Aabr9Uv+%k`s`0X=hS8Kws6G$Xbcn3x&oTmwe$g#8 zGP0Wc8&i$su5Kb89&8Q$+2VublzKmu`vvVUT4`Z(m%rX%aHAaiuk#8WmE{= z;Yxg-J-8+qU-Mb2uaaG=VrxlDcqSd{i5C2Cnn)a_he*GCHu*ES5o0DFi$R}ex+(n< z7k?SSzJ~Jwv8$)XNUhlu-(trq-wv~g(x2Z!ruF!0>d#}Lc+5dC-ko@SykpuL6hPhu zsML=qe_qWFFm-EbZ_FQH{FQWd2ijs4;6~`GZIiH9KBe2kqDRwtkt5VGA7(JttrCoN zoZmAT>()5>z$6$eL4DCY;tK|2y+2w&eZY$eiYgtuZ^{6M^*g5iS(FOZ>R}1YdQLv- z_dG6 z@#6_eD*pw~; zc0KY4D76)-vyzpv3?%e#dmH>`#+>*FO?mx=RyRjUj_<+M5#2l_%g7Pkyx?uC|M5Tx zQI4XJ89|2qkLRMB_tw>DE3I@@ zO$Vt4``18$>|g89u%gP7SJZ+PjnEZo?RdDYMUSrNtyN$f&W9Akh(pXdFP;_6LE?nUD32~MJUJi@vtIQO(v?jURRSDR>MpG(U5UR<@j+I;xFD8 zO^HXNR&M#mScBU}6`*nHUmMqb!L5xN>eL_OuF|?A)v4nkH916aJqn{1|tPY z6CgTB?5E}eQ(3?0=jE>*st+v-E3BwHfnTWMXGS_49?7zt49_l)b~0>jWjYy%L#K?7 z;a+%ih+u(SY=VWy8WzilYz$4)enAToJB4P8!_Ud7e1xQf%8 zvg1EHrhkMRoby=mS6p)fgX)nOWCQ+h9gE~6Jsnf&BP`48S(;aNJhs&B4h)Hfe%U_u zqHxLt@D7@!&)SKw=|4LM*qX@_*5;gFk1BVlJPkSojcCy8rQCpYDX!=D8Zpk1mddj} zq!*LJYI%ld5=kgGB9K0}*Is6?OSyTJsM%Y1QJa5M287A0bsheGEAN*gt8g(rOXgb- z(g!&fze+abWrZApKR};p{p^9e6hAx41JDd!7zS`>kAP+ESlpu-`JY|(6BsjxU;6%) z*Zm7m`3aXJz*(oVKl8HoJ1YK!M{nR!MEBQ^#b$i*l#%r9_)&5+gq|X6 z3>Cs)a{~VSqiFkoIN0`h>%nxb=6Ire@D@{Fv%t z86FxP3v83~l=+R13bx7l)bQOCi`_A)no#C7( zS9OMY1>St;VIom7S1B%!?<1@ap6&H*&h!0fE-`VAJM$ap3&*sss1MA!=1MO*T5-18 zMc@q#j>U3&Db&a)oGgwOad{!+#rVxpu?4UP2jZ{Ilf6G>c;fye$Bemhv(7Pv6XiU( z0j9i#8+Z33?!Y7U?j!$p*Zh2)r^_Kv>`ts7&QiLof?vl}dDPwm$JGA#ITz8?6&KV7 zqzjR|{+eE{vihE--{6ZH^~K7_FLIoP*9Us{^<;fFwl`Tep5skE)HJx}_0hT2y%b!_ zX~oq-zUKO%h!93pNmD*lxt}l&z`s36)@|YAMna)lW3a?9Q_nF<9?P=yCys#$iINPC z$Hg4bR+TV;AMCf5>U`avS4 z88C#)_PHM*!;H>g9HklptcBt!me;l$+_5>%98>GRGAJj8fx+V7AbH)R1!{QbWD3oUu9;j^Oh)uS7pPs!@j z!ipK^i~R88SYi1<@Kc;)`e$f=+{HR7Xd%mQQ(uSg4t!ib z2#1XR@ELV7dr!NU&52d6!CIuCOv=B%&6%R#b_4u*bo+LUdpadBGJTyv2fx zJAhyWDP={FzHb%*RH=|ygH|UQ@&$k7Lyj*|Mg;1?tHFXmzuW&cCMMVdQ8sAS1V;r! z0dd#dQDK1mD%>J!yqb*=NVws8FsSACs;v`Gqpi`u=a{VxxZKfVI^IqHPq^I$7MW%HOOa5v{NM8htL0mDc~^Q`P!}5ll)H;=a2MNq;Uo ztcXiK4dP^cH%@fG*Z$VnIx@rgJeRH@yL07Q;$;57FlHA)LkoRq3Mq*%UPmwzzgQsG zMe?PMMJ_vKUq}ERdI!Fj@4y7X)8{}khj_9}z#uc9$>fOoU$(w)j5Ft`e)0M)#Tf$T z{3Uomb@LAgqUjyqDek1626v1&25zwiJ(up;rr}wE-l|=(FmI4a(Ph$wIT8@~ssd*li(37z79AFOlFFuRku&_v=I+ z46fA(CK@Sir9oIhkMx&>H)7zC8hKD57;_q}1phk~k(S>| z_5?_me2L_oY`!O@cSLT38YmHllti=&-@`NUq;BpRa>X-#hyJp)PaE4;Qrg#xQ8H** z`6k>^jQ7lr648)Q1)#gn{NqCYJv$Zo#5Fhw`Ux%7(NQr3a)i4sj*4znWYk~X9TmUT z?MLzYiN(21yWmEz1NFcK;T~bKwNz z^I~YjAcv61z-*PD2upd$^p&#dHW?V+$Hg`PPdAXK2n_GIyF8^XV zD*Y`VK-gx8<*~v!ORfn1008S-@gIe|McoRsTj=kg{{>Ug|JYH#NP%fe|37VgAJMJ! z$k;)3tGOR51`)8*|7b9X`iHsH|NBG8!;5VJD$$2!8F3rM3g>uo(lq{H7E$^?xJ9IY zGcI=NA7V;>l~_fy**z)tWxQ$3D)Pjx_XcK26?s`T2(^~8ldz>3by`A>%>o*?P-p9w znaWtof#7zcEv5M*9~^CBmZPUpt$g&O2*{|9KtFSW(9oq`tEMbK1>~c+cxdGrrY)Yq zm$}CaaQ^!~CF8YPZsZ&411ZyQ1Qt`?Wq0XSZFprL`XZ+k_1%edW8MFzwEv9@b!a4x z)w~JXAK`_wRV}_-u#6DLVoWnK+qoXqAlq0Md|*CeGUD|QNLAy;Eve$*)%pZO#jSHd z)a2FaP?b2wgxf2q>^$PmT*c&rM|&{>NWGUWD0Rj~4DsQVd8M%fT?~C2PexMs*OmBH zmpvl4QucM+!st<#)qG-*_H=Cr4Yx-JBfkwU;XorNLR8Mp?!9LBUq%|B;=d3yd? zpw|#g`%%R%K7t$!I$m+m%h5{-(+}Srlf4XWfd*qbqClt5|B2OvyRmJ3SsH&e0~;S2 zG6n@vw}eS`8kB|Plzq9my?k|nx$@yhmf1KDj6(Sa*i@aN#Fg=PyHHys~VfH4=2i+0jHUpH}d-{rxNEduH?cSm)|t z`g5d{;p`vjm@rGJ3o@}1-?nXO7; zdN~iJJMs%4Cv_vb@Kt#pN`$m?E0FSs15l)RT*`O&t{PX>_fkras8{Rtt6E$|{eqkw z{0*Y9hu1*L-aM!*Kr#3TC9y5J8Jjf$+M*IT}By!9;$Lj!JXV)IVXVzxXXB_1?gs zIB(XbNvR0M|KJ9We<_=J@gY*T4!K7VNQFRx%K_JmmLs^@ctidqSl@2}FQWAm&hPqK z^pm4Pwqn3I$`^8nNd#B#!x(3u`a;nPZUNDx7rwPi~rdR3j=PJI}Te8I}TzM=mhK(s~!`PaR8;2e%0L+xbat6K0OZB}k_A{UI$s zGI&p3Eu5`F>aSWZ_<#61@KU!MaEtF$eg<|KQIM#Q3XU$i7@NjlB(_t11DF^LqT(;a`$Tt5E#`)K+2Iv6b<{THF-Yc7X;$cSUwXIlnF z$j7K}QECoK+2tdI{;u@Bvd=mQRsS3EaWT87_%9o`&l1e{O~}X7JRJ8V^0DS`rz;S$^ zYIZY;E+n4|d&o}mY;MtdO15bE6s4ibB=dPqCXC|> z*>a@GboR89nW)K}Lb~veWGee8noO1mlgXzuCG)>%-;R(BJF#j%+R55imP9d!5Q$bB z)HLCjMhJFmAsica6xBJ-$9Q9JS-dmp#pavPFvH7a@xD^ z1_H~RK=kfA@<;aH&C>hto}|QTuYXmK zA0S)QAEsB;ER5A`=tTIHpmT-DWhrbdOaPZU zLHXp>98t^-Y_I%DPXLWM*4@+A-E{M=2_8c+$kFZ^M}XDHQEooa6U)0 zc`W(Q(&3X(E{J7`*7znYfKjg2uje|;ppZz*cq%6PDGP-tnNN=3ZQzMoYg%C401In= zQ24TLKiHqH#{56}J-%to0pv0=KG72_4ozI@a0v=(v&XhCF~REjal{1c>d&kRR)(5j zP5d1vSV&c(KF0cXvhnC#;-!AD&#;6*2&74!jg)6!(xk{#a_KagWszfHcT>ap;~MiL z|6JiB>lChHHlw(_R!=I?F`sYl8sE^$#`Di^qz z(LS=_3f`Dn?i(8@`^I*{ctBcfbp+RH^}zhFa^M$3A@H)9JUqt-)FFWUZDY+%SF(X@ z8=&LRD#R1kOlps`*nhu{m3MlB7be8UUa!3&m)dCsIBpy%CY!qYs0X#f>jL#4@wf7} z1%Al&JKJPC-sk?VT~gJ0bO%oW^y-DE{;H~9;{wXy*Ujzq4cgBoNWTZ>Fk`lW`@4Do zc`mr+vA^p%^+Pjxn2d*k{vM#~gK%YxuCUYf(X~R?$Gm8|>O*d!D+}L~E^VI>ei!wV zqRycn?EBY_uuc5efW9r^D*uiaHt9p?Rnl_AJPh>5gTD1TkCUT<0ff|6Zs{;8LHJ9b7chS5#8%a1&;%eWX%$>u)kX+B#jD`8~?0zF9&YZ0VPW&Hlyr z5FRclu^ZWn4Aw<*z>7lgi3!9<$n|w+v0PU;N68hAGhFoqL-lMgTosCe;)GAQ`?CVX zH!rV?;NK+i9@_m^EoMdYFY)>RihpSmX=VDaem%v;zi8Cf?twDwqA`O!vSqs&(JlMX z)6tkc_}uAX)~J3j`-8oGU!Hst{JIjq$+e1eY9ThM_0eejwp2yqxA}L!0KYw==S}`K zi^LDXOVT$~(@xtB{65Y386T%;;Oydh&>EGSOA3x@w zI{aY}>IOcn#vd8qmh)*b{_vwW`0yJ4%*P*jKLKR;F#ILXA`Z@tuV;ug#Y`{cM z8gZ^N=wKma$ny$kCay+pDGAVpFbJpfB}O_agh7~vf+56$+N>n5&+Jgf(Sy(>dh$Py zEH59Qh(($Ti5W%J3-}vz%44hCphPZN<&*w9E<6bQro#ttv9wdaU!6N9=3Rh->coJ# zllEYzjrU`v?&(g-q*s8(sP#E_`OmSADPN&DA_Uz28Esj{%-p--SEwR>$EQRUO67oQG13E!9gfYCXoQ%vrIl!W4|g`a>7szjzvq z5OK)|`pw$~c$7H{f3UI&&qgib!%!9=$9W6>2%y z*CP{&_i}tYi?TL4rgMF4!s&Ii_1bZdO2!F@4At*Bd+gY365a^hk z7q|mf+3rb5yp!^v`rsk!gR0;k@P*f}GF9beed?If0w3oEinaa0{Z3POJTXtN%VDfI z<}9+y$;+t?X196WS9@S_W1qlocTGKFaef*U=-9JYHR8!BpC=%7^!Q_0y(yvr2^OWt z_bE&>k8h1MCmUouwK$rP1iXk#1c5?X&_WAM+YLw7g_)hc=Z9f&ODMt&| zt^ywj0QOTN5MV#yqmIJnkuvNW4?G5~iqNKNt781lfN+&pigL}cV(`wC+q%Tgx3w@HY5HgT)m3KNnc@!#{#b z-NiWBHkYW2fR?x&ig_b$2WyGC$XcQ|gYZ z`NcCfReQ$h>t#D0CCU(S7aNluLlbyOds|~Jelme9Far?&!3TT;?~GcK$3zbKopk_0 z?Gw?S`lQ;hryiOIBX#i$aGrmif+{e}NEC3^1mwgl_ALoMnAlw{X;wkD%w7b1*q zFO7l;NGiWJolI$b2&ANKq56PBijVj%16QyGulmHx$~a;;^(#(o5(VTU&5K1k2dPYp z7U|_@_^8WxV?MXiPF}qp zznMW1bu&$$*mUy_^VbRHz40*aw8`+*{aVXa1^YI-ZQQc(sNa$yQOd;I9@cNgsF_ky zMyZtWK>0!ZU613op?~K~QR@%Dj}VTZ2=t@{kTR2($oL6PKdtx)Hy)afpP2d^^#44> zGb7f5UYC@s1!|{Ef%S^+C*rW7=UUdYhHs!JCCxo^ALM2a=iRhao^?m*szB z{)#(6W1hwu@RPP*CU(mXUVNKjx8(Wi2p^FilLY?lk?@Hh;P+tuh&2)b5&>Vwf6UcK z(jbrk1L#Ftb^OQ5i1G8n53TVNhK%HYnqtjj3c+{Ae^jz{5xt2=yZ=EX7Tr=cPX#22 zO=xw`T#3)J=6_>l{=#Nf@gKcmiHvYwfxn|vEC|eZm;L($>wCt3NLCFqI4$3py+*m| zD!7EE)DrB>0ze0?SJz>>HmfFLIyq{$MW{;=x@R&8J)4yAyHH!PFLufLullJeVr@hg zq7#S?63=AkF*YK@Qf%=kg1(FOr?dupGya48JP~>mmL{D+N5}krgE^SW9QFOP@1g&34mX{buSQM`HQT#X(70Xj)!RP!@=a2p;8ciFw)qranw>@z$ zwowLeB8}UgmPOd}^o-lnkH2&R8@o;0RQzQvv4gWAQ`@qaCWD`tWff2frP1Dy68h2k>IS!e}JR&vX&nN=4rv8A{a9Z!$_`|i;VEd49kp`p*f8vJp?_Sg9VxDj3n z^6D~i?v#url2ydUpNLR#V+#U7mNEOibzE1V(~9^JF~(KcjZM9+$_`1i`goO_yH2Ns z@Qv3W>-Bq*kzCbtWG8pUWS4)ImKVF84jr(O{+oFyCVk^R096$Q`V9wf-z6K2T5QEu zJL}oN(79sB!gIq}bpf(9C3^h%_`e|8;~y=D-4_yaF$<2S=0#KGAQOI~WXq6MfPQbT z*3iS=oMFyZ>n*n|7N{Bn>o>EsMuWEmGb*>jK%Q9z(*0f za*!{l9geM7GG8ZMd0k*2*M#J>-tO@oLUgp(w~qm0{5r??6-xix6T1yQ7)PKAmW(%W z7c8w^lbl%C`oKv`=;F<|zzp*EpniAf`A&o`v+SoVR_*Ab*ix!7=p!_$_t|{3sKdRRRqsi8`5Cz6?}CHn61XWnWL&*IRA+ zx^N@?E7}*PTh=k<6<}#fy~nrS)4i5!f$WJM-&Qa3LQ5){txQz@Dt`=gL?Uu%2yfO( zkMBc|<$=bow{4gIu-63Q$7exdk9goN;V7idb+JNC((T4)ziWJUL2b?S*kK>){vkEb9 z;3hbZK2JdVjdBhs8sO{E4nCxI$^3)uWY>;|DdMPj9{mS$Ao|6)1MBM^U$epf5$&+I z?4CrlV(<}mut0)q9nhGwB*MNOgh5LDLrGIEl=Z%HUc}Jd^9Z1qBpSgU-g(Di&dY05GTYoq(z)ou3bfxz~ zww7VNVhYjYz?^h#d%72pg^&YtW*1aU?>t~rQR6O+cd)aQYTu;@&=rh=3}oTg3ne)o zwE>59H5k*o0n9K$BprH>-zddlAI#M-oM8>av2ijClUCDsdvKWMU~sS2@G8D`tEt*y zBN{*{uY!S;+auU;t8c&1QcVb27$eiK;+n1(&7LuBEKgdHR)McPrfTK$h8(o*i#)r z&%+u_qJVjeU{wA;$Uz7rN}_Qj@9AhqP#OeC0I z8Vphu0L&PIDXLOJHO>O^h-B4OBuQH?e@``nBFWglR*`eA0J$to&XpF3&j*F^NFZ0n zM}l}wgHVj!_b~7%MG7ADU)74;1(LL4x^Bg@^Q=~MFb@Edr}>hOd6y&pV9s*YjA=M7 zsY9%8#15!+C2B1~ejQyK-FxNzCbBj~^OQ$S#(nUC2nGRQ%Y1@QqnpM?>|h*UqbOEl z*Eb9x+XCQ|IICm=Xa)f8NC3+;0ENNv(Zm2658|H#MQ~!AiALdO3k@WLNQjGsGFC%T z3Sp5z5pjIS0x)!+1pw#xCe*yET29k(g$AHH@>l{;Y)?~ce@oy9+tW1LU%cL8`_JDA zY_R=F{HP|ZBHt5kJyaiT*XY<_&R-qVJYoF@IZ9af&!I8PkqMj&op-#W+pnP_oQGn@ zgw=}ujN&Nox8fnI{Z?W%n*(+r#K;H`e+`3JV1d~DQ5b}SAa0HX(N%*`9JwzH;sFc9zc+)y*_=wV#w!XO@>?{J~749E`&2Z z0*+A-fy(a%gw?)tEHLZDwW`42*eckkkzm?HfVq)i%=W#-0^+j)X+-m%kUysy2S ziY-ZDa?Z6t(Z5ya9+5Izk;$=SwH7DsBwm>ik-Rk(4^CWz8V5CbAWOb>$ySRne_ zK>SD$S44tnra`E7$q9oPWPy0;(=Zk?U>{g!=Y?wD<=Vfg81m!&pe91?^c8RsYA1Q1 zrFPP{Nfl5#CkBYxNykw-i8n#zysT7?_{R#B+hV^uh%D>+#8ONIwXK=q_G5;YAx@ud z#sl^H>MN>Cx^d2y?)LYG9_H5PtO3a-@d!F>}lod~+Bej74f z1s9vOgx>WAMmbaSvU)g6kzvm146Tl+;gs<2xXpr}5r)5Jh^FEf!=EtBf?qq*!vEg? zG59CK{23jFpYT5hzr&pt{>fqZujKzv@n=q$KMRU2{^Xu6e6G(GTI+KYF>2^3Rw{fR zTAUnHC*XIA)NOQVVkWiLa=_W7Qn%=oB@(Ni{;p;TD;^n&8ca z#{zUwRV%~Sk{*h|--(@XPt+D>Z zK6Z)7es``}sZ35o>vS&=`M=HlKHTdKWRYO}9Xk7!y0cG725{Zqr}198JW^`DKw{ng znY%CP9GBeT#vx~%eY)#i8CA={ zD#0QDprfXJ{U+>TJO}PxrN2A0C4S65G2~K(DKu&}^yY0)lta?o{zozGt`pkOW-jQ; zK*C?%M>3w5UQvc!y2OeZ+q$c-LE>%1t9%j13cBBcae>kHCm;rkXxF_Y6ZzwZVLH$b z_WKE0%Ept&hlDi9YsB0tsa5YNoWW|~oLs+g>eiArKIr#z6}G}iD0qO@m0%&?aKH?; zX@08uL7?EVbTB(3#^rc%ttP=z_iRG+r-{xqW0u$6{sfKB@gjH(-mVCpY=2Plu@9aH zEgz5tFWd}}3OF2AILp{`QC%@uQv1}97{#msPQ^PHeEaB_kc{F6($f~w1OCi$D89O+ zlt@i!Ph;vEl$n_$ESV{W%q;k=B{RitEQo|<2FIKR5)Qq^7V&av1BtPXmylSqs0sWKqvA(W=`apO#6^?c=RI#(&szCrHtehEYb zd8m4t7z{%Ce9X^%{WEdKs;j);-g`8raNva68O>3SsJOU@=pVY{sA_iaj-#fqf@5g- zR1wye#yH)Hz_0aaLL_?uJzX{q!}!|aWyMN2emU^=jmZCoAIkfUwO5#Al#aAj$n*>J z^snphLchjROn*18@PG0nkZ~VMOXnK{GNj*uj9S%np{}Yuz+sW|ISZAXj~CV&J&r3m zKRnzb*d1zXr0DwHLa>(d#KwqCFnr0VA&~IWeZypa`x592Bz-7ygkZlH1h5=N3=}{H z*tw)wQCFR+8g8b=cDCw^|OYM3JB@O zBL}_}9pTcvZ>;;=|N%8=QWJ!i906 zjbrx8imf=m7VgqDttdsPrHY2@x>eM6MwL^E)@UtSt~V)K8b`l!SQ?iyd!RIFRwC?7 zNC1jU|8672wO>zrMceGRuR7kdiMHq#JTj>a2I~P?5j*7FNk7aoV_ygK3?W$9Yn*R>8rs%? zy7%A5>Ea_p%P@cMMDH*xBlBP>T^8%*8Jq(^1o_9;(aGrZL}uSl_Co$rnVcUT6mw_a zHAsS6!Upv^lZ|F~0b>~9Za+Tp^AlvGN0;X(G<)25gx$0{BdWqE97&mRE6B}t+*&`v z>+gN>Q9OhX)e`#iHT}SpilqER+@$}*+`GU>SzUYoAtVqmaRP$I3mV&~;1v`#5zs_I zCpeL)XrrPAMZ{JyVg|tr29s#!jAPRt+G?ezv|eg$z4Vl$C|Cnn1+@xT5ihmWUd}TP zT2PBzTJnB>Yd_D-M@~hweN*qo2(X4s#^>wXlPJ^M0t+ zVob8!-ee>u%A;LL7D+pC1jk_d$6_Y(&v@-3n&WM6=`YZP07-8Qj#j|YJ->|4WHAsSFjmS2m}OG^1aym{Q~K{{MDNVnF~aW6F_7KSs4!>rO{VTik+Y?0m9 zqD_9^GTMTx>dAuZ_bjjT!f~s-@LIT*|8>pduFjM*l5(!`%V7yg<%DfbA;0gfvp64l zhjoe>re97Sgd;&>*u_PB7<$ady|1jQ0fuXQWd2myg9+6#MsELr&6z!>5{^HAm>Hiy z2VWp@RGsE@iTsP7s?YH*_<6u(tY54qN^aS`v;c`TT$dAHtQb0=$yS!gs>r)JrK47- zIMhaKrSfd?8L2*u6YV|2G*%^s#MH=jI3BF0^GDXx`G*ijuM***we(SSv|>A9k1x7R z`$>pj$q_;ddkn}(jKt&DQ?<$Kkua4sX0DQ>J0C@AS|AdyEOp6iOD!<6&ewj4>YV=I z)Ew{d*K-v~k@XSnZ)m+htcB=il1HP?s%IbAj8qsa;H-z9I?>|@tH$`{Kdi3y1 zRH607BG5>0($Tp&$yE$!dMp?Do84(_U8T*8Q+qUYa`bM7!7Tru_dwqS;rvaGt$jbA zilYA=wG_9D$M`PlR*C~C-Kse>zOOuVite_{&;%FfoF)0FZQ{h1SnHjH6;~M=locW4 zdS+#t(;X|@7MncKVKCoOA#_GkGIt0SBjhA%Y87!+y09Lgzm+X4V4zBGKh~5&PvM9W zdMZ+OP1;349}ic89^))ZV>zjSsl4-v>#RO?%5;_0XS#@~o;J)&<_or^YXq^U^E$j4l_%r0Wa){N){GYw(@hvB%O%p6%%7)*NZp8 zp+UL2)`bSilwMnIgr6?)5pNLXFF_3KLKYP60?01f1#HGT=~5kuAG99LLc--*giGuo znrPZCdg5E>3(0+*{5(gOFYPX!_pB)n%-K2ZGq-i zw{2iX@oA{}IVeiYmgq3Ja(*V4>s+WQ<#?lQ2{kX^D`(S;F6P~|Vtu)`IJc^8boqp~ zX(VjBwmf%2TVe5pw#j^Kn^KH4X{ZJ6jpv8sbzu%($s5B@WK17^Cyx=#8;|AXKD^sU zM+)te+m<(`jqjChjbn1hx8?0KzKt*A+a~XmiwMzhqTag2dtCk_^5EIxJz%%?_TJ3f zMDTX4cSrDct#?!A?X~W$j+vS2-s<+kOxm-#ZI>)4kSr*cKq>K_s_5Aje`@pcEdS7F z)1B;vCUr6=pViYA@WpkN`_GP#U3+%Cac#k*`1rNOvJcVX*Qh7bk0NkLP5hv>HSuX{ zQ935CEpFGQisn=GoeokNiHAo<5=UP$DSm6R`0V(Qq~6XrJ3cu{p9IiA6$IK1>daw% ztfzlggH5TGHwoaA;*qr(2UKIoRqD3NZ)YpVYiT=5)v3x3zq|B3KD6oRrEFc@5gmXt zU#MjoY&sqMxIKqkK7?Av=?03`seJlvZ3*%zd^${ZBtHiYFMlO^A{$%t2J=&B{cl3~ z^5}l$uQV3Qe-EEO@}>s6%fU;4hQUIoGby(+!~mxLcD z_v3Zb?E`U#Ewa14xa+H=iL(lm?ifS5{95m!I$sd1^?qo#_V(MEw=M3i2KTw{t!`&# z(q5TKTgPpWF2C}`o?SlF(-f!v@9z&tFLKP^)FH-Y?z6`DG}w!{(1HM)#e+@CSd8ZI z>r{+LMgEZ^mgZ<(*5xvfL|SdRcL0-?P;p+FuVzTs7?fA$H9v=*7JDCM#`jZIS(-y_ zu(BJ~{TYeW5oe&vqRvS%Y3|@gp54-E{j}(LVH>s7+A~bSebrzn9og%pTCxE~N>`}3 zvLHmH`9CWcR)o)&t_5i#_XucztcF;monO#r>p+y~@f zaC$^%Y*!U126?)T0nSjDnXNoSmOPGm`Z|fklX$LM;SJb>Jsw z=&2N((s(~=UGpb>QW(?&op;o_w#jA3c~|@)!?%@;`(?+`!)Y^D+*nG94spD=JXzBG zr_D{_rA*~CRx2%rlwX91O%g9#MyfI{zSP9@mnqc-_ zQBL@c@ZnD#P1`%7do7VuluNQiUVZMiTf=&9kLuBq$*TfA+qKWsO#6)ViFzwa9sG;X z&ubhc(I0C43q_1tm;8rHitR9t{{+{5#>*I+Fp*GisW+BN4W?_+I|NJ&ZUaOVp4vJAYf5a5OTO=wx&_)%)TM0s>g)9r}; zmm`VG3u_YfpQUq0v{hoGg$hZ&sYxTmDaa^Y-8du)@8kEa z0`D<`j8YxENvt&12j4x;2b=2EP|Eo9udXN7XJG4YRQ6%^T|e2A#s@z>j1(q+{<;XV zOVUfOY5(&QyWU;aVOQd)Z)3@7|L;!CvBLztr?Fj%kq`pxXIIoNJDC22Oc07iWW03c z#8@7uYDkD9=fyg83T!|xs?o<{Xe-SwPE!&Ncyw8s5oqLj(^yHcBW_11kA_S(-Lkz2deM#2MCW;gR=ZIaQVg%wR z@*h5iv(}ckYW}LF!q(M_?}4W7ESJsO`$mtq=jroLX}mJJSJTb84JeVVt5aw5COR$D zdIh|qx9y?UZ*Z$mmxY_R=Y?9e)M|N~PHDXTXytDh?ed1~;iOROVJ^o@l?B}7yi{2z zH^vlcqtk-4gY4m?>A?S7HE3N;YK;n{<`k8jXx^xIQ-e^12X!{>9NpNzY3E6ex!P@l zKFEvcz?UlXl)ODv$fsz39_2Sn)n8e8agO(53sp}P-7Z98G~{6uXvipx!5jt);t^-7 zF}Qc8#sb|#yIQu;>>RI@1FVLr5dCxKM3~R7Nc&kU63<#T%^1bnw=6L%FU8*KSV1fK@!To2!c3$nDu~tls zJ8;ttE;N(+7LyfUb?ET6z5y?js5~6Ih)SF!tQy_^>`Oq&*22&ASFNjxk)(-XXB>rD zuDKWUSa-R1%2B;@Zbs2aeq;AKhRMGpeBMR(>t$JZe^uBm3mQ}2KF z*-8rpubdiZ@0G2)IVn24|j@F7sb@ku4ffX=n*lXYsr1{!(588qqmJ6z}E zZ5Rf8@bokTHozwjv;1vLXG|r@r{l)`TF|UQ7}M!dAEw*e9pIrR-^e$jQuSS@CZ|v1 zph1(Lp#m`9UJGRB`apA=>qBw6(yVgUjL?>;#s0Fnv$sq9RjTwhtCGJ@}(== zh7?FyuXt_V!OW5h5;s530m1v<)W3N}sp%gTuiW%rQis=PiQ7c}RgX{d_s@@+?+8&# z9}nGmu_g4y7M-JBTsw!(L5;QypkL6Gh6b(HPWkQ9|Ck*(P7lZTw}vxCJ#pe90~Rdz z_=D25j-wsG#CRxzD?H{ZYa^y4nc#3{9M6~ctdx@f#SKeTcDwYY$ajFmV z)B7(nQ8IaWR$}C?Lk{G_h($)|1})Gm2|G_!W^3_VU8o3x-iFGm0g%4 zW^3d~q&+jo-rnw+<8QBbVUEL90L(E7$laI&>sQ&Sm2I;|Wpl|9M|@Q-VT0IkHLw}M z;}_+zMA&$t_@jB}z~~1!q;W7_W$yIl9R;DMJ49Knd${iAIwn%}5o5nxxo_-=A-@tZ z*3b6{jrm6+zwR{J zI^wTmo!E$fk-uz#lU^W>K;qYjiRLX`xc{q?#;M2yBwVEKzb*ZK=UIAU3-=bUfe-E8 z%l!gppxt$Ok)fcQ0wWz`xOePfdl(Cnwam=A2yY%t{_n|uU}s*S5ql%czPkT_{BJYo ze?{?P_lJm)^mpU2Qd0sJ`iJ|p_#s!9x!5Ok|60C7=(89c+?IaY-sS8FZX|EK!DY60 z<$+VLwsw+{P1*X;b|;siZk=~42OH<;ycHOTk6aij;3I^WDNSf$c?cF_=`L{Llb?#9 z-E5b3vt8N^3v5oV@Gd&QS8&j8wrA-#2o~Whj;!M<{iKkQtF_a7Ws5A@*m0;^rjRn8 zIg`fXvPD9KUEVF)>EC78s#U2?ddvC4W9bP0aZ4buZRGlJjD!>FqZ7fb)h4UN1n$w6 zVCf)t`{WG6@Jli|gey6o_H*dbE!w&h4Q<*1)irqQk1qGiuQ@sE5O-!6YaQ>CuR(tn zwCxLYu*}e*Lm3&M7uof0rwODFcY&4bsM(u8o0Q`{d9%8>>tg7VAT22_%?yE4$NIV( ze_YXS18gw<_#I~)Q_gG)AFu0#w(uyUzcqbVzG*D& zSx?6|&zAl>d=sCIb!0q5(D`6me`uap&?o9i4A#fz<)!Uo&7HZSmWi}&bLYV5YPlC` zPCKV1cS$iM#HzR2dwZtXPP!rL8gpBDiR5S>OCtX_r?S!YnW{cc-mD>q)o(*^<5@G< zh;YK`tlneqiYsg?uOx}F zWW0T&99mR4%uky)$eyYyga-B3t*{OaI;&XIiTY%V>@ZnGlms;*F1SvBp&x40Ion-ju>RxiJg9e-A$dBEW?w=-c=w;w$1G-EF`)h(|H9Cn zPeL$%4q7U{MMmC=1jJfm3lvP!jG<*^PUMdmhJQ{=BW;x^`U4sLaH%AhTg^M8CFmIP zWJ=f@``sz3UsqcK@M>`_e!`NPaiEq-->>|Xwa$`YR_&1z#pTX8aKk|u2MP~1b*Qv= zGm>dxGUAT(9yqXfx@M;3M*rl_FSakG{X0v$&(F~>?kCjgT9?$v1vH^G9Ft4u)vy z74;{G^2DF>gM;|?4O<#_uY40t5S66<0F4O>R@>~>@O@|DN}*Wp9r~iPeAmlw=}^Y= zk*Qjik#nO(5zG`dasE{nr1o~fds6+}H4-DZ-izL0=ve;vzyeajYRYsGGr-YQ>8{7H zL7hI!IOrC-uyIhjDlpOaj#pK1qv^Bf0AMOa1xz{WpLnpAgo=+SnZZ zj14VV{Og3(NX5VI(0s-^h|W`fdz8dn$jb#;o6lsQr`&FoxRBQRZzW@YlzI8J@tPBr zUq87^{Wwt>R}i_RU5HI8XthU6Xf?mVdd@?$CTD+=C`OhX?JTcw{Sv`r43fw}A|GXgPZJONGwCg2aD%y4 z`lYy5#hS6M2;;4^FK zk57TIar5?nL~&II^Bjy~iK5HQ#Us-D!>#Mq0 zQmIFyR-3k(I!3Q5wV`5k*m}!H`vwp}oXr(*Z>4WwK~asAjX+sFQq(}1vQChtqJ|xZ zC-U2lL!zvd)8xEI$BKU zVlep=7%8M9P)Kz>5(U+owu$6YHq;ID2VLGBnq4E~2=9n}HAc%`&p6wpbn(FY*64b+ z0I(9ghzlb@XGgeV#k{@nfa4L>m4$op z24WJYAdn!?4(NjRV*vB7*}w*~@ushtW1ZPQk4ckXL*c`=c+H}XPk#DKlMsM(>K%y8 zG#Pd8dW)l7YRFfi9rhjJyT<$MB$f{uzkP?gVp&ddF|6OA{pg#a){FF}c?YX6 zkAZmTsX?r9R>_&II+vew`x<@dv%@ai^bAY3!!GAi-Mq8dWO;Qc@=7=%=}@t8WbLTfk+;<5 z5upeRhm+y`ikBNpl)v5?-Ei9U?(|EnUn)8TqZy3&j>=6Qp;=DnayP%z=FDZk!SIpe&I0o;(RalU+^L%44c_ttZqTN_cJ?gu&uh{o1|NiY zQwcYzepM2*InfE>#I3l^Y5_JKL2Q!ga&8CwaU>T12cgk_MJ6p=p}%B zc6jB!x(jo>-?MjL3Z%6#w*AH{;H3iO?=Anlff=N23QHZYHp=x!sy3-(z(s?+VM4rV|u&GvBY^Q>g<;JYQq_w?_wR+D^wH`IHZ zC9g2W-N_Gi!p!_7Jy)^L(rqTg{(_&OeZD|A04nyJ>L&}f8wgQ74;U^-?0GxMKCN8wazD-Rp1KRyrO3 zLDkUdZ<~vH)8DWU!}x9qaRh36z~8ob1V7sqbFf|Ece}#xx-uTEp}qBo{9#p*2fJxE z?i|mgerFNmQ6m5D;ZA=m=R-KrVzYAfZ||1mN1c-4H!=jYw})TKD-$%YY*TJdmn~Ns zOzG7v7VF;1=rB-4?|`$cGxo^$RrWe~zT265C~42Q*1F=UGnFhTE zsMN4<0>#FEegq&wU((+A-&^WA{LdhT!+#Cp&zqLo9sV;&XhknF*hLp3EL4;|g8w7- zI(XKUjKL}Fo$r_PkT5_kvUXsIRy%n6Zv96$Bll#GFe5kXvj>Q5a|D)}srYAwVsftD z^wxq}=xx_W4SZa^r$3Tf;J>8I4f?3D&#o-F+STy_$^q;5hyZVXmt6kW-Q`Z_I{V+s zHT2)fW&HQYHl@ED7uovbhI1K__PN3hU<%xa;NEw;vw-x);@Y)P-^cJFTCE_i-9LZQd|6=IHU{S)3&zcdaI8N4mXzDzIv za@B|acqZn1Z{Eo%Vhwj~?sS&W7x6=B?@iD0jxOkZI7|L#Z>QJ#_RT7P>^3zM+M4>n zpmFg#>)Wlq_e_={(9+VNp9YUff(uwk2qR{s+7Rk4lGthqA0c2TZZg3^{d8AKc zVe`ga%-;6%F7T`shhMsqx5fTj8$ZURzj*C`qk}m|t;6zl{NZ>;*)I`4Aav(jRKur# zy$uRHyLPC99!DTx+3(LgyBTRWoL<;x-dXxku4lSA4%T|Cwa;9m5YAtl;+v{dfga)5E2;yZzT_&Lm_mp;_$VTUYdH9Mt^5F4C~bDz#VZDQbk_ znobhkK~XKd_P7HwO;=xYIjHz-%LxcXlqp0sEyjemB2)CtdYTGsGV< z0y+Mu@5vv=58B|S_N8rh_3M_k^X)djj$ikM-|yQnyG5523?9UoYF zG(PbXbU4+YcK2b!I%1Ua?mSZ8l}CsNCbNQf?Vq!F#DCcqeFr)IcqrhHS^Ib4k1O?< z$p2tQz#r%N-+lf#gGcel&cX1o@ zk+mEy5nS7w%2{18`6NkM(KIHfaWqF}l=hcNy0&EgDK}j+b6Rxh^!YdEU4K)wsOjc@ zH%9wED>hE$Teu&LG>dp@q792aVuSUzIDhZiz zOv-O&zGL|g^O}3l*H~nRg!wP1ewcm(eG32vj9H3mI%=IovoZ$(N}!r_ExZ ztC~M2@A_+^{YlbqTI2qFFj5`tKHL-?st-4^3Kv_0RV6@Ec9mJfu;e9%O?%B>L-P83 zmzF?y#q;|$+as`aofeLtF~jU%XxWPFIWinSAI>N$+%8TYSENhq4aVpDAKud0 zyqR6PCYv1;1^z@E&2L%Po*GA{r?*+AC3ZPuhJlK`VeRi-LVj)Xx`(-koE?wAf*$)s za{%Gf-Z-e~mTDqSqxS`s(d@)@+~#?u{X?ynLT*;7N+8Ac4Oh(!wMv;Va$Iqv{MX0v zXw(X|9?vc4gdIB7UD5H@K4h4*Zl&Cye8St*nPKz|y=>l|8~XNA`+R<_LdE3)|3~(G z{QOg|5YL{WMA75;Sdz!Ymxu}TE2dv_?N!me-KMHcC1m^zo|cHU(@*nHwH#*|{d7--y#egnf?wFHsO9r;BR!_YdX$bO zN)&BsV6O`{k{s__2j=F$FRf=&f61q%|CCjlS&u3buNzL{e_lgkBmwN6|K217>^B}{ z?iMeq-D+%ju3dtaT?H|mrM{^h@3MGt^;d4=mBktwM%sGHr{1p~5Pw8(4pxBWe}(_q zx<*#57_Sr!M8j6=*2Z&q8zpRJuoK}e?FSfXc6sW>=!^`}aWn2177m8t(3a#ntALuZ zdjrUxe*^~_^!INX$BMwN3(Q4k9;4$Q=2zT!{k2o0hfbeAH*eN8(fym|A_n%M+jNKK z7^nN&UJ~~DDodzz6NJvo&BEMtcBH5I#3KtO&VjEqy4UI$H<_+P*2?j1)5;DT-*#=; z*T=WrT2`jTiNm#zbP)+6@vrHG64}h0LzZ);a*=!7(VLO@gJm1}E;1_}JDu~R`^-PZ z`VL!W@@|agv&}5EFCY3wZ(-xiw3*TC*)(%wbQQsp!F2@hSA?Ds=i_h#9_UKGd?;vy z^PDj(d9*0)KaA?2e7AjWmYA@mu41xC z{EFcOU2fc;w0)v`RW0LPPVxbMIGQMVKUezMQ_rDC$UDS4a=>=xKdT#0REyU$`+D1y zpA+BF#oSBSkcAoEo4SZeyhQ&1D{L}}nFcLbAre-qg0zb#^oY5wNFO790fY7Fj5+zy!>i_x zG2S0m)pQHYzi;my-3>$CyT9P=+q?Kz3H!PMs(UUsmh^ZlvauxYH(9kLzy__T#ZQrC z_ep3J^yww;-Zl`f;y&EG%p5fOMxRx7C7nM1H2Uo?nr^4xK9sxzIK7ZVEAY+R3U2#L z=&7+I$0yEuzN%^4{x|h)eyNmM)s?qS<>;%Y@^U65!hG1i|4n&S%^jsx<=YxxLciKR zz#J%SfR7I?ykGVK%`R!sQq3}Kv68iP*Td8w-5svH`}T?on{n3O_E#_&)ddq8Kd(<3 zh5kZ;{wXX7LT4QBy4x2qy@X~KvvV)GsqPZ=h2-@(`a=>YAGQq$C00YW-bk~fb+@E> zKKZe=*#eV?l6Mla%;xf=M^w!pTNbd|t!41qP|3aqV>rwehp9ddslkrXT_^Fo19G7s zyB%s`?;!+gVt)?$2enY|d;FLaIjbSpyuGvWCW)lsT3@;2Cn}vW7Ad6_XKI2)4ObG(Yn|)$Sc+E!-AFi9yfTYv zmy(UZUFnr@?2qBk{}^80d0P0;?bc4=L|!PJRR~H=wYG7F6Tf*)!x2C$Wv$-!Olo_Z zybt!-Li}s*5-#oD_cm|tOg@P~3GCv*)zSBdRK@6v7%4_UX*`uE1R?dWrtKqV?bWos z;--EW2e)b(IuWJ(B0R>n6tGaP_<8%YLT`?agIwg`KB?SGSIR332M+l6m3hY@`U=<; zIdaxv{8rp_2u|})HNUims1wXxM&A^k4`Q7;xBl)ox)8Pk(VvT#fHuR%My3`^xN!%Q zc*p!bn`fk7jY*rzf+}^ny83xR{hBwG3K~|iodcp{My+l~A7l3>gV1d!+xE>_&sR3> z($KYn);sapo2N1<9=-SY#F@d6_F`#e`6rDp17K)0#29q08|Itk0qj77XgRZ>U$!v| z(xz*#d~Z#e8v9$y6uOZRpna8Ua-S=5p5Irg29qlFw8LiTZP08;pF~$|9^$0--myuw z8tf!z_GY=iX#DZ+|2Ugs$xYpOK=he?ncuexX!WM;eHzbb+Me5Z5!VF9zwICUg*UY8Gx#mV+D}cxd{Cd0>Hf;6d>);#(L(tci9Vzo+x#W=>fe+4 zLeiwVb`VFOqXO1!-b9_9c|z2=*H}?2E7XeFwb4l`Yrv7~0*+jo;mCKyGwgc)M23z< zf&g6)shac}K(G_k};-6&{zf;6$YEc3qye`%q-9|27n10%*-)1-@j>;$4v1 z+L?t+d|ci`($i1O=OQ}2wZvcmagrQB|7ZZ zwa%cHh(!f|pIeB|cf-k%Rhbp|f|pZ~AC72HM)mKej$ zoqa>!{wYYw{@j@xEu21I*qo9qQht4H?aN(L#Wn4>*LK4UqdjPbT0bDWunV6AsxlOpoU|DMf#!UM&bs3-S0m<^4ylg-?^`AuhDbW~GCR&M^dH^=H0yJgh^eTK|wMvP0(5!q~!(A7h&b16=10Mea=liD@F--069w3-iU;`tS7;ZW-*e&QTuR%nbr z*^6@-((6zTZ2Hr{T!Y0X`_N(rVRl=qV==7=^l3&*w+u)sucrM&t%k{}$?BRRWANiT z4M>|Di4)t+%nRZCF z-BzmIb3ig2s)?gH?l&I@a<%(~+0+9D*IGhU1nf_JuzGZ0 z3;Z?Bw@v;95M6h8-NyG!rx4catxl7Y$w53J8d%@Nlv2X;bmYgy5?J`Be_c#WwbXcN z_GkRr!M2M2{x@qs>!G36PYs?k+oQpRT0YPV+HHnP6V)|7Xnbw?wtZo78+=LRV- zlI-j=E2pMnRdlM}6_Ah|jT36(#Wk$#jH`~<5okAD96_(yvNxF0_~?Fqspu(In6d%t zNkHK*4;&Sg$~UQ_708fK4DMAoGSL9Y2^$-I(Se-b=3tehp8F5OmRfRL|_tz@l%g|gJ8 zX|dZ=4C8pHw9PBg%pWXk(tYO(L1Sq=I!i<`xU|tCz6&=MS{?g?l+GEEia&?$NiaHS z@u`Uq8es`md@ZvdPM^zKdpGNk=cx*?r9m2Y!s zEC+G`IE8#c7SVJOaAncQ>xp?#vA55#J~_T0fB-$11xPEte#e<2LzN?B@@zC~QN7j< zLsP%1czYHS$bDw-p?_zKEEq%1U4220cX#;jw)aV8RA!YCNt|Jk0ndpQ<}{Ccb1PC( z0oL$e`R8Vxu5eC#T26uDpPv((oKui|T^7Z}(DnbKx)tmE)nuQ7gJi8-MfG%kQ!-)n zb1&3MkFSoigx1k`WOe)!=y!Ip_cn(v2K0MO024#!>Ec7_O2#U(2RTJXabq?aUp=r3 z883D4j?IF%8*2Vb%FXVnd2)AZ_FZ*>_{SS_R)(N|XLAkMcj)3{pP}mz=z7~fMA!Wy zvG=_Pc5cS%c0!u2)v-^{iA{mDjUa-sc?BTGpYMcPzeV@Y;?D=O`ST&8uX`mSG?r6U z%0%E3I9jC)3hOYP*(?zTB%bJyJkTz~rWvj-dsj+N5}*tW5nEk7i`ZtLy5xW^1mCpN zNbsCphV{#Wz8ku?vahfQ-5H-97q_QS9^Gxg#{cmmZ2a2^8LH29MNV`@{--X8FEL<- z_yEiC-&@{uU=J47-d>=fvRfY`4`d|>KlsfHA+30Ui7 zyC~O;uTr*)unx<>*fXW94*hA&+iw2F=rX0OR82Zu2K|w;wv}uCS1CINGePAcNnJAb zNtPMj?63O=_SY7s2^}-Mt3QMbn$uBmy|*^_bG+1=?75rnTXOJR?Dt~jj6SJ6esfoL zOQ8AP8qM!!&-Ukb8bsArOY9m%wb>C)+=|&Gar@@9?iaH4waosI&;KPX*dG!Y=VbXz z$k>t?_K(BSV-rOmfB0OE_j9BTT7t?^{A$R?KppH6He;pNFQ|}+Mq{RzerlL^cd0=J z|C|4B@jp3@zgb~@3u9I#M!HIjP$m8%>iCuDwGL*_Qv1Kr1Rp%s$y~ z|8mg@O$XaEA%?4CTbzji`hHK*?-E7#BtflOs5QS(?$#T+)7J3v9$LQ#tWy7xA+h{N zYazNb0W8eKha0X|q-$5&^=>zPKrPgyTxwxGSKC{nc?8bEm$|3SAZM>Pa>Mvz-Y&U- zmH8lSdEFi~v7pQg0W3}Q>UfswsWO7Hy&dn%qMWt|`$h?dN5c%sA*kNyBwYrOrt5*W zG+q^1tSf@f-aD(T#fh+Wg7EW!RTlq}6bs{+NHJaC?Uves(k4;^wMkd3w1>|B8?-tN zn-B_Bi;uxV!vO2vkCh699AZx26mp&GuyQvZ*`*Q&kxEzzxLFL_qPfgLsOjN1C-N9g`g%qMXYGbYI--_Sm332HEB-ge` z+2!7ygB-vP`w&QO_Ho(s-8OgBD0g}D%eie__w0N7@uHGbZ z4!zuRjxZ3|)S*_s_pYr1XF^B#pSzy$>PLLF8Ted-XESA?gS?+(Ae=7e`BRaa1!g6Yb>xbCOych ztN>Hiq>RRb)2?eG|BXA?89(zVH<;PGIO`hKjAyG-5TLQp+pF_+Ou+xD%&6Fp06P!%*^0KAPt8TNZDzFnV0H zeQC@XgW)M?^{&-TMTF^*sCX^~_|_AFb=H&T5UplCS!`vd z24R0-Wm+yh!U27jFg}W2Hm6iSHi*vPRb}(IJ1i^B?uw?_=leN@iOU%_$s-X2g-*A4 zwTs;>kUlIX*Ch1v%B?TvHXhRaw|{A>d%1ot6Y)xfr96*{cU7Wm8 zWk5MAi%w}hh_>3M_w!#EPFjg)i{0B|x}-#V1AOv}De%deBcK&HEh2gIxSt`_a~i*9 zGtj$T_e|tJaPMU{Ke#0!mU2lYL8yN@&_jo`ke9+TanOk)(%k3U(V%TYy zG?B6xVZGUw(oFfEV3Jb z6`QT>huvTn`vHSt5CLQEUlGMjDCxV}_-xL7&DsnUIt2aylHcK(GP}FlmsU`upNzy% z;q;R$Gx|xG5+r`>?TSue*JWi5T(z*;#?{0@9eiLn8j7*Ngj!nqDha{8yJQVOIS>+Y za|{%tzoo-V&7K)c?COf3N8h))mIxZ&c@N=)1;0t-u=3`J0TV^f;x??o*&g}cWUqr~ zzo8S3yS?ikanS^Rts)coyEupe(4Rl(KpR(L|Gy7$+xIZ!LZawBQ?1NMEp!pHj2RfL z-96KziHsM1uqKfPxmj(C;KVrK(FJR=?2Z~?W-n}|aoI;UkK4<#e@!n%QIjopUF`Rf zWme(TXzx59tda?=q>$ZmR69aTxD%@l>|BoO*ey)6d>zV;Os$2R8Y;uFIZlkP3Fx>X zxbcFUZNW_r1sJW14JSq{yP}ttbh7-Bk+M18G>QF&tF7Hww^i#FE!M`-z3p5>>PDSBJC962fy zRDvApJe0MCWEgF^+n*Qy`L&@|B1@z(3AOy#jK+=?wPO%eaKfwGc%Y_ z%bcua2(W!0-`bg+=D({4x)@G?6zy{nRU^saB(g7^ZPg}L5^{8{M3ts}xud5~qHt#y&*WXs|nt78X- zV|69omDkz+%jDzcal~SRN~F7pyv8zhhJwGY2J5KbcnRe9ZaWpDyk!bHmxg_@g))d8 zRDB2aZtDhCOjuw~>H@YK-**S=6?94c1)UJW*8RY=k{c3eC56BKa{fEAfmO-|7WOJ$ z{89>sEMS$gfQ6GsnCf9;yxG5w@$DZaHSy_M35$MR%Npn&j27&6ySPNL-#_Vm3#$jm z(tE>yySX#3! z(I>?%PukT5)ogReQ$d13R&t7+}5 z4o&!^CNyCsSCnf!Ha1o(sG6O<%=$28X*;}H8=kz?KNqoy!i`1S4U68qGm+o=s6z%j zxVE`D`im`P_whu4K48_^?+m9K!c=wPgj_ngtJgbpg2_4{(OK^~0dNWEAPvSVA@bKd z@Li`}4wXJy%dpvq>QRmIiaLsMdj1QGNS|#gW6odV{dGk)&&n`RlKc+xDNXm_<_q~} zr_?^jKkWehs{Et&ZF0(OJtLvtzHY9v%vV|#+i)f&rr6rT4Nq$S0-mi2G?}rR4cusB zqwGSd3pANu!<*{n6?7#zCU&l{BUV{Sqpe@jDw7l;?srNW37&+dm4nhYoM*O#GUbwt zD&Z-@L1h)|L-(v_ny;q87!GUL&z!$%^(58ars;_D4pNEj;Y^p+(g*pyyvG9n zUD<`YqL;d$J@d+Uih?y}6^|^4`MZ;Z0@k{*#)6)rt`+}vG zxy)($su)e~T&L7N@Sit^q`@1fE|e<^nAT!-Dzq$SY!uq)3VZqK_2|+w^&R@=lQ-lf z*NA_pzw135_(S!Lk69xN)>{@jnO%|p=LX_PjbvB!2i$nyyG`+<8jCRwJi1l}zWghH zb3;yQqChO6Bz4Lsb*;#MRv9_}v*;Oaupb0DjK~u=4E>+iSJB@E zly&r9O48ts%L4t)vJi&;cUu3^m^;v zfE-cG9<~g4w$+Nc<~)8wM#^h0Vfe#R8^Oyvz$&+!O2GtH z>2yb>^^wX`Said3Q(~)e83U3xb6NJVsCHl=)$RghC0YcI=gG6X#_`hl^`slWewG=( zR*7JY1rjYT4tR&XS?F8eP^0Zx=40yN>a*BPbgW+-=W5$T5>pNu7*0ka7U>+v%r+DK zov-;O`b+QbVxouZ9d(ed$)pt_KX4~}B`8{~4Ch41`*XFYL3=gOB%Bp1e!N7y5UPoX z8*1XUb1cH_AK`~c>XPc01cla(d0cUTl$0mkuuxYvzI^xZH zg_w`1nsbq!A;TkfbsasDVB3k-#+L9h!i-bU_1wW#H0qNo2w+r&zSp53!^fig4c7`a z3(e=1N<&BEn^HD|!9LV-nT%eE!|rBvzXmU>RyJ>`|JPJ}(AXDU!A^w_Cr+Q?efUbJ zMA5k-mNg6=WFv{y2d&j$h&qiy+jzPy5Blq!VxIrEEm?E#)^Zp)*nLG> z297(GR{krF=@C2U#1q_>pXu;^*p!|zSTNCRWiB-ChqDd7`ocOh$Yos8L zI{uvhH$?jQ<8S16*MuCA_Oo(|u6wH+k-lT3jo)W@mdnibpCi~u&xGUKc zCvNy3QBpMj19I8c_ZrLUIiB{AO5!*F-odZWUZV4x;Kx7vYE2NZsPSvCb}oJm_|z-< zfg9n}1Moul_;pZv39eFy+rbJ+UrQTq0g0mZ{<>kU0{&JZoO4!Kjq0RC;N- z8tJ%89<*}K+ZNlryl(&2)l?9MYRvAJ8@Jj{Xs2=+@>Or2<_$$ zq=42~+3c(}RZ&2Vm#!&;<-JPCcI|K2keyaY2%2b%e0bt(PT8bX@e>!mI$dMk_jF-W zzaEX@yWN4R#5#>7%EOEVHRR5BmjIjb0;5 zdj~1J3s;&>a)e%(QUy@)qQ-bPO>}-S-gQ4@?Ra?m7o{7u)w}XA8%SSGG0i%KLci_` z4Yf+O$m9=r|BtGNiuAtOY8h9O5&3EUP39X3JAOU^)W_bqnwt4juSVU8ybOUv#x zN(}=TN1AKPf31c|7zcj#y2b&i|BfXzA+6_$q3{+Zar;k1JMBN2OKQQ0^RZs>J(fP}+Eu@w{FK6U;-xqyePRsAySHGP6Uj5s2PW4duY1J#;J8anGcl&>J z=clhEzeV^jmft4j<0roNqRH4kl5!Agcp9^E||2<*3BPFE}=un!JOcM>`^82jvj zR{HKl_OJoce|*q^{&R2|bWfTsUEyf|Q15LbD%`xI4`fL#NsVP9l4HCdVQg z6q;S-=g?!e$Uf%&?lf~E`yX`4FC((O$j^m}W)G-Qrc?6Hnlxop%A^)ivEDJal|ALJFlzGgc&&eM_x}N+Lyw_M*2^Hs+g>XoaIFXltU3qTe z*_o)_y@f_@Pq8i@mM+&$?S@5t|_I_;BK)ya}=8Rm~eiRUOGZ!V;`zFW6PrPt7@t&$;{*4hmQN z@y1`-im2>;XW5}*gbaAz83s;#{btTf_|QjXMt}#e|At5GqN#?= zTAsX=%B1(8u>W}bkWlkj-a+`0Z3`UO#JQUUVfhZ?XR!xmp?mxJ`xpwLoxrBS;fK|cGtK9rXtdQETy18TI__mhO z`bH>9qOUmmscxKZ`BJ8C)u_v^ZjnUccdOU_sb<6~!blI9wJdoxMp)g3n(bI6tC544 zIENa+V5-r2YUJL2j;nTyd8v5&s5(q{guWkOC#V^ch?;4=jfv?TzSGu~MeHn&4zgu) zVld9@NBv$5sZsqsvHC{*671d7BNAIz-MozoG6T-8;JWJ1H>&X> ziG!%%pKC_Y#+^fEElpl4X~J!&`2y~Ui$aq*kcml|3cf`J-CI{d&CR{zCuLQTu2d`j zRc+V=W1jAQJF2!+FkEQ#Cq6`DsWsZ7pi&QVvn1Vr6?$L^|FP&6&B-SqUyQ9zxFzt) zsoa)30R-3*!&JPJ4Pmuy@?wUoXEa3E{OA%qW!U|1FT8Vjpy#=Vs_ci+ z_ORJ~IU@Vv0DD;Fz7%CW82@-XS8ncHVu5qFaEE_{q}6SMiL-`zv{Hd{8b3@vfZb0g z4~AOrv%9^x`!;tRu~?XF(@ol-=pFf!?D05xOUBp9mwjC>E~BEW?bTF%Y_y-aD8~-n zIl{@8`8#*<=Jx$LU1iC?xH~qw_o&s+9?RXRt)n{IQ-z~C6lxD~IG&beH~T&F`9=rH zDoqc5x8)baub0rfru;3&V*E`mjbB?E2NL37E`th~r2i=qBaEcoY4iH>I<~F*)LD!(YwXVe<>cQlK_7bb0;d{i7ILZ?k^29L=vwlXQ77{q4FQSWFTY zCO^P~z1@YIo5yW@`Z=r-2YJ=Mk!p(<(m`zDV~=|5eDuVFHgk{0R!FHsHg~~hE*Lm$ zyqQ8K!%G=0&+Y1a{lBtVOXjsKyIO1Ymilf3uuL?aq zdx-d_&nGa??H{Fpc!Iqfu_c_iu^^nN137e+&5W1xW-1QgJPeaVT)0fZDsK0_5eKie z9%Lv}fH9nf0tHz-N{Hvyt@9oU$M$xhknq}rPrJRdVa4d7p6gh-L7Au|CTOx{WtdPSL?sez{@@+k8|6d zW*Hv~FLZwo>Z#dEwf;7IPyKg&rvHu2)% zEER9eyD^M#&j_gtcWA_VWz@$xnA*a8j7r_-NJ;#8?$OZe*~| zd!u>W_Wu@{zT;i-j9XTX7p|;{olPIUu{aVhe1rRvWCLB*`^l?8pLyx`^qIkv=rgwD zrA2z;oXyACq}}I_z#+xkbYBk=CAaN?!8E_!22Z>B?H%aX){p0JYC>OXV>O94?cP&& zs)?K?y_63*&*Vz2O633OI%YZ>a#2zIgGa-J43-^(uIu7hh1Vvf5RODbOpg_oF=H>_ zuoWCx0nBEwff;b#$Tta;O8+cYQDF)Q6+>*zrEC3%;d-d|AIkO6pogd2%a)Ft7|w=n zzeKw>58J^7`_I8+b7#{DhJNbae#RxmfJ-Cu0gav1iSA9_pIQz?1juZIGvxJqhScaw0M z=fvA)%abF0K=QGE70{Q*g64>vHF?}ta;raCGn6khD9;Fj8noEoXOf1nNdhp72o~Bh z_PRIuEuRdEN0Xrt``6ynhtB9X7#ed!cUV-j#QD3ziMhL~WB;uF{JrYs|2(a#`7gQE zeO{=Jy~zx(psjd(+YEZ*i`B6W)iM7d5}A6%WRcjPBe5i^d=pp`KS5!ZMy)mj5x+YK z^THe+lTnajrF`RGAGI||v7$Qmu54PLW)c_#mn%rMPO;zpGX5VxSRx8bv$_tU&`!52 z7MYEI4*dRR0;0G#$#Z%HBkXFQ;)L^{|H_!aR+Pi(X6!L}jNj=MEoEgqhFTZs-P2fv zc$!|ZpzL_e1DUs9)7xNwtUizCb9An_Mrf(gO94(2_&bYvw)p&|zQS_U;6N8;qU04P<~{H5BVe|oQ7h{7r;Qz{Uz@H$%ehjX5g4zWO*ie+kvXcC_viu${4) zTz162@cEaF{rZ z&;pl0*0ozt49HQdEFe|2>6$J0WCp4B!F6+k- zjIIqcDmC^1ZQ7D$#62%AEA!tUsjKAlc*b4{D1n(y{C(6jQ_N|z@nUFjv$MMsjb(Yz zHzPc^p!Zn&Fm6~%a!7P4$9TIUEwlSpH~Y!2g8ahbH>RuNxNdBeH30pR7a1POF8_ug zKjmAkAiUKIJo40Wsr^7*`EGdeUS~H5Kezs~*zin4?}pzXAHF(=xYzj8yM_2s+OcN7 z^FS8aG~gRs16d3uVW9R*Lr&jh<3Bgx?_Tg1zYBlyx&_YjxvYKVp160sGNp&6W1sqJ z{2N_PK;0^Vxel_sxCaoo|pNXg)v(5EF(`lSMSPpmF8!HOO+|~w4aH6 z08Pp)OSdwSPMMOAL(HxUxa3PmTE6^~#`opR5@U>IWtF~s8ScxMk-mI69C${XH5vJ` zVUO}OpQGdgabL?N` zJhQu2pxN?HxQZK<=6UeV`HgZj{qpkr{e#^tYCj2wa}CB~OBZ_j)alD#DhNHzAdXr| zE(PKy+wJ|A=#nZ0lYU^rSrW((Z;bGu3`)QwNq`dhAH9Nq zw2!To@4dUcE3TG-_A_|2pE3&L^Ye9tJjh1q;zsxefu;x8_L2-6{tR|yQ~l9_HwU#JzzVBnq?o5rR-ayswR9n3`9MOHZ<-oXFK z2(&4_K&!W_1X?ie2iL6rGbrdkP}4F(|2l)btZa&1A?F_C+uDG?B;Tg{f@qboOO||l zl^1C&y2#h>1o)m41ZUA`G!yzegGgl8IhH~BWohcEf2-s9T;{;lRZRWBa0 z76qzxDOy(jNwTe53qNV@gmk1{5LL%gBdJsQf=oU6QYXi<0fXjvrA^DPnZL@&uipA6 zVdaiJ({`{Nr_1~ob`QA4I(N7F@BPK_|7(K5|FJG#8UEu>ej)y+I{2skTky~MBKT5_ zq@V1DE?K1R`+o^4&0^W(+v87sLH)bphiOXk>%hmz6Z4{FJ5>u&PaU8l6 zle`;;H2&0n9_Y8B!u0qvoVCvJZFiTg;$U&1^$0y*gWm?fM?PZjS@N+fL5J+hnP^;1 zJXUhHiz!pOX1Kh~{JGpH)J9tUX+*lmzjx!k#0)P_A#WdsPqwFnP9%0vW}-fp7hUzo zbAA3EkMnH)-w89R{-uB>t?yHYW+kc%A!tWi8674QhpydJZynYiDRLFB`3LH30pP|R z43@gk@_4+kn{C{%2o?RvW!8IDVl!9%>C;>vuBGHt4zk{TT2Q9sRnJ05)Qpz0?{lNr z2}|sXW@T3>&Q(KL1F1FBSY*%mq1ts}*$m!uLTB=A;22Wb6z@g8?=4Q#)E#VkqdfBE z@hbKIq9=3#vnQ=&e1*As>t;CDaeGON=p~&^e4@z!+jR7TjkId6HQ-p?xl*E5)sv(& zwD}~oHLO{+7-&^3DM+fWcBWeO0Vi_k{IEAdiS-CmEgcG~gsYWAm|#$xW6%_phb^gm z_EO(wzdB$y@Sy&+^e)8)`6Gs8x1&^}zvEpzeQ~dZCA|IK;z&q<-78>}Q*T!`xK$EA zwBCh28Ev|Z>j#2iX+hW0Ql3Kue`?BAb<_`39rX+E!ZZ4y>97O!9Mf}g&9@TJ3JraT zV^?j<##F_9=URotnN*ca)u0++Pd`pg^uWS@aS zjK0Q0)M^fcSy=Q@xa74U6og*qdSj{r_*UJxm}^?>rEj{(zeh9t^#N4SpLop+?i2av zTwF)nvpj2cz`cyCchNIwVCW1jS~a#ZYo#<$W}PVy=>f7PC;+r255h5)SrWeCPVyj) zR{ACzzfl4IQ$dG-YX@oVj!BoLnN!TFRupr3+Ylx;%au+8`*lGN^}wtq8435DU;1eHW)J;FA$bxHd;4Xth{_}jebv|5! z$NTKolO`khY2tL#58nPo25*B0e1iuZwWsh_TPE-Sf_8eyJg%f4ePKIgx6gOdH`)tW#qc7V&_nIb%u<|v+-rDEBEV$jAj&zRSoqVy*y;j}azDisFfjFB9iP*)fer%Tx zzix3IxFY|)@z3OhTGy&K$BP#5;PtQU694@vK4FSXQWgofXt^KYVi^@JmJuqu?20OH zByeTvefFp&7VRQvviYOJTnoikJ}`hAFo0-0(-0sn!bHfElw$Jxz$^ANY$2WsNvS`H zs=>j1Jb&dWHWa?VrN`i!rcRgn%i|Aa`j3E0&k2At2bxro=~jF z-!O_D?Ho5(^cFXQ+N4}}ocbaAgPg}<{sp(oFLKyD-+eA8RU0&|_3w)OpDR13eHT5F zo&5~5Gd^1Wc>V=e+hG@SVblm%!!JsdIe;PqDwX>8d!S3eKH2Se&w~Md?ly4hvH~SK zIQlH;MjxkScy$cH!pVpRP9j=H^8mTwS;!sR136ZEk*r}<$xOTThTq2z1o$y=R}mB? zXg%8xCB@#e`=lyU`Uq#x@>Nou9ers?a&p)r+81Q^9yC-xueUHt;UoeHg z;Pu468~<&)Y!CR0TW1&)XX8?9&9Ud+4P%-!X!IQ4wxH}juHGrPiL6~GD3S{X1jVUI zz`7aAaL@6fNNpFGH`aesk^kO3&p^c#KSufeL(7~; ztNJW2TT_w4@xfxtnZ*K?v}0QR-11XjK2+r2IS!G^vO`N*IcP!l+j!w^E*IHZNdrl} zH~EW~>A50!z3NlJJ^@Nrz`Cq@cqhY=rU4Jr+C)5mztPrcCAts{jhtFA!;?CAAkC*I zSenmt$$GueW&KfhR`Vg4jx$8D_t;$53fNb9ME-x#`GIPm`hNudtB~QSQg{LMFy4=w+pTfRnOn1MZ|eyEG=NN*kgQ`oWJ#RM&ifZIp!IR#-E73KOl3} za{^Hlig*#fzzFBzeIw!@W0~~6Z=%JaF4<_rl=iIY03ySPjEocwG%Zop$BU~(i}557 zks|S~^;HZf^r>$3J8F@uABPoLji{of>Pnz|KNaUceH6XU+H;dXDcj67O@r+I^;`3O zLO)X-Eir`)e1^D>|JW67?YK$0E@R%uT>F@}rVda#J;OY}>Bc!{2Svn-`kFE`E{}`f zHN=rvBIFG>t8!kkc;*pmHDOd|aw+7`z;z0NKzGsKJ~r>8>ukpYA#VO|>(c*+wl{%~ zvbz5N6Uab7;sgZ^0yS#XxCcc|im8bOnb1Mv+K5}Mh-j-u$Y``E!AX#57@PXley#fb z*6y_R*J5iG#U(7tW)Zcnv=*1@GmceU0cp+u{W+Orz6;4ce1Wk;4rgrN`1PyUS=Yn(i zWg^}pfm_#cW?p3Z=7MO)7>=PQla*#K9cK){TY?jX0)~@?@@#xA^yGo_y~Fxl~?9@?>c2p2SbIXH8GWQ zz_Iy&z0VBYV=}D-v+KJuv+Ip?N&S4DtD3Z?=;}r}3+UmCc4ZjxiN5;%r3`aXLoG3` ztR-4_#c%lyzh!HY_cfveEl2Fip#!;I2$TO={9PNgFJDK4^@?*CR1sme)EbTu@c5!T zGNwx}_@Ufd4t=zU{Xs`5VhsLszePyzxoFWNm;$zcP6gQw)NzZbgayl^?FPb}CmIWm zWP>#Oho%QLoHU`v*;d0nx+D}-3EYh>RnQ2Ycm*XLA1huguHiU{&Gt0g(>UU#Y*?D#Y5}YHd7mQiY$oM}5Gs0=Ut-l=7ZHqrvKu-y+6xpBURT zKIqGmoe<-a4v6v7b-jtv{XG%G@~0UwEPvV#TPOZ}daScbmVaIy0l90b5%f#>=M#-EYoEe+G^U5keJrwFUsC4ii8>Vi6pG z-rykzpib}3qXbd7{SwhA)41d4086QJRoN$Q_<_4jEqXtJ$i&A$-}ij_<_R#cva`W< z69#(ACCA)!3gN zDm0#En=LSGjRr-x@zO`9I`2(A(oEEO!lWzG3zK`8_a-3z(fLwmHPn>BWfonal(8%# zhR%#+{?UIs{h+p;rhyP*nq<*lS87}73mB@tl7_wX`6o{LQeQa!^S^N46@9-TxTWd( zgS#L7_7ahJZsEQs{QlM7|mvv$KS#3nOIi3 ztXSha8QQD*Lj2b!a?fUn(zg5vdz0kjXNhb;=@$G)-m z&Tdh`m+wuAX;o^XzkNc1>Xnhl@^=4}2x%h22VX9lV80k7vso3o4hen|1R!#RjWV3U zw4+Yhhjn&zH1Yh@#EaguXX$LDaQnMfM>!>f1`^7%WEmr;K-}p%<~+tkI$9P<@5TPq z?}-dN*p{3eA_Km|1hWg;^gdvxmeL0o5^u|v=JXIyQtHeV|4U?ds;KL@wxzD)-d1W% z?U=6)ct2{eQ=9fO%81pPf-^2!bpBcI?@Xx{w*Axt@#Phr#;`HA5fInuliEF8#()XkdDBA(qOr-!3-fG8ymu(jc1Amj{=g4W?VMtr-3=g@ z&R^#AMqc>#S=N3&CFiRQQ-c>i5&Yht3|90F6}5Lu`>I&)CBE0rW9lesJ3#J|P`h2~ zN}P?Y(q<3nN_^XV)c*P|r}o`%va!qOYs8q1y_AAz@PoBIgpTSlYhyb^%EtbrHB&=S zQsZN7u%Lz>{XP0m)Euo0--vp_PN#+BFPeXyl5|+N&Hbw`k-l@A`$cLU^UeXH0?2Y% zBhJ(*rL%HaVUMT)kgU=qRG`bsU&vKDezBglJMu=|NT%8qHqo`CBHB??XwVkRT>`Wv zT=8$@%)&Js zO;8bAzy5FsjDa^#o>n$5n(Uj&`JPN(IR3>SPqH@WAj4Z*I1pC)A>5{89nwq+T#3|~ zJPI?85Iz9V$Uf{70#7bSN8-Lo?1*xP8AA8F?7@HfVn|-~evA`agHbyhW=q`QGuwT} zT^wMwxJ`s`k4)%v{PEO;PJ^DUbXh$aE(g8unkK;iAy13J)~KK`xhI@RJ$HkkD&oszz@_eXP{qsbZW{L%1&hhbe`crP~YbjfYClF(((i~Lk* z3Ul+mj-dd2Qu+7jS9-igSD1x-@U9A-7}ZS=!ndwSBfs2Bl7P(LZhNLLY2LlFjqOno z{24p0kJzZwk%Qhrr{;MpmpM6TjV2@qOXrHwY@#lB(i~sS_#J(t=z|RBm6L^L7b=z{ zI3Cn7)aO5IGd8IbrsT8zqn3Ttb>WFmvki3KTe92g)wuF7*dYzDQY-hk=91Od{<|s9 zjX2g+nqqZDlePIuEEb`AiDQ(N1mnr^*LuYd-&)p6U8NJN zk5;Xi*P0Re`q3tX+FKT zS2SPPa*t$ak9IIJIsYk9VjW3y(4qTH-=`OtW#c}PxDx`Va$?0)KXGxB=93}~+lL41 zMEOYf>S)yq;baJgoZ9j2!fDA94xgHwmtQx(+i1;*R)&3$w2)fbbJ-|Qnc2J~d9A7I zm@uv@njp{dyIy37QW9_)iFW$~!z_{w>frPHtZw=Qp}0X!Ir}hZ@>$z44`#}bX47C? zcvU?1%UKJLYEh+Iz$G~)aqb{^>d9-tP&4{*o@N;XPw5yoNSh_6BnsHr;ZPCj5UfTS z!>kNQxibWMfCbyP&LIYljHxs-R%9gE&IjppwM(BK%sGT@GXaS0=KwNF&EBZ{+UdM=1b`R!>cAo|;HaO?+zn$xGzJ zXmdhrHv`Z5j#hs&W1%p)$tcesn2pH#N&DK^WDTz-`|e%-7EFfqY9#2b#+xl%&;W^iNM-L-be$4s zVEt^Nk_m?uDy7B){;6ZL#m%;<6GT~?5-|pNpye5qdhTG0J^P)w4HutO7-sQxiMzKQ zz+EbmJcV7KY%#L_VT19`8;y3$zzdJsj~RJHiS$XrRg3BeAONESAv4}@I|7lk<%wL8 zWHmsGfbJ!gj*G#5ZvMeZV+a%POjfUR}>Id&p~b-Rq_%UZ~spavf=)rtbILwB(4x(nF>u{=yO;qgAK()@Xd1W=PC1 zWq;RTY?-Z`r6Y7W!E`P^z#(@76615n&%}@}rJGcvq617t`UX{acs>^X;HAaIT_5|KKp zdPzFhp*B4>xC<26jLvU5`*`#!m^wNB&PeivEgVn(V!XO#wsh(wr9?rgF^uf{c)X;R zI29^XPF-a`NIDq3N*!^+m#iS)ZV(`iVnC9(S*x4H9_kN=CTw|8C{m}w!w2hD{S6PF zT%1~p9&>%L4*0OAe!^>}F&vkrX;gZo3i%vk9d?C%?h3fgKaityWnK4^ut#{&NJbnv z-VQ&Yw)Ni!#!{&@)~Xk!$&$HBf%GcLxV$9e6qzceD<=>1UDl90zEV&2Qoz!`B!2^@qY&z&7355MveqYrM7!=&eU#0zr% zY|igpyRY**s-*ZqH6?IOdUTB3`iv8`v zuUeNTn8nr8(yTwHmhi5VKz}oA>t9*@GrU!pLjNRQh+??SUnLaaNy}i<%$ok>n0MAU zbCGPOPQOCzW-y&I`QcXhuOzg~;s3jw3E<eiHuIJ;^un0GIO*mGfKPS zDCa7AwAvMgVDHgEy5bxMzVA#?LUKN~DY1b|WhBxw0 z&V_aWGF)b?dh6&D_|Z;pHb2^=0|P(WYo7Vh#$Lt`WG|C}lBW+az7xK4p827->4>+x z39?uO+4axA&CeUdci?8h7~dWWx8KB%`m*pk|Epg=rFLp;R_k>IlbXZJ0F!3#vo_M# zhzLuxrzh!JwNR`FRVI*4<-4;7H2&DT-7{C$6oj(h@mseFni_yBHIy#v`30u04vZeJ zWfc`L+u198|J>o-Z2KSIyc_-F<~RPk6i)Iz>uGS8@0KY9zJ5p_tO~LH^z*_@ zLEVkX7Sy8@=H2QgtarPf8F)f(>tjl;5FBaK${Q2@3xk{6xgnomXdjW7$*Ladr?}Rn zggs-z*)wC_e-@XTRnN23^WC~8L%+OyCauBLJf`m8yY{igJlW0C;ARaseD$f3?kg&g z`_(1(oc*fmnTh9rwTowcRn3UJ8@bvCN>wmf^xtHg6Lfmi@8!Bee)|sKSux2%Ll_!P zS7eWkLAXp~QVE*E+DHLHE8rFp*_HDV4T6Pe!Ck1&QqKkmRt%w_3gI?81Sq z*~Nj`8tM}@%KRF7%$Z&Eku*8-m0a!>n6>vrAnG{zW0I zSHIr6jDGFkr(g3fQ@yO8;?%BWnPVLh_ z=hkh3f`NUPgP(T4zHr!rbnV^##s2R)wc;B5aPIf{pILZbwbi2GjA-Wu|7%YB2L|nT zjC^xXr4S0e#U*tM!>V?v8i|IZoSM4GJ|3-F*IXl35-(;+;Pa%Cfjx_c#=h8OTEj2r z^Q?H^NT!~MU6DTOQ7&w5`kkwPe$e9MPeysbNLE!%WcAdgemU1a68TOH3V(6?2gdyN z&A-c5FJH|&-t%X_J|o6C52Jf|lrgFPPbFebYXgH#FuLp#QecZ2J!Z~p+@gQV8Ga@w z?21vVVF(UAmFt*AMCLu_SdVs8MiDnl{hyamogPzA1K!jEZ&K6Ir#3y|@UFJ9oAeE2 zgW8lN6a3Q z_)}|JuP3i?`)61wgjrAH_q_0eEj*=;w-#KT)GNH{-F;S?$DKmZUe&X)iIOCe9d)=b z5gy)58eH@NBRnDwzxu55qJWyM0LSV-t}c7iV!&5)MW`_rK^ z3yCZg&g>LE70>PESM}t2S!oLWklNOkf=RLcgU(&e!f=o)Y9p2jzg=EBwn^MJpc-rd{$dE?tYov}j`ez`9@z9*SV3f6DFcznY*cS9lK zUy&bpNO#3P{)g#>-1g-gkPKk15Gb%d?9@Z9oD_aw*vXNOuM+tjO{6)nng%M>dxCah zCCP~lM*`yQ_8iy?S^L0b0JJEjs%EApcc6*7B$u$sB}VvSdkzGR|0zBx!%iHoPe%!w z{r(IFf2tD?OJH^2_>zdoZD6W0K9hp;U%oIRX>gsEuZiK5ir6XmJRZVmar=6QE;z-q8AnvDs;XToud z&hRDEcC$oJex6oJ371xFREt`X6v<2dmOnvhkwCyGbM^VMG8=qIoS<3ctjT2cb*~4@ zKeum@`xD=ypsQMMdtplaoy^iP-Zwu^WeNb;KG{z>Jcwrm3`rt=kmbM?5c=opxnoQ;r}i_Xo0^H!2s#7u!_Hv%XlF#0zkZpW&8=h3U zZEdU^eo?Q@z=k0lWyy=6#z2?4m|6u-z+*cuz}7wP$MD$dnnGq(yek^JD047^v(a@h z!u$)QX2W7I)3JX1+IKG&)EOaIY4!^4|b-TFQKlF(Z0B5)jq(EU#J^5!Q#Hb}Z!q$nh zD?@$vCtT%!+DeP1WOZ1rjDSBSC?cwV02o0pV@Ifm6wbT)fF8Xw*38u3J*Xd$IpB-{ z`YC8Cm~!TOFy&9~bWB+SN+qXX+_p|N}!tJ4r-Y13{1HKC=#&-?8vzx}?riq&# z40vmq3W@1d2CK^MX9f2GWIY%Vk<*g_CtWM|xa7}{dwO$W!#No)?DDy=%jZIABRSHH za>-D4ONI*tlNau$$9&1E0f-gP;X*Z&%Y~|x;X?H$;6inp`&=&EfC+`9Z8hJ-B>O*Xoq87}UBpI*s)CJMsgT9SFHht=4j5H#N3HiJR_B^7PA(CrDReQyCAm`r*exN!T&S0r zAH{ZMzGGMNoZ9ui%(Q=3 zTJHR8^F>ayBcJ9f!R=gfe<$Z{&Jq5P`XwUCbJk+X^tC zG9z5io9WtTwj|)rTPgd>`)>7??$mMgAg5C~w=Vwu49Z)-;_uYVWEHQ`55bwJ_1W31 zb@4%h#4&p3YSH+lQn$wJA9r3F={OA_&rqjAzdh>_KXQM+eOQM|h91(fZqMCDUy?;P zs}~7eq~j^&$MctP_VjVKNF6OJapzQ9^f)a>isRKott4B|qe_Q2ri7qUHU%rLOKoojIWGV)d24eDZ{b zJa0b-^L2)0U~aY6ELN)$m~ZqOs`OzFKLFll0<*XHH46u?$z9tLR!h8hC+Oo7{lGod zC`nz{XU!^yJnnqsgMHc*PVJak%4%hda1v-**ZpiHZV}=)(|(#YukVzV zOszV+EJk|kva<9uxefNZ7k_VK&B^iie+7I%{&xH$9AnQ{rZ8)njzjG(3wdPcGbkn% zZ^v{N@=vNTZM#tx3H<*e*9`B6d-+e^H9bIhZQ`w3?JU@6{JCQ}a>0+!b`BVavMcLgcD>cSv=Usc2KHUnuGcc+Z5EZ2p{CPW#9hr%y99*1 zu@{49{wh&{L=9RZ_3o`wVrlMDld~*i>&uvYj((TZdtW})(=lyjdD!wBE8Xk@eG`~m z962U3ZIijao!3Y*jdIs7#q-JoYJC^=se8NX5*sMv(F2*vctDlS%Q$s(KL(zyS46$K^gme{ZUYn~%~#)s1dv|Cgbv~!_p8Tof}@J;Y* zf*1j>K4`w;;Ah>-o?Ym&6oYVK+n$6R@5;xryy!lXaigD!CF zK4-xJYM1p1FGp@Gz2?6U`t^5)+uP6c`Hb%@RlCrwu?H#cv+wohPiKc|{hgIH`Ym2q zVpl9pyAox~HOmvXy4=_u+6u#RJ>Os#%Auo>Zo!kdKSBs; zBqbEkkEzMHF?>0+)BP`-MlcYZbX#)Vm*4-Q@lnd>-1vAER`r8?|U_}xs3TZiBI%m97--p+Ja zQpD|KXTKnZ5>68N71KWa|nE7fJiir#pSsF#k=KkO1L=bGRFM$cxup)FIfR1QnZ>I$Tf zmU9`kW&d-#)h%r57;9%?!FtZWUzL5(y08hXrG&JC7o&l;ay$`s-< z!J_WL@A{GsxKHa%l4>R;>V2M?r^NZX}D)_F5#2j z9_zBg&$XKse!bccoBicB%BZL`q}z-Cu-lvs+pCKFzgheAB{P^997I}-mf+ZEq<2Ev zZK_KBS=3@6n4G3npEA$?9)G|OI-m^I@?bJeE8K5I)9;u@74l{fatB_#-~4S08x@-; zo0Hj!?$LVP(Rs}zI3vc4o)S$n02d+UMGdti%6Uhh!UJ0~cK25l4E65(4?hyqfP%;D z!z7TWmY+9=1EXAe%iygYu|p&-@#((u@s+C-=!?c~ZH6-ES$+PDtgG!|iDKl3)N>@+ z)3dr^x+APyaVi&9l&dfLAGWJgZT;$}ANZAVrylh2Qa``YX2H@?G?o`^J5GVQaC?Wz z7?z~;n>;-)%cvsPm9)jM<|=HJT;N|i%lAvgB=JD9Q@(-H#U`Vj)Z56Bpq_WoCC(|e zL|^J5LEi~j7YsNz69tb@!+Je8uo_&)rnwdOSqpqGg}wbNrehKD_MNH#!!pjO4sbxfXng; z6@L5<+RE%+a3%ek$?Mn~@Kyl={A&oG-RclNY+x8a%>slu0_tmSuT{a<4F1$DC^xLE z@pZ_qD;F|Cvi_N~Vi})=lTC7CKNQJGGha46c#4x|IkHKJkdR?IR35LsDO*KD7IC(~ zucAjM&PoGO)^SvCQ3iBBi~!x!H}!ySX>&i&jj>PJ`P%}=&fgxjGx*+`oavGe-M(ePloIeKHyN#`T1+q(AuP+NXNLcdh@i&&A*5KJcCV`S5+CFMLQU;~^wf?$FAW zQ!9P_U%#vR|41Q7b^;-?ELeQL{vZ9t=Vwa)H!xvw`hN!gAYcEN!ai>PQDTflUOKxv zXAFC)k=poR7c=T=(s7lv+hoGW;M$0#ElkSBLm>0c^nM|)m_Y4oi%YEQ z>XF}z?RD_H$lPJVH0f+;ca8VdiMGW)c2oz(OlN`f za{FA^JJr6#_NPG(=U*}Zz?~Q^eewR$*9GDpGx3jFtzMXC@@jCL1m@SOs4$P6$4fBp z)d}aG~jky;~n#de`B0>H@omaKAYNPCD4P`MM}aJFWP+# zHQLHrb)R4@NAndBUi?*W_f4tpN#SpH&xm%6KM=vg%nvVV-rO3g;jv2|Z_2YYn3@2& zmWWcP6+%Jis=WeA6SYGD5Y z#&|P_EuXQQ_VJRo!_JUM?2*FS*t7|3PbS>94UOh(DF?S|W$A;#q$Wv`# ztu0Ast0mT@Zoub7Prq~JmEVqi(|Q?eik%YCdH3rgoPWK1`-$;ai7{NSNuhl!aXuiP z)fmZN&i=m>^%;v_-89LUZ)f2V)|XDHXIE$HE3W-H7hgC#)?)2nG%I$ca4;*9{07Ki zjv~nMZ*85%c3*GL&K$C@KB<%+L9-iy?2IpuSJ&7_i@i(jivwY+5@*VtgoBmbF`Aia ztSl8OQtPe0!_yPBb!=Q)mr7`L6mGHp#0jaG*%_W0-vCFY9=>jn#i3XT& z-PhFBu=n9a^%IRo{GVi9MI_!*n%5aS-m9`nQg6+6i|Wnngcc84&7Klgi8-7++yzO= z5$O4KRbAnm*J^VEqrF9kptDK0t|OXX2tVhG3x^S9dG2oAwXHjjY(B>LZ`)%5|LyhX zEOL9`DvDRXMbk6Z^5fg{W1-dwM>c;Se>JNV-zu%^Ud0j(uJG6AKstQ>=70dPZf{vI zY+wACVSCK?v!8Ify|dc!;)7o|Ud*MJ7{0zQAZ*2um|0?9_*UuE7csLnut#_dwhOK@cEE^9{oz; zL9xT;pE&!<<_p>XF@Ih`^Tl{Cz?uf(6O$wPbq~(D^omQqbMXqiA5*oaWeY+v%UaC|iv0j3lsZQ+k@~=P8G<4~Oj*>@V1`%l*tY z*Q3Ym`uD-TNt;XZQ$LcGbd^G!gU(m8g@x{mXIwESHj3|8XupAjKJ}VHTOgiQ7?Lgw_=7JkyW+|tW?%fB zD=&;z?Hem=omV)6Q!6vQR-Uc=)X%7%EtvUra$SCEp;``<=mEGh6`XG8zeTH_zJ45% zX;@Wl>-LJ-2l2P+n$l=;%$>FI5xTqc=B`<$OM0+eTmzU9w{LRC z`_zR`Ve@}5*|?x4OQ@7~>@PKjz89I`zN?QOXCLjfuO4b&E$jVN^*{LX6JPM<=%t(T z*4;5703e#UpfU%5MJSb}g<#052mn|aty+8iu>ep&ueVjq=KI^KuHpM5=yjKR-8C&) zQ18AkGc9lK>OSAUe$cp0%-@T!I>L{IX+IL4_V)mWNaBKu?D))q<}*~pQWIG}J&Cz2 z`z!NY^7zGSA!B=IT-@G-ePvw)GuhO42oTTpQ}1+rVaK?92Dz=C)_>*8uP?aubDe5z z^WOM75vG`{S4tl+|J*3g7q#Jsq+f2~CVfAfcoCv6-H4)+NV~7jJvMnR%l= z3(P#&JH3~sm$u{Za_^L?YAMNh}A1U*+ucRdTk7C zC5uK6!CzFhCUz;5hz+vLbQcN?rZDoHBtz3*IV;cmxY_x(G>)jW?Wc_p9D`MU6$@kd z`msLBi01%hlPnN`dlx)Fq2)An6yHh@G;?NsPB-jJ-f3fcFuL;d`1lDgP=+2K{z{d` z(3w~kX~TZ=?mSrC7uuroh>g$jXEV@X9_XVA=zI5K0 z=?kb=NX9keGvqI)FV}w6k)LRcJ#iS8P-mvThK&bVO4Ea6lFLNX{%pEcnHv|8U83@? z8lBrghdZrFrAk~^`y-$6M|eS3w*L`zs8L;OaQ#2r^?$JX|3bJup8D_{;O$Zmp z!X z_u+({_J8!zuK%H3>i^5?|5ZKv|KmRWAJ?=0w$yD=NE!au*Z#Bqm;5LF-;(A37R_-w z#pJkuOldN4SjaOX?fc^m7mWeNEz{&LrQP^v0Mnr*bk>X3qn$t_CUzA1sQ};P6#>v&fKd~R~taJS*8DxLwoco(tkOd{qcc%xvQ*Iyo`R6KTyFvOYBP8U3-rM7iIS?H(GY=5MrK=&6Cf= zO)N;^l50FPO1sHgsCXLetiQxz$F~-aNM^7@IdR9Ra$$#^o>&O-A9$l|tvc6UkX4c_ z%KujeN%c88ZPw1li;Ne-nbG!6r)}T;3sBa}K5#m1b#^ql@$(pX@$pA5&Xr4=SXv)h zO(5&J(~OHYd}_!Fx8KNbwtknzT1;3o=~N^6(jcs%x7^8qOv~7uSHZKMMfISdko@HSRjjymdvpjxN@xvNHo zY0G;w1$%k(hk&#As`CD6>karEIMVmzQc3jb+ddip*dOu5?f-PQ{`l`{4!m(Oy=*A-`C1Z}i9CGf1sXoHsyPs0fn}#kjBOent)%rUok5q+IiZWV)vh z*T`(t2ydV?KL(|l!tk0TSvIrh2TDXc8d)Qn#Q@dL`7_E2ZBgsapZl)1I_>v=iPh>4 zzQfY9<)X4>sg$?yK74TTRe>P$8ix9qOdZ*0{;T*KWe{=kH?Onb(E2(59T&dk=Pba` z>B0x8Nd7fkZ7s>JcV+frE#}!`OBC^7H(HX#nYsV(<;>(n!Iol{CRptzQD-+>zS=Td zxn2ajq~(48V-3zNoFtnpx@}#PlW*RHH3}+>U8Qx)LbaG2xyA|-QQ@!1Cy%|KH?eWl z``eREd0wHb^0k~QxAmzK=MDb7aQg*XeM%PH`7>&6SZxuEZR7Qh58iHFXsCx+4Yu0n z-BS!xDW>spR(P}yZ80+)rC!>ekWHEOV)cL4b(O+Qn8}!Nt(MHF})F=|8 zb%frwOVP7j3~h}xVmGsbn-*@M^YCF#nW})cun0IQSCtcGnz(9p&x*@5)pOFNgVlQ} z<4Dq(tlp~E-yuDBO`f{)qzY!cQkw0GsI*PhDAx8C4n6eAWd%x4?H#b0WhH*z!q2Q! zBtv_Q#?f2kzum}N>qI4O+f7YyQ*U4u4YaMTZcCj$u6DF4u5xNOV#RK?EqH?7s`T5b!sjdI`6r2^1RzGKzJvMt}0Z^xSzM~D_OlyCW;_v z6@C)j>2mL&gEV5?;<*JcIc(bkzh8&MVd1^;LZX3FOm4ML?4bpGF@=^b z)WP%^@3#l4Y4_UJ)7>vFVRI7_xTV7T)je*_La0wQ!HeF?8 zra}c35Cz4VvUJJGj?l=}DCs5V^-$8I;*FxW=x8vRowH-CXm9Z)s;c;s?FTqw>)Cgw zXK|7&dRgGWm<~05tl-6O_D2t&4gsdKSjmWq9%G9$Q_0^z?hlaA_PQYL!tB`eiLb20q>&w)&glVcCsn{&3O=Hkh(SgnfVsdxf6 z8vov=6@KN8(3VFn4CH+-?vU+(l&YLXNiR0>&i+R(E_Q)KZZ{6em8xg$W>U3z^5=i$ z!#8rj(hJkQ`7qOr-H3ADAA8i_RVb77rQ!P{M=x_ye53cze{=GYZgZh-o9{|rE6#Mds4e#X82Xr&*T&k? z`|$f^;kE)*O4i>@++BWn!DVRfv}N6PL)CR4+r7Ua&()rBX@HJ^5s^L`(3v6c{qh(_ z3Uth~Z-ic0$>^Cqy~pU;G|!EmWYO90Y5-`G@aR4oJVY;(UWS@!#ZN9Pb)!cw`WZcU zS>;}%=iq*U?M2gI^z=i^w-EB#&hCtsSX&huz?(I~lA*U((AoC0U1w23yenFFhwCh6 z7)909XGf{47H_M1h>2%xq1ZLkPe=dw&%R>9@@MpbHIT`l(^t)%*9au0a^)`OP&&Zd z>wPCA-qUYj-$rxC=LrdqQh|S-%^FpIV9X!Sn6Koi;&V-x2D1$mGRxESxF%J~OWL)rxn>tGiCU&Xw7AFsD(E zeq%uE5akQxziiHJv=@4V@er`o7yH9(e(xR7twSaz?kvJRwJdYgUGB6ebFcj8TbyzI z0ayu)Yi>D>jCA9tv3S5nXm~V2#2I^KXW&-oxU4kFz9(>g8a+OvtR5ub;J3ec9m&2e z_XB~1MEymQ_|LSSZAt!Xmof}FKXfEB02XBSR1a#Pap(#3XZ?$*?(|H(VriFnznU;9 zdpnA1?NWUb7qeEqg*)8gZ_GU8>g*Uf?Pp5?cR;P8m|3SXuxO=T(;R;tf@1b1<}IH0 z0;VCj1`>>sum1bJ?w$D$4*+U^epRoe2n45LR7F``=1dXiA+)K|8D-_(6iiIRM2$XK zs{Yq_x4oetCqW=nV*_8dfPzT;t9jvec~=A|Hkv#?k_VXpHTZiJ6BHXCCER%Hm)ZDW zHb+1L;^IzuiIQXg5@wK0(hAjk*OcL`vDstKd}pS(jy=ExPr<+%vU>7W6Y_p1J`u%%V?;PTxa;BsxQN5tmWhx@oI z4fgkw#!N_@UQBDidtIq_#&&2LS7d|tYZ^(f)+YaonVq)HpG0wN^IxA~+MFBl??%VJ z>oG)q{#|SsbxG3kP92Yrll8xF+bX?p|HMDODmn5iUK1%NSs_#sQ+b>tny7U0pw*#z z#T|-EK=T=oAeG-c9jS~AhDHh#nKr_g!E7d?6f*b}Tg-Nk=9!{{3=i4hod09R?ff5o zAvpiXucBAJGfVl80W3|v&o$|RE(DwTI`TI6s1&%L*)O%kh_e*kwNwusvuo55!e2id z&`h}6X9H`(x2;Yq#q+|sWe0=sN>zY4r`z~}Q%(awohq0NZAh|DXo%lSepdLqR1V=a z;ah7eh@&n$cwzlGb&9W$N+J=VAuSdpA`S8CukGpUU-Iy$_XwMPKEW2ec_H3GI<^|b z4fQr%ML+Mz_b05cFvg@itUw1A$EzQHWLng{IJHuS29xNHt7_;~J|5KM$oogk%u8Ra zuG-`8^>`MKp;#TiF4p5@stsr!q}>5BEd9zu`T0_Q?o1OB=-0kb#Y=b`i2Y4|G9K~I z4(4{=o-+YWyTlorE$YSX>O}_FtAGuNj?FZ$`un*0mt@)>uJ#*v48^{|??c`1zz3m# z@3Y?Ut>vq^@Ga*#2fm;3=)?Ec9tNLO zzjB$a9`gY6MLSNOq2FkIA zoysVwJ_SI$wZ$&inCK?YQx4bK%9PY3km_gA|K;v(SrQ7#f|D9^N~7GEe{A#hTxvLx zggGPM-8%oO_DcIQ2EJtEGU!*FvX%2OSe6dA+2|$&n^+i)44jCiPG~a_$~)=E)ekbd zhu6E&UG7HrRmF7OUw_uR*6h7xNFpY)1DjSfuqUgeTd3B0Pn};dyWUfM+#52!bXX3@ zMzEmBzFBGg5BO9Fcf#%$|0)MW}5dPi>!5K)-pB{TVYyx(`aCKUsd zBB5B5kPsv6ez*lFZI2|jaxMW;2DRwL_^OKj{ifMbCCpdcz4FX zxSC8(z6yB}apd;*ZRCz!04L{pPkqK5h|%8#yGi<*z(rxqGSOANW~A(uW7l%QZ??{! zMyBOn#2+Nz2B&tu!J~9cD@_=DqhI}4ljAB3oyAt;F8ht+OPWK>zte}ZtN$kd2esj? z`-w~mSBmk^6u{k&>!KMHYtcBBhT8{4I)-#2_}B7q!w|-mx&+Y~d)CnWVMKqq;)Zq(KEA+Oj#Uog1yZ;Fvq7V@Cdag!<^-Div@6@pd&p`ZwMSAbo&nIL7yA z1J`euUraR<0)zY5Ro7~R`#xvsshtKax?foPMZdJm$X}^dw!kM|!KqAGC9$1ka1J~F z5BQU$Gr)J&e)F72RrQ6m7Q0Lz?V?YD)^*CK<72^QOxOOhk3{p(J9`R*vH#>k{)1tU zAQksE`hAzhX>-AaUg9^mv#)4_N(Tt{O3p&CfMd;!z1{o=H$`%!%aCOEp(06}n~$*7 zj!4W!ZfXok%o6DsdD%a;<*@qOy4Y?e@a%njhmr!sQ13;Dy5A48i@#BjK5ByPZLne- zQb^}D=aGEuYOb+4Op{2KEJ_!Oa)GzD&AhddWbjNn3W{ko*9XM+! z=}hX-Bi4q^SwatTAHE-KF3xWr5#Rh7h&@?mo+#i>fDSlJt&5!A1|qSwRr7wskxoN` znF>`tQIL(vKEPY>(>^iTisWryJD05wG6k#F&2jljQg;*gA;sLJkGQ7R!zRz49c=e} zh^&Fczz+y7ilG7|crhoP-#yX+iW?BdYrOH=8ilW^t=TgqMTLa|8Ow4~R~jm`j$HLr_+|xx$hO5o^NX-bZAI8@D4xFCufD~u z=MFVBF)PwBo}<;sX=HfPT2>IdF8|0m$giH^>)Nu}-8@N}o7ruBH@@KTf-6FT=q_sn zGr2_D4V#a&u;=RH@A*q&Lp_>lg``p??#|e8u zhrJ3T$u{4$utV^TzU$rYacfhLYw^R{}^}5Zsg?6A9!;^p}jO2V}wQ}U2%WN$?akZkH^g{YX#MaW2J~TBvah)`+ zF+kNzb7qSx8}!k{#$adMqmQyPZd3zMQ_20N4XsxXGC5@O{Z5vVZI~WimzV>?3~-R3 z!ElK5|7AnLMl-q^3Zuz$Y>!;DV@BDmQxY@wVdA)#+K&}+h=KBBi`wbYI?>=Lz7@Qg znm8cZarl6#iElFvEE`}VdNC#KW=U|-rHadIyh6$JsHA175!Y1`6EK z%b$Y*DC_#c=0pJj*_Rr8Ze2{Dz1!ZC0nDzXk=j1LF<-0REatSw3H&yJ)orspqz z$6Dq5ud7*q4rdOBR|X1SmYu`!CI9xOA)1!lY6$daCIL1`KcVmQpQWM@M(jQioX9-E zlwo7)`B-`LYoCXeMWo0TR!$cv4l5Db(Ee161RpDx90*qS|CPgv{k#iU872*ZxYt1` zM}wj8{UZvKvmdKz{cO}VZ^c)XE*w#q{<|Am-Y*r~Awjdz)A;nB=TE2Cv>qR8pcB0T zZ@;JW5l4Tq|I_9d2m14;O#Vr{TpY2v??gn=vVYOLxb2@RPT`o^kj*~HA+ETk{?cnk z(eqLB3#mNkqB;~o>d!CA!J3<2lp6jx@y4!gCa|!uj&ekUc=~7j(iPlj40SS_OpZKZ z2wqVt=4}bzdo<@%V?z&ztq&a4D)4#q@yN!KYk#rRy+GA{GEQyo%#ZZL?L?*-f9~5Q_9M^ zsE{UGD1Z`Uuoa@gKDVQP)W1?SL!koroT2b@HA5HGLT^Lit@&A9I#Bzyd+O4Ppq`<1 z8x7b^9xd8Uu{Aw%++dLu6Js^x9y5WFoOssz=oXDe(+H{e-ZX-%9_*9H&a`rF z5l$N5MgLjl^ej=?DU~o(b{7a%0U<gNK|sc*^bEozX(L8*87Vwc*pZDJw=p8s-CPMBjLFGKqRGok@UK6&A}=WZ-bH~m=%_Kn%%#$&vp!!XnO7mE&l|kcJ^lQ zUZ72K6`K9*53w{O3eHqy(p=C}3 zbA_^P24o+MtYTn+UvVPZ(+Q^^7xWQM!{CjDy!HkzHn}vH@r3`4_BC*Ie;L2(9xl=g z?i%!keDBnE#b(;4gR`*3BMGtj_h3MUzcW#*QBA~BDB3Y7J&41tz&~z(5+`aL{hhXN zejX!}6TIL2K3Z&3?3i9qyPhxs!UbU|an6;gs=Nw(7O(TFM!8QEQ-j|y(jh*dd!O;S zck4Gqd6lAix%}x7TN%r3(%7)SCVS#8x60>1;kB(2L)rH-EjsuB0szhZCH=MIwH};v zc<$m1EVNVp*#Vsb{YO(@UjNM~yW1(hUu4&3H28hznn;IukTB7)RfWb0e)<#ytwaC_ zIbMH`(;lz&%Y1#-s+z>bnLcx_BncrkB>Qin{fu2}&rX`Dp?q&h`eTd>GCK09&bDXF zcQsuY!x4rvR>W0mTpxA)L%axeu#X*Rh`NDoeCaC1m)!6!w?AZ{t52EFe; zsiLY5hc>t{+WNLLGa!w-%cx7K?V`!imBSJ&Re-lh1BG%x_B1@OWfYwCDe$>+SC^5jBTds`R1Zu1hYCG(@et`aALSZ22p;yGlz|fgpFgPi zU_Dq(A~Kfk7m`&ppb zseC!-!Hj%a^0zN9Uz~nYw3Dx&W|^1CtSrPwt1y}jJ^!x<-BMKIsd1lpv(TP6(~jtT z2)-e5HME+ax73E07k95{f987G&-eNj@LzYS%VVG91@DW-X?!?oGyyRScC;kjjaf^6kUswEkk%CA8ZmRx6!a?FZ;YouGmN`|iE_rwnGkAHIgz%18$`cWzW30n3*GYKX- z!$2l%E6^_8lRxQ${1qGv1>dNp#JGipC+AeaaKkv5vlgvN_WvD2XCEXjzVy%j^eVFT z^~mzK2S$?PZ;3qpX5;{)1hzt)frkE-{g6VPGEwgGvbq$tVcUPop#SKR@ z)yrp+S24RB`N~bzHTy=$cN2eNV@>$}Pq;llG9L*+(w9Fk(?#iSx-8vI;^p+cS*9@I z=-v5JE@zlXOudz14?CYdJOBSIYXWI5E5k=q&~clV?jaWZ{vU~WAje>fL@vzYJIjz? zcd$Nv)i{u}x~9;N3GABPNCSoXB1IJw_}Kf>4Y*z1WGHR<-@`H#2KV?-Xv+9ACG^ zu|Gt}^sFKX*cxX47x0UOTD^=13@P7~gfx=7K?sn%%Q9p1U6~I$_p@l~MW+@-tFZ6R zflneyXG?f>k9?HlKbNI8(`fyaKU2h*Qw!dHe7FsuGn47SR@ug{+?%N)Bb9rzR7%v0 zj5G7MGA)6B@wd)4`*0zZ+(B}>3p}uo9LN5G%35Td^S};@CJW${+uoDqiNp#VJ~o$Q zkw?z-yQ#0a3yT|}>#6UbBj@qjoBCfGsD3RtkGYr%YCr zfW1b|Wh;7*8X`J`qr^5=L4#XAd9g;has;8fy!T;wr&GL{&-p^5Gqnj(WnZG<0PHGP+Nyo-iP9iyBD#|%c(L{Yky!zd=`|93&mDLcosFi9TPLu;Q zQ@^54FI{AYx;OOMJ_^Zf^whmst(4_7v(LZn^Hzl#tPxwmW#;y%KH+urb;q&QT!?A; z8W-=^Bs(M2WbjgWJ1>0*u?WBVtpZ7pUCf0-zqThe1Or5bn|d!s9gxvC=EytenLgmA zE&+8uh>rjN#Fu))7~fIQTqOAy-%%Vpov4xXwQUvl#osfWDZtgowpPvy-zpnGAML0< zzu+3eRE1%JKNm^xs=s zhT?yUz0lgSTX*c~XfnbPv4Vhj&1D6^o4QI20746eP}qdYl6U#jeS149+uJN%f;+$0 zRG+B9O|SP*mz{YwZf$4k4}8k}TQ95Yr)l=H;6~n&q*?l{_0yrvC9R*{!*(*V<6eD! z`2ME+_?ufWdx~R&ZQVV+SL>%;ocpSukLHl!#iX@V)DV$2@m0m(F8*n8Z1?c}L*lP~ z*1G*)J%8<7Xb!Q$zJUCqLfOj2y!e#24LJIEG`1YaK57iP64w(1SuLzm3 z7Y&uqM3POQ(p>b3Ee@6YeJ+an;)j@5SR%@fR}MXCOApm}ufS)PaH|4teKLGuh+N_iS^Af$-}SAPzh-xy7`>7ne?|{1KCTC+)6LI3JKBp900YgM$zN z4`cM&9ET~N6WqHo=PRyh`=t5Z^czMC1P)UBMJ5)*BJt%PnUv{woH_j8oy9+Pf{ZC) zeN3Q#K)=!u_+NDo$lrxT%S+zMcXkk}qh`QFrun!-?vD(dxG-AADZkZ+|6HoG=m=fN zKlI~idCO#3c@vL$7q6U!+aqbtC_89jeUYvQF04lupHWt}us&=hHL0+#J4|F%&4BfN zQQ3EYec$op%MZ;WBtI5$m1em}Bk0?f`oDGd1XRWx7Rf{BZ4$eUJ>M=x7wF=YMn~vd z?x%~~Pcw3V8ti^5bUzKr{FFr?qS@33@#*hKexNz7$&nY((`k;*^y@~?zZpHrG}txF zX^c95NICjVW7PUR#h|lk9usWoM?#8&I#DnaC&+`txS|PgjR)sJJOJ#ypxPcc*lZP%% z!Ugk>J<~jfZw#9qBlqb?nKKTCMe;XB;wwMu#AuEku7O^nua?6jQ~pOQPA_>k9xV&i zJg_qNWpm>8D9z%KJe1-4PdEm4E7)h^eyeL1o=~ERW7Yb(o>s==N>ph_W~sFipxKR< zVb|}aDtkNqP}{n#yZOzOCu=jldf208*}VKYwx`+AnnqW6ZEN~)pIM;>rzM?9U8r&G z==0YseHzuzCYY`H+m1dAw3Cer5^@D;l7R;ck7E6&Ulsa=m!t1;D{+^Nb9iZy`Ht*r zW<_FCN;6RmL#P>UzlnQ7=Du&VW}SRRdJpP9d30mmGNSmz!CL3j2tOS9Z!ex54Hpjx z52stDOx$+iSYsE5NzcO$PEXnHrkD-|1hw^E{ZWoHn3HIx3}@6ZVrsn>a~yzJWRACfHqjp4<36EB znmFL!e(~Wv(u@7q{zlZLM(rd&lof#%mb3~5a5E_n z3ccL{Re|5DHHH{Afa=en@p*ufE3Onuq&7e_mi_>S3e=ZPeRYO@so5+pfD?ZwDsNvsP5DYqqg?%g)+Vhf%N?XePa zWO|!}Z8xnyW@R6gyJ`I${o*~ak{td&qPsr+;SwPO9am%Hr|Om1-l(;%^lm1Lc6gUv ziSqJy(oo11mwr6Mbmb}N!W-_CE+iQm{KYsLdkN3Dznt{5@Fmr!+g_$p8^()$T3N4pe%LN$k905Hx%#&;Mxhwi@6oHNbm)POjU7|t;Ib`*F z(1ULclUXHY^xd?)f4t@>s-<6mVTa#AfnT5V#f30TbM`|A@+lT#!ocQQnG%ChJd2qs z*{+=CQuGTwhuGUw6L~8PhubUd_tfe3Vh8>@RG4e9{r^BnY%m#j&D> z8XL98zVah^U=I8{m%8}BiXRl4*M+03Ld+%WoJ=XB*Vd?c6*j>igKUcfq_S+0|djs-hVQ!i* z_f3a6vGC7t7v{$Pf=eAB2bg24gZwU4E1OTCUtdu-$Ech8sGB6QC;lG8Noe3Wh8`#y zL;EVH-%2QaxauCEx<{%mE2lIp`D`5qL)*ZRfDYf*mHH3eZ|3ehsRPmW zvI)ZNqwQ`t?uK)xagZ9yjqz2C6DM{QnEXyXigGizOzL;8QFFb3zY%Qk0DsSbzjcPc zRffMuBgtvQ(hu3!%|DRy{kKz-Xw7|pg5Bx+_mezf+*-0x3F=TIGYJ{oO`dN4L+vx*v<#fk(1BVzbZW6Nm^?`Eoxrgo*Prq67 z$rG)ykFl*{gCfbR^3%g2t5<-u?ldz+`KNDKb~T4ZolrrFtmc0Pzx@hJ3)$$6+l(d* zhiQ# z!EI+R0(*Dbx~{}5asoSq2}$a$tiU9{9De=?etyRHrv-!z<4z2>{}hCc!^5AKx|ch) zEU=|7l6ZcqR@Jz=4Ss3-Yc@K_2~l54E5u&abGpu_1+l#~sGAQBCOfi7SsPm8oRtUZ z$5>Hae8op~@#VuF(wv2reTWcEJT=w4zI-DyUC&hR(^>|uNlF~fnF1+W==0r|!{o9b zDwq8~)6dnmUWW+Uzy%q!dTMg|u&K!lKgu*PHSzM)#H$8LYHt`WU?1PUeLu@T#hTB+ zFzkmGeLS5{Ev!~BZVQxK$_%+R=`n%-j`fh;I__R=(W)a!}g&bX`Ru@qMqHI2{g* zGybiUG!CCk0|Vq2_fm7|op2FupKW)N5L#@BCZ`OGCf3z1wHc)0u^&<4MIY*4K%}0{ z@>B+S+%Qi5awOw~U21v#IdG);mb&=E{R1UE|D7&z1p47{&L5D_;&zx8-f;m4iAU4w zBW1zpo4-oMZ7#65_sdSXn21h88a;o*p2FkaoMqG9oJyUI_J+T~PdCW{6U;TVl)QwN zyh6@!5lJz?fMRWPt=3`PVzc=a)-!1n14KH3YrSBEFgcow>u#wFBw4FeHc0K19hOv++3``>^#jh3K&2d`sQa zo1=%UhJ#1UUX{K`*E#j-A%Fay$5#-qLwm_n-(hUJcpWC5=kjXnE7Fxs;=C&^0tlNj zM>_n9NS*rBL>Md+yOVfX63Yehbb8;_Q?k0TrQdE5-`$wguU;}%^x4^5x~#Rgm_4Z{>&?zSP*|+-dirXJ4(d+96#g{nwyM$ZDUG3Aa)_$_QHTIF@1A`9p zs(VFxue#M;V4*wpJu!6mip=?H&xdcmhF4e16dAU+2I;GQQPocw|4Sym@72?Or^$Ek z@%#N@m|E6D9p?@`yO;jE`ubeoT7z*{#2awpzg_+X&LW4&$1qu)b`!i@HC#KGPDNjw zhJ2SF48!Lcap&%?rU@Q7uPi=p^o2NDdQ9XrrHceoiE@ItMBG&B?e2q(9_7*X51jOY zI{QNM!E^HA*GMMo$ozLiA#L+mY}X(pq5#*qzcutI@9UTJ-tHmQM^D3xGyoMmV705( zg>S5*`8j|7iplu76Ox4}AVkyHH%Ekl$-T@w`G1+zo;iSH$@j1o1qRdPTiThHC$L zRvz(vXf9W~j^Wu4djb>^Qnf3@(PyLm}`#KpGA?1Nw_n4MdJ?<9|n z+(%ZOL>F|Nze<=i(fRB<%#?pOtjEWu_4l#uPxk)UHd`Y8oR4k#W1o+8uZ~o0y}nB7 zne)ANRLnk-zg5?iPfL!tr8d4&=X-79{&ew2-Fy}^2=!Wrey@E$y<#lZEW2HQ$ zLyxs`iE>cSq6OSw-%wso<&hLDw}KCq@-Ks!#V)f$dfW%+XfWs$=^?LdkfC#NKdf-hdQk^wjU$Jhe`;&mpF^G#{?La!z*gzzw8>EQ1^91nAIf)81Pj$;2JWmN z!dCu+dT-QuP6BACs7QFYTO*MoU`EQcv{|l{EncxFEuh&d!>duaYoTlVr0CkQ`hin6p0d5;FnD z{u8M+G6J!{ulUP*-Cl~Z=ft!+TkMUx*O%31fu|1b5l{pIp57Bn25Y2W`^e2-ZsOOB z496IP0u65eBNG`vfAkn3G(vc3L>sf&d0A`dHYX2Tp(CYJ5kUtR?T*8~QB+x&y6tm*G&zy_)>K1{~ms3p7+vV z?UOiZO@@<-VUCF#948Sb#N-Nm1!ubb_HA?X@p+qWB#Z92lNZVA(Nlu=!gHbb^#H8Y zwO@n*N57*O%RY=XZUn?DoqP(n?a-)_9PujfiAq7Wz3RV$uWg2^^)7!E<(?v9#slPcY?%FJ%03}UN^jV=fI zWsb^}DR*TUyQj5KhFGToewp1eWhyli%Ncq#@#;68$Y8eu?7nHs#0Wb#^x#VMBU$vj zAA>~ZbI6TS$X#<@XMpALcNmuc6frEzt0XMj08-aW%u(TO_&>QrNpb>9VlGFt-PZr? z!|_LW!I@ux|9$z*;eQF)g?5Jj!-s+Yn?gPC|1JagbMe3KafknBS?+b%5dI0TGyE%5 zEMEOfzs&D5WrTmq82%{({%`clbY#lp;(vyIl?NM~ga4Tnvin~6Kk|Qb@Q({*uSnuE zl8j4IC&&JX+~-D=m0E$&dz@7wlF>*zm#S~RT~sFY>V$3Yjua0I7(CiNs63rSiG*gEdIE)^81=^eLGF@$27s9Y914%B&&~h{D z-v42fHp|SOWW=#88-0h6@Iv$=J}*lj#{BCy{S!-CyWAFn?R2u#>3wM@aqQ@KVU~XN z8nd$^S@|Z}CpKwR*slod&4PlN{Ibe9GsrJuQVvQ=SYW`Yurvjm$B+HjS`sd5LFg0f zL0~}rPa)*pmhZ^xCfP*~jL47|n)MQg6IM9#PGtQ%I~;q8!@aEx(TfuSc66p7^gYAm z9hCiOd4_g1(C(Afj&?P!$y_S0%a)8#@=3oWa|iTJeMI9W80ve{y?w@i_nL7HNfcfF;Cq|CtCA!aSxgdFq(X*`^I%VEK zQXe*=2P_`DhE`R=_}@B(5@Z? zRrk;9LDg5YgLYOQs$SgXsQUl$_AYRCPgno{Oyn?$j5EkEL2ANaQdFWYGYB&TXJW!2 zn4phwNkrX7oFND%W`>N((Wz=_X`6>uRVl5AkUUIWBBUZg$wdi@?{Qp0TaqaAe}C5A z-*cH8eV*6vpI2UU&iQ`#W$m@sUTf{O)?WJ}{MP-=YPByjAzdbWLU+~MCS#zQ(A~@d z4oJNxbmJ2$Y4-!g%zwM_88`V^Q@TWaGBc(1nmoH=Ao5{^p&i|gBMkZN33l^=hIXU6 zLw^5+Uiur_RA1)ebQv2OOHonEF$36khr&I(!=nx2?C5z|W$~YG7SMH7eEnXveHC?n zd8-Wtl5BaJaTsadppuEg0+q6-{gS2&Hrf8}0qD~On-G4{ryA+#QwOv>eKtxy*iOXf z5^$t>fDv1(@eEyRA#%8*3ipF1_FUVbc8gU|@tbd&-mD8Q_sr!+Zhm*m%x}56MM837MDxdvA=>(HCR0yJ8Ne|=20rdX zKBkq!g^_W(Fm=P1ZdObkezvN}KG6+PF&7iR5L@JC;rJ&t3%Jn>Bs3F|-#dpsfq^tT z+%+3*(-P@8rhxa=Phu`04yf`OZSK4cOS_7tx^=Y0cUmOa=+r)ar^CqqzEGVGA-@Lx zYu_txi`d_yKs>CsnpPB8ChHONar4~;9F#cthNR*1Aq|2QH~?SU$|vv4#(MIhT)aB& zj{Th-7a^W(s&P+TgEJF%1SinA3n;adg#>FwQ)YAbV}W8Mu$i;k@f#>YHs1ok*EC;& z`{b48EAXBy$5b{f^?XKtTy}(Co7k|s;=9Le3tFHHd$ils*3%56FLRXgg|T4E_L0t+ z!-o4!_d9E3!GC9uEOkdXmcBk6{d}3BALQ4fvSv*Ri+hGpg+i7WOuC*)lvL8mEA<6T zxbmbh!Y0KA62obn+W+r-ujObUx zbctk2-Xw7N))<|?Z*}|nmiMBu#qSL={Q^V7@R^ZV<)>Gh>?uu6sqP8}6V*33?jKCj zVXJ0ZsNw9==q0hmUmsRGO3t*2qnC0Ra$j6UHPPdiDiOgbEy{2Kt?>E_`!#8doc*_? z7{F6I`gt=lNv~w^%)yGJY*e72Fhs#E{O*{nWpL0F#3=8N8&+7W5<<&)`ZSlA8h^cN zgTqeGbs+4p4wfx&*m(uVa)_NtrbV#~{-~E3q5GgYpVLCOBo|2S88MbVXMqaxMs6fw zZvWyZxbxT9RFt(>d@ftm$iBS6*_W?K6VcPn5;C_5B?y@Z_1Te!wK3T022l|iix2Ts z1httkfq*3Hpf`dHGz-%}=G-}=r`MVqTJdH_Zr0tU6Tj%2mKq%`{qhlqt-Coz9Ae8v z6rD&;a){5)m05szz3`vZ)nfED$@LX&`;{i{zcg{P{^wEb$5-KX(9AUm(kdPg6&%le z-uJ8t4rZ;`;MfxXO0Z)VD5j#-F>(KzpPo30r7z6KoEA$=T>n6)9SZHQxopR=mJge= z8JkvPNsqV$6E?w$U-mttJ+~_5S*+0Uhu?t|&!brKwxud+zA}b=x9JKk91bTLZClX3 zolvwg;Fyg9Z5no_idyW98#$RE{G>xWVj7zz=`rL`&|85a zU$3FzzK{-A)Ba>lJH`gXSVQnhhhfa>7hZR=FgC7*4vRg02(tJUb~K){B-i~_a%7zvn>DAQz8Ed{ZlhNKag+0mr)4U*r%hFy4w9s5v`9*i?`ZZT%tT|P@dI*7YkA%W>R(F$KqmOf$eKAN! z-$QR30LtF<{SEee(YL>U<}N70m?)P!3b&3CgnmeW=K^xmA-=8z(k?Y}&Zh6+7{c6) zs6}8FUplC1m?P`Tq}^H7B8uKb4^VWcBk3)Tq(^vSmVeZU8Tl7&TOn8=XcO1m*AgFP zZt5AeiQNvP3y~x%%v+NZAl%&9?Ze6_FltzX6>t=+7!}cThJvRKbrjs_yp0+9ook)C zWgJwL_MqS2Z3F$D^@-?r*#kNB`@+M0(XY^H8?o@x8_}m@6rv-{rCi zdHS_VvY)5v*EOR>)Kh>2KmA$XL_z+|f%%){$G4$h?xyI2e5d{|=y$?T`v$d#ln?py zH_&euHrSh7#ZK?WhusEpmzcJB9mKnC92{+3stILt#KoL^8{3uC2c`G(rAK6yj$dHg zs0+t-VgJE9TX=>qM4t0>lW}*yij_ojNNqQ^i%8j*h#q|kck;j3VtM}U_F2P<2>kdU z^>+(Xd&8pCIQ{k{k+Qj!Y+puLrIr7L{@=G6Z&?kZ@u{)Aj~eXcT#Z!H%D-df|7PV^ z3?SYtGI^cTk0*pi!dV|W)!4If_FG*-7E533Tyc2jUv+Ed$gyjW9Q*gwfwdh@mejO7 zQ$&O)p%XRjU)Hq$Q+c&iz5Piz9v9Lo0g;-iZ4Ye!uXM8yvyR0&(XlND#yK+Gz(i+H zDm$u{ZpF%_q-X(%3D(P7-OLY{-CXC9I#?2>r*R5p6MR+~Cuy)#ic6Hpo7%FY##bzj zw#~I#+B9}QC1tyz#wGA@0x&g(AmO7!$1y48w3~!X_TT@SNqIrzS6sU(jpjMUU{g#G zlh>n$%*wjByYATbowjKix8M(A2}E7Om^xG21*`E7+YeGoAKP)kHU-KlO(yDXC}LVv zT)LLavYC9CEI#1&)$`uC{B-wJ>5@sImn`^l#4JzF-tN=RF3HPvZ$K zEU@2UQd5_=Rs^$-=Tdb8J{3%2ainXxv!mrH650@>#r|z&^rl5de@0g`MTDk6TS}E( zYulYl6fHWUAWF76p@Q$0u+>%xsfh}z)j(eAY7@{TfeWwJ5Um^TVE3B7UP(~3D7X#= z^*GG6YXo5g?MH)d9g|wUj{0g>LowbcifgEDe_9lw@gLdx_h{>`>=Gs>4$qfT%#M=F zuEK@VHzZ2dK9|a|_RnhDU#-@qMIvgHx;pF*)6GQDkovy%6l@Blz45An933I??Q|8y zcgiNeFjna`Whgx{5o2MzHF!e%;Gr$!esd3NBEEI-!XLHq-SOCtNkgHt6ALD^>lOe% z0@Y(ByMc#eov5S^FV+x5lZ~SgBb~{ykfHWA7Shalza1xNTM^mGK59zbol!6hMKF?I zQTM>!^FG3saq={V{jfl=IV*+2N`?ZW8FQQpD*6}BvBI)~UjLoSS_bfSJcK_N1*^?z zeT&VIv&N>6c>PM|7Q1&Syg5uc=M@mN(I=?6hgSMtEaHG!p1k1CH}$=CddSV>^Em;7 zS@IG7h~|Sg-C7m`EWVr5Anxck`@0m88_$^td(K3d^tUWK;YUa#*$Lk=J0a3&G14e| zwf6qrfB!m|f|ms-=y!8T&t6u^ZLGIp)*Gi!>CGKtiE+U}m6A@v5F1DviM3ogV z`Ga7aUVySz6|obYb28hum=3O5ua&E#t#89?4fa^&8_~8e#2+gcN3Yvih-%r8AH8mf zzA2}+;*8fQUYHC>#y2J;1`o2tj!yr9zh3vE+Ghn;i2TezQyLq+QhVYrR>u}^BsJj5 z+I-BE!!iM$rv+z?>l3ljgn5%4a%JWfT<58S(X^0haj6DV7t3eIm4k*Y`)>B?U&F$^EH1_%2Z<08*2s)8wgTzAPjo_U!xjcjk=l59Z4j-poM` zs|@M)k{*52#Wi#hY<$a&ZhMEn;rI6J;pp5RYWnRV+PjCH)Wfa0J^cCiJ$rcfzjMa$ z{_pymq5Eg&;*T*r)Zy14-bo9TdWF=`^ERL&jaE+C%5E{D)Mj}`#iwQpSDjCJ9OVvXlG;C zborE18Czp63Z#(-?~)bN@n7Uy+ifPfOsjRf2Web$MT#h>RvV>Dh{EdxgOjFJA+)h6 zsp2y@Wq*DkAKNO`Q2K3d-LNz}B*}pWDR55db$v~2e}1Aeb+2I4p*t$1`RJb+B_HIA z9(L&o|7sH>@1!qn{!}hJx+8aubX`q!7oX@SrureRteK@evo9;cFYEY{J^e=~pF?s< zJ&rm2KnT&cWt4&#qCdKwFZ~e2kE!Pf;s%p_k^f$3{O@n9JBF$rr7Nzo&+wXV<*L^e zmB0BV41_3;`|mRSH`ZRFI)SgVPM_vDp6ScASvf@zm7o;7`J2YP0Gs ziSnYYkJC)@1Ia2Qwsm@OSUmb8rK0i#H_Q=SwCyPsTrLKhxV^pE96-0A$x__ZtlDbT_UpIq+MP^lEEkefVWV_@zKy zlbWWZ_=TI5x2kx#eT;mO51Cd~Lx8J-mZWYiK{3c&H1)FuNTB0CWEYqietT_V_=<^% z6IS8>{e?)zqP1rT!?#i2Zzaux8u>5kX*-mdV|@e{9ZF0XFk3;!F-=;>4BJooR@c?S zvK&08uUMu0r2>k)rk2Z81L6DOVCoiQXyOm?-L%UUBjcFl>DzR37-c`Eu#H4_`~UX# zDS2d{X?rP!wZj$CDkAv=M|US})7{y;=>WEdiTztC$Uap2PEDUPjp!sC)4D#EaEauD zV?P1^vz~VI9Uf=R{Fa{HzFhl&)xApD<*@0e97iWNqV^ZJ|2fH3v=+fT?tyDF+sUvG ztj4#^Y{+wIvyUzRxH~wH8ZN@*jN`e~Wrqtt%oe&Ltdh(&FylQ7j&IJE#3CaWwziAm z9%hV2U6DKw*^(B~ZvS;Y3^?O|^nDZl|%|vAI zd>_BCP?yaEcgz%6ky4em{f;dc-sX7PcE8HzX+UbWAVu<|ZgnO8iEr91Zs1gO(J=~j zH_uHrQ$E}?WoZRs%AL{HKLKWPl%O)MyuIFtE4TB!Cs*FYGuqx`2t07mK!8s&u!c@W z|2DvOG>KxtA!5g7w{v5F5%1y0FeW{QQcoWW7q>BZ)uX^M<0g_}Mc&?`9{v_w_38ll zd*NpeJFnup&d7vvClhjkxYHN?gB5ksz!3T8Uxq-SBql~KyCNj!S-XAA%{{k25K{Ax zkA<3Re>e~|2OrHGfQFOD^|mtR>X(y{LEZ(X^(CHF&Zn{SN72yoEQ%_)foK}(o^v%_ zs1itw;uFtf7?m$K!R56NMuVB}vmQ2Pbtw?1gE~E3yA5tFd0nZ8ZEQ$TP2O z@DgEe;X%$uW#nnpLC!kT@eEr~q^=XJRstit#y*Fbn5p$Ta;uZnYH?H_pn@E%@pR3fTH50jW@*h@X5!WGyPPa7f8>fLpT$OTuOk{6u&GBlYelt{r= z(=u+!Pgn--e5NE9Ho<4im7JaRo&62Wla)~vOgo7iKRg4&{L=QMMx)+q&wsMw*p4}a zHN;~Rt%Cs#@#rMZc$n#4W@lJ9n#Ygsph}6EWqVmlxZt0UkvQH9r-cgg3+{Z+>BrA; zTrqoSmK{R!gw+Q%RRoh~D(8Gx&thHXi4aamW`KpmA!f-@h556-;KkngWNBaIhk`GM)VUpt`xIV&sL|cDhbKbi$*{wHkI=XsR6eA~BiAP(XXBKTGmcm}*_vvP8g8R@#Zu{{fzQ@bT$9F{L z@cl@95TjY^&3c|7j5gT4N|#Egi$w83s+rjTY`s)p&EuxLvDm=7U~5{%w=CxUR@r@!|2Vso%;N3?928{8KKOv8 z*=YnRRg|IkqYs%ghx`PW46ynE@5t=k++yVk0g zvucHXw)#tkxg(U{+5j)G&oI1l3vyuhw!@L#cCQ?Mb zuVR0BAJYV)P%BN5h}?J|d#T6^NEobnMS>+!yz}@5Kw>pm@QNH!CnmIp@z1d{#Vc^q zPlQ3fy9je#*2_}2ztEcW)otUZW?APNn}A__$sIAS;R;m>k*l-P^pf+^0>YK1mn&DR z$nxfrt9QBlu78&Z=wp(DE#rO9WwP)5g!1opIpf~p8Rg3np1b-|q%WBwK`6yWHlR{I z8QdZxX!{~!wlC|#FYEat`_S4ro9Q`r9lg{D=?+?b+A0!$_qv-zlL`KqY;36aIbXzf>$g!L0EKa9s`Pbxc5$;}Q> zagYTGvk@3P^Mx?u02o0!t19q4vP{S4cp3l89~ z+Sjc=`_a=m>T`cntubS34`z| zdSZN8Tsh<-!ABNiEW-jMv6N=KBHU`+Q09bYJ;c$!PM`c%U-~U_vIRWrX;CN2$l`n4 z%B>TkALJQBc;OxvZ|u38#XG&KfnnL=rKlF~&)U7d=vXcK;!l61`EWloOZXe<+b!*i zMwWI6mSZE#HdEePO$jb&bj!0!a~*R!g5-Ke1Sii+D`#+6?T@O`_V;^3J!;m66_Bu& zWTVy*>#5E@=lEOP7nL>GZ-ur&h45N`}7-tA}(`fYVrI42^L?}p}HS>kBUIhcxv z%xVZ}j-sNuU2gC+cZ=17=0+t%3hrmx8OOFJd7&V9*1~PmVBPW?_B|J?6FMGaBkyy1 z{B%r_|G}~b`4z+r6bWf_J(AtBV%Z8U_K=s&_R`k!9P1>yb-v!)^R251PUshH!%q{? z%X*-#cci50%^9N?_LB?Uf`_j$cTQVc+$#uRYKMSk zd1rV<$SP+zo=|oH_^`8^Q&CuU3F6y-)!i|?44tdY02^a}tKgY>RuO$n?WEb$qsJr{=4I;tL!WvoyHqBfQ{#B@~4Wx_W)fim!hFsxl;o z@%3(L8ONXN5bBHu_C)L2zG!)Z-?Ps^pKF!jP!lklPeJy*;I!>B`K#E^`(QS#!aK7m zI`j}_YuZ;Q=1zbB_SJ{7!;_WAokdSXcD&JqlJci?{>TfZm?5vu{x;ZOGpJMuQ%f3Ui?r*yjOFd%3d*+`9F`8F?w*%DaSpnfLN9H4O{j&su&4%|X(p5@Fr?{i&K^ z@nX=r*W+A_$bIeOi{*(Z;(qn`berMh>@RZC-x=HT^@v9;q9a68+IbnGS|)TmtEqy;)!erNUVUCQP>e? zK(Kf@^H`1RF8BF*wM_e9Mw{(?~RQHhMQh&1?SELzP z3$B}_t#yFSw(HJHuH$^pdCJ0$<)j-UKn=PjC!2EtE9lg;b-#~p-} z5`^E)?Rl@9o{MrEm99UTG$aclb+h1`)v zUs9=YcuWvNjBn{fUc>A}%yyxFYcJlp^If~}O-oy#!2gL134_`T8+JDGJ<~oy@&%LP zb>xk?8uGn=ks}VCiZ}|dPLr?FuSHuN`EsBO?KF#g-<|1Yh%+Z4L;il9in^a(dCVr_ zch3%qIQz(paRR0LeM3yDixEhFZ?;c|ykOYtum{MQ3!9ORjzuRTpTBZC^FcbcVAu;d znOR{CqRuL5eB6wh`Y)50=2g|yK^(OEpl??~ESU7uj2m^@Sv`U4S^e1d(}RG+6P#pN zQcHxRZccoPW@7PTPRXCxQ8KZk0ZTUbo@3vstz3EO zNzym5cby~4mjzN|)-vIM?>h{n-j*Q-Tlvu;A-v_Qp8nQdN8%q=B!>xUqK5DpepDTo z*y{vN5d`axZ66}7At%i#djUSvnOMLy{V>`wNfi5NIG=^m_$86}M5<*Ok zoUQf=98DA+JCSJaAwN!jD+8&MA3L5kz+%hTN0UG4TYt{d|9%Q(=jeaVswmNKQ|V2h z+H{KegKApDzN6%uM&iahxc~jN|8lhA;9L8=BbXV48G^PtRJ$>m>6Wnl0S7^x#z?m6 z644chFBaQ9lT@5pRla8i|KTT7Ya9GoP;vz(^SauBJ*eud%0{g4(e|L9Q zwQ`zVhwVkQRT$dTR*YL!6E&LCpQ+YeflL5_7+NgNwPZUA`e%AUY8& z4lu!z{HGc9h+4r4Ln5YZEw4ahEz;0SoCUNUhMw6+1;ZP@9T^Pkp#w@jUv{?V|1_Pm zw}^EpnO!4uazZI#7Pw99ikR{``BLM!OU$`YqUA0Vti=}`PU(|Pfbj=~i%Km|s|ZbJ z4I()Ej9vgIF9s($(!tq3?g3_JqI?Vm%#-K}s8x24z&?pzvClY z$S+E`Lms|#$)Y^YJtd0w*ymWbH7nwSq*J)#Rgf1U^MnlS+O_4WqX zBaQMsIdHpQ1Hh@ZJkJ0q{z>-_zKaQHOV@qted5uiIVikRm62B3vDnygp$ZRHi69;Z zV3wEYk!v(qJ#HDdUj}I52%x|3f!0qau%I>>TwZzr|9aCeHbC?~ijP*rU^HW;lt%yf zcx0AxEwqVa2yJL-^l$UX6U}Sz!-x_~hdP4RH1exykqaUSE~u0@ZI0p2`R||O_Q1sP zMO;MDQT)9@3-VeAnc#t;+~d$P;-XXYf`87lS(&({;4)koXePyvru96zIJ|?0IS>|7 zJ8OS<+Eq?aYeX8if9WpMVR^M{dEMekQdw3v#?$kyae=xGSGp$j)1j_ZRUEa}Rp9>) ztIRW+qRKN?#r>>l|GrX83Q=7ek*SqR66rRoqzc3m?A+}AJQp0CX!XzC0YjONOvkKVKq>s^(?7EO**NGY zGOwC6R~?p10okPlNt7M?Z2wyT>Gy4Xb~5eVmqNPFJ_T3l4lX@V6YsrlE>MGhDX4~3 zffX8UJzifD#dn_y^%G2Dgl@vG?WJUu-a(_QgeU0{Mn9D!+lMX4&F6&o&ED=^2Eq9CyRwF=3=Ex zlhM}c5wO>CWr6p(EZ@q9}>pwqR@^T1S8KPranuL!b2P|LaH6 z>wiVgf(iby_16-5=VoYV5a$N5AAUfr*sBj3cX&~oBV(HTPoKg!+y5aHEH=ei)0l|S z=FxUPz4-?=yQQm95={8|!|v2nTFy_^E5D3udU(3&HJ5}r596S8tqwLD`GzN`kk)B3y(rq6Z5I2$wrlhHUb)VQ(uVKOF*%f1fS-Eqn=% z-p&+&B7ofK6ec+_@}wUw%Hv{4ny`wn8dbFUi=3yrW2ie#b+-)bvd`bfym+Jd;NV-2 zy6L5mP4lIKiuk-nX#Ok(rsdH56Bi2~g^~>_nBoF6&WGXK4xdbH-?FxyKvO3>xMv)) zztJiU)k6_A^V9BY=qELVjddW8;zd@9rfVw;e^Rg@FTRZ)Xlbwwe3Xwot_Tz39ExL<|4(I{5ih(ZDH}ck{lb&tfxJ? zI|?s}3QLjc_Tjesy}0w$7ec8E?(0dZ#hHFZA@n=k_p6^C%(U_9{R=z`aqO7V?@f1u z@@!bVH+%R0{)xS)1NC!DA#^F5&*xH;M1IYhiNwfF^Q5ewc zd6LI$vGb^c81}mHWae^N@SBC&)|m-_^G44?UR|~|+F&u(WDi@(_Qj(rQFy?#|y-t!QG$)KVoJ8kLFPI~Da|tYY|HWgk|AGh@Q> z#PBUu`>T{kL+wue*kUpA7<5Y2IjD2Z)wBh0O7tH+QX z9HJ^d=^>mUT==tTvnEbK;Cdi1@gUBsZNWuZ99FB*&!%&laH;6$K`AnyaJ$!3D_Y%r zP`vZn;Z}iTX(Qd21LDI|M_DbN4RK!%Xxh(0Nkua(W8jz3jBCUoq#2@HjUxE*zCZ{c zIE$s~%*ctzFK@v6S#l5P!@Cis6q?BWp?AX^7Iy#1G%+C5E(U;^a@s|rQNA0aVh@uT zx&Lvd>!n*Brwf2D`vLQCuzHyPJJ*BvpPc=rTtLiph+lP*pXo%l(9L`&&K7E&tT;BO z6X(Jh&>o&;Ao&MpL%z+zO658-od4nlFyrY1Lde+2<1$2HC=VVs++qs;xo`-9j8U<2 z=;NyUr8hQ7;cq+_Vep5$#fS<&L`PuD@Hc&!o;c`SaLfs{E%AqEBYfkQ^5Y-zjcJ@qPGiUH#g9c5#l=QQ-nBUijZwe zfwp>x+sn@vPF#>?8s+ZTG^X@KiI>*?BRmzuM)eQHv?kD7m&n z!{zJCC*}nQf|r(YbI;MZNJ-*aPK}g)7%VhzvF}Vfx=E|dN{Q~ZYJ+5rGCbPZ(g~h!bZ8D$AST&cA+}`^BQyugS=#8QKqZiVBcU(o&@r z-D969Bz$%Tv8{QUHBd>%;HG0wk+J0Qo+5c{v#)nd zeU(NBC!oXR_f$lbD5nv)c<)RoanyesC7!jJQR0dEFiMz zw}G8vUU9eY@chAHz#vGBJ0)iNxWNK<7J9uG$p7ev&a{6$I5q%Tkw0^7uDr@&&irul z>p!EPX~lif&k4&y`YHI+|10`A_U`|Le!8BAeoh0JmT^y?kwZW4nFsp+9sS&W2K4jR zuZ(_n$v67hRv$(`6@mp$Rt*q+(NBrNYVt+v75TEgf!ja*Y=6}Mo_@YO^8ZXfm+j_t zpK>unV+n8#*uBvw5hKuac`px7hFu1i4+O)&`Ny;312)g-7beo-gTkNqpj({I>>kDi z1ZRF%R^ZS-InBYIh&*46(LsFBX?q0>yn3e^MQ;^R35AYbME2Apjse07|Y#!2O&l*|zRPP@xU{$eqVP^f2E<_yO& zXM`-X5a5Gp0-3ybG0S_03lSb%gw6Mf(`^w5g2q&F@D`q7`#!OKv)YbfMcT>Mwht~! z?rjXyn4|in_>ANTp4C*YkG3WRHTlO+KMnI8`oWjC8l&-)+PpA|M$gW1HmKTg6-J3;8KFcFFUyRz^( z)!(1`OLOXfeOoADHl zJ`=@FcWE!oSqlB6Xepm&JOJi$zRL(P#uZ(<=3*;a;fq%B3C-GYVpjByvN}G;cEu7n zMd{nlOp`VtXnI#%&W)ao;N%6Ds%~TLaAP;u-ds7#8Rb2E_M*?NOiEoycVw1-qk6$8 zx<+jd9{np6+A*Bae=Rwq_3grYIri8nea^F*X%1ob`%L{mh4fV!ISOT?354Sm5QrUx<9HA}`0qe_#I}P6 z>zRM2{d9{E)3T`SL3$k(ZTlC)z_NQ6#qyfQ^6deh=f(FBAi|+MwF0b1|6{}cJqG;x zC3R@5!yWv%SFSu7dC)%NWt-=Y-_wui&`LttzY(a^xYs`EmYV&JKdi4I{m`ZYcv&lg z*BZ#+s?C>;&Yx3umxeTJBL=Cw=nW6^!>te1Wd3#xSQ+qvW}9O|n~azuWlJV|`FD%t z9|GLo*CA%>Pm-85xu(L%wNp+LW#RqjXDA6dqNy6)PemUgl7Qh&m4lS;8ZzIv(f7OE z_u)c`5m%TDSCogxmuv#V>sV!4#&yBm6>pS0Rq}W(XaKs-BB#e;a3uhJigXC2fB zh!>s+i1*x_gT={xf%uOTdV=^_{WpNvWmU|+V;~N9_8niXKQI?o_5#yWoBWrK5*%>` zWA1>_i$~bno9B2%X3cGF+TDd5q-4#pxQsveg?IS@e$i1ixaaRq7>T^()pwoDvlZY? zF(D&Kx?h>O42p(0%pAzFgYNgpJr7b;j1fC z0LCs@q3SS1IR#PfbSh_r6Pg?~cvX(CSx*ZMUS7Hhl-yil6@6F@(n3JEBq%RT&PdC7 zURrc{X~7ZabRv>xEIJTcLRP9=6j>=ID)O6WpPb9*dA5B0v9A-WjO@M%mDb5efznYp zk_SQOznpx0QvyNqQSZe6zQ+T}N2Rfi#w)}oGa#=y4FRW8OGNfCYDcbN@Q@pAa+Caf zzFx4!c^R2_w>ksrd+ak_HYiO1Zhd6Nyz;;N{L_ckl6*Arwy5lGFXq%rRs&Vp^Y`Ph zzJQfSD|@Y41DU?2__E*dgJel zeS5*@DMd2O=*+L%VAyS9r;dzzzVvbVj-{Er5&lmaNa7H`x39qJN4)5MBW`c%X_U?S zE%{QAmM_1C0eSh-2%?Pn+9wj&KIa+5$;2gjWAdduBVWYy)7+t#d^z?MLF(lT{KUzZ zFQ3iG7i%g@zBtj9X385(<8ksuMI~R1hr-?hW<`2<4hXsOq^FDfVbGS|zO`@DQny=?h1HiW-2 zvP32mlP{|TN=M=U@E{oTiIXqC7psTH?46kL2CyypGM5$yIr$>IIgqbB$;+2)I?a$K zy9$b?<%{YC=bl3qMmAR+wZE4&u7qiOvO)0HumiLaA@~+}VKLWB8P)8) ze;(^AN@o0;Hna7+=nbo>>jZ~d37%e)D>fDgPl?D!_jADIo*R0Kj7TiK+Eow+G1%Po zM49umm&gdkgy<`j6vicN$7I?E=+~1_QvCGKNQyB(PfH4wX&HCZ(R7QXcm$t!?;X<( zPEtH}G%EYQuFv6ecW3;@VrW=I+4xkcHRoT|;!HXH`(X2@6JN%oJ|)Evt7h9tEeOV5 z;H&6o4@pt@y$q-GOCu2}5rik^LO8fD2!C~yARHzxY7lM%f4jZbvDJRzJI^X*!#B-W z=>xtC_wEC}8Ak!%Lv1-2Jm<#^pv~lL27_N8*&DtukNF1pp0i5X@GbRK`hf3+y?Vjt zDJ8SwoQCIxfkU#}d^8?6kSGX#yw?DdAh~Ui#M)j4i2rvXBHaGsA!gk3e_JpxN26vm z!BxBx-(P2+^Nisd|8Ep~bNh=Kd>w%Qn*jCvzbMWB7iajtHI>Ex)m|2J*)8Qex#_vB=FW3UhPRPHN+PK>=_9Qs|JUPW-88P`)wFF;RpTZZPm292P%s5$FyYLV0+b+F#qp0`-uHoVrOZTIRW6 z`ORw6Z4~W^LQ;tm@P(ONYlca6lkA#vQB8JnUvR-I4k~+3+N=-{l`9nmZ_Z(KSIubv&&KEiTe=bz#cIoKD72p8`NL^d*w)W1F)`O> zM>evztI}1pUa0ccQLc)9_7D^A?U7+~eg!2WpH>0gUb)cyt)madh~T!O4c5EpKBAt zxFv3zT5f!6`Jr6ENRxY1nKB!!G4`VSr&t%d!CoM_*=Vv(DNWrRC!}WviTU%u0SW7wI*1eDqbeL3~>>zHAS1 z8q2l26%T?X2ZI~Z4&o-l7j9y5HqS9x&w<5Ch}ci2!y>5?;crC0Z!bT%u97}FQ`@p9 zpUXpp5WBp_;CvpF1#_lao~AKZ#o7n66*%49NwjP5-B*L|BcrEupHthh-);@Dw=$^+a`n{PQV%WGP?zE=PBoRuTeab8)o#^17piX0H<{wkHOudVEg zCXVy*_H|k!R*cKoh-I4*>$nC|l{3C$?^EIiLwBDueR$Q0-=x!%Zjn#Qd4GqY?T`%8kq?h%$GCKjzF#C%d&X)H0m zY#(lc(ist*`v`_;>t+wZ8ZD@dnjy5EEIW$r9lJKQg*;=>AEzv@9ub`%-)W!miK9qt zvth*L@3t%{t(wh~)LLetWgDLzh;z%4iwc>k(d6cYxUk|Y$QP0+C9#dJGE)Sj&bA~X zOX>+aufDiW~q8k`_bhqeExQj#Pc*8bze#Hn1+m`>D4H&H^J$)yqq=%6c@ zhnSSnm4*Q~Kc^9K(%F|sBA8X$H|I-EgEqsta`U50=KcJ@PQrr*YL#UX9!KcxDBkWs zOAx#ZP;JRqrmOZKrt6XSHC-wUHb9A`j42-S%p(r&jbuVmUeuzIsQMf=-C1Spv6(ql30g_L6Pe}Hy@F@UvwnD8DJahX~hHV1E zYTI#-tO)Mp=3kvJ?c&~TirY94<2DYesWZt{>s+kNnrpS@f+hLcL!q>*{4C*sjBeb~vVGQ)va9u|Gd+9w)*7ojr)7Wf(Ncd6~Ci@ZY8E;$gvylVL zc2*G2R#}wq=HJo(ZsEKee-d4aKS@oJoVMxKB4%aGF!sePZMokf%|C~2j?p@)w;B?| z4b0oe-?w?&=RoG|7k_t)1A;eNR|$x4hVdlBp}NpSs*8@|mli*g*L)Bs32l9gzIGCQ zZSRskx%mxttEQ~y2CIzkX_2|8uVCrN+Oe&TA1-ig0appcFibHrBf1Of#Rs zU#n=3DkKrGf~FX#vi0Flx)|^I=E)ec)3=+9S(*%o|Gxo)=RXKcW00pyEAgTei2>fn zbDeKT@lW=()v+5`p3PTQ$8-CG<^A4qSVpY+O7IVGT-?&tgA3hQ0zI-SDm{CX2F0M^ zLZ=HmCTJIxH3O0Puh$Owy1T0Na|O7021Ic|=-PLkWmpvb19|Z7J9N_WbRCSq{RMi& zes2vmSi8dj*iw9TFOm&ew|)L+{QKmwY5si-UqRlS{XpIqZ}r8$Yo6$VxiQ5KbA9vg z&%XY){JWgw(V(SDT(Up3JUwCnv}EybjsLRAo_0!2M<`mLaH3cOWKYGu7_-|An!c-9 zE5gtCPuBWnTRf_d)Ua6M__w*j`#Z7d(HtXP3RI;(cxr*(xv%Jl0FwH74$iZGIQ%2W zL;9^)0MiR^456Li)T3yOnI9vB+|0yqP+ZI_d%a`!(vT; z-w?URUq4WYlEQK9=r6l;#lY;yWXdv3j$;KUm3-2j9FvxcnGw42{W>!~)8F7H;$_C| z7!W)L#aa5nK1N@ANk8B#^mWL-(ATYRrs*r21;UVsByAq|;&;Jce022!-Rv2B(B@bX z3F~da^{x@T-)i#%Kl&D&DY#<$fk;XD&ojgA_05f6H>i0UW2`gXT-Iy+u&eQ9K*aiaJTRe&XyW)hL?7&Z__EGG&NT}`!1sMfNc z`&tytPv`WV_vr5Y2~JVx2bhTiTB*U%8@@``bb`U3)`tG3w-g9 z`5ne$uMBQ~*^SB;Er=*r$Q+B++efvxUCJ0Cn?GGjo}XbCx=n+&;jI5luR4Ra3WQB0 z3k&{KNazHJt{yAiaeIq^3WECY%OXg|J_RsPW_klGL%FIw+ zo|bW2_%cQ5G8Ni~l+$1p`JeWp7q?3p!`aW2`I{$|jd4B3AoK;WFMoKg)YE8}=s!=q ztMJJ`!s(21ZO(+aB2P3#K?Q5K?T20uH^JxT@8E&wPm~eP-zFh0YyM8da$xhf)?S2D z=VmeyIb=FWzx8~F^oT?H$=3{k^ffR|A^n}P{Ud$8l^N#Z-_qrJBmO4e)~)F>*@$n{ z+YI8TQ%KX2h4{lH9o(tGY{W198jL3jYwjNq@n>z*58~UiH4cY=@qtjrqB})fzYwN6 zbbq+w(~}JCyWBYN z0c8n$MSRS(1Ad(Ql@L5K_=6!Bjln28DB9X%G|8673l(j^bWaYaG@gqCRyAvL^0cSq zW_n7(rq_GGo;)M--r;|T4E`%5e;RW6*ZVdbj(<5am#z#0dt5UUtSW?kYSte1^Tf)Q zK9YzWdNDKd^J#8IFszDfZfQ!-NN<+&dby+icfXgO5p=E@r4Hqctp>g$ls{wzhja!D ztz;VKbS<3UqSp@RVk$qQkZ=xdtE9(ygHACxnFqQ&4@pFlUmEs*c<+GZ-4gAGyzfoV zjqv|}#P4+BcgC>(@cYJv;J5PJ9Q^JV9{|5I_i*@a+xr{vd!iKtzo%Krp7`BQuQT{P zfI_|TnD*CIGmkbp2k@(rS||U96C2VfW-v(A0r;{}~4dxQOgVU6W zbJMv^!xZ(PWmf)!PG~AU-1Szu*KqgF8t%jf#u2M@!;OsX>deZinmyj#DCgwUj=pei z{?)Lo2L0&ZaM01-77km#?L(y_WY0S>T}tqi+t02gYVoBK8PR=)*DM|J4j?uZ~Mp3Y^g72H&8~l5v zX&+Qo_~ep);U-4j`O+EOzjd#nGZX<@wME7sz8vJCacuE{H0IowZ|eV>-h+hSbAo#z z$Ax~g17Rs zF=HA_sjfF23$3uh@Nh86 z2|0_D1gB#LK>uHwC0@2L8*6GXIZ(&;kduc0sp<8@uDowwMNXK`$;&UntzEj+>@IHQ;>2`he zPg_TCd9w8-&K@Fo1($@Tzai@Y* zg@Lx<@^<$&Rrq_GDuM^L_?J;W#LhJc?WdMv|MkTuS#eTfPcL_8vM0z>@i?)uW@iuL zM2)qK`)WI>yp*D|)Cl8WJBI!62py&oWa z>qGgRUHn|L#z{DZk9#{XuT`gtAX9K&I#yQ@m^YXdF&zb{#oLH@8iS(@$*vZkuA;>PDtB<`N2h-gFxO@sasoU z6|pDsw%SC738JjVe62gy!>G6EusdZ4JsgB8eXQ;>wo zc%Nz6ERIXYR7G!DB2Tyl8`dfIDyBG-$DRj%TH58i3)JvSz{1F{sl*3q>wJc&g{SZ}*Bg5?4J~ z`Fcw6IqsJcuK53HUxu`+lbJcRs~^UH28@prpe+_3*SHBr^uLIYyKF>y?X$aqxxN2Z z$lToedW42;eWh0P1kmx11T*K`n5HT-w74)6gRVoA5DD#4SEHU5O_%R}HXxy27 z9=+id`11*f3Fr;Bp#brJZj+`)T`&DP?qMTdX9v}9 zdJ=S-Hu%Xi1u%I`?tbeV=}VfOr>`Pf`cLW0;@euzTf7ftv9Oyb;0_km*{nuTOT2q z%Q$Y4G&c!7E>&5A_P_?T+)WbB=VM>2i7noASj*e_vHTSRWGB+rH*YG9uWQ~kB)+zJ z)6n><&6^72D^r`Pf*fFPFsWQVQP8boAE?;7Dzia6Qfho+8-B@X#a ziK-OgRtk1m@}I5J(WY{KM7Q2TUn}hE(a?i$3_3uox4f<#MWOl5io?9<;m!Ehv?zx=WQUbrU$Y@ zlcC;f6N3jOA7a-a0qdGV_%)b*Xx1vl4>VVv7B4j2nzR|oBY2{P(P_Z?`!U*;r3ifq zHd6G1;JUl}gE!i$V`S>xstfF$=$$yF{OEO?>l=ZI&1#u^T?O={f3V<1E}eX0GI%o6 z*P1L+CM+(XSS&FZebs3}R%L@dERI{VKGl6W4b>!uagqzf zrV2tlIw`_v*YRFyMYJ|*TCOb5Ynozl$_ml!(mU`vBiQHUBuZ?>Fv%`LqFnJ*NpK3T zZd*Toai#SsZsJyl7PhP~QA<{C?fJ@vB9X6s5$W0&5pHdVyID&~+*CresR9CNjQyTx z1g_}ODt?njSt|D*j#4=PoU*w8+rd<+3wpGN$GnGlO*F0joDU7CjIoGAue6hM_ z@y5fdTi(i_n7>r&*6tj*Dc}fBY5Z^e9TIMY z>}4B1zbA3B!tvtSlgf^cwPz_RFq3B7Im`??sO&Ctm6J&^gC!8W@67N84I@f zg_bzFGx0T?mbuLggiFC2br9DV|>7bAq4f?uX z`C(40ckIYY8#`LCxnoCf;lb{~j%X+`TwG{{<3b55%3ZIVJ1{6ErW29heN}I~XD-iz zQ}5N<^#x3hCx%hIW}W1TN+1YUm}a4YMz_wFW+6;Ox7JnG1dhyldMQ86V7%q`@r7wA z26x>8sb;-d_By-jZS|%->kamQG0@dPTnwUpP4FRW(^0ZyY!T-RKg?0@_v*2UH2wZN zes9LU!{UJW%n#mvm8b^WIJ$-LQrJ)``yv##zsov5Rj1MoCM%E`5IsxxNvSr8cQoet z`)v!e9NP4OI~(Qn0Bw3?CsmX#YjbQ@@Y`E8Yj%2SI?~&AMK8uizZUC$(T+=qKt@9u zb=_%o=v9@kLKoUMR=F`2J?=$Y|6&?k?>AE$NAK^7fiiAS4QAO^%Ivf{cF6j`F+oAD zwIR@_a^v(XBzGHP?bj65wjYbSd+lJyUGKr=EGH``7hya+@<6^o5QrZ#tm5uM#%${Btij=z!Her)}nMjVTq(4a0A zvZm|Pn>2_2-C1*f4jCOg+u$5&{H$NLLTww>9oj>^j!EL6EUB%0GMaeJfFNEE7bX*4 z0zNsPky&=fB!=a4W<%#;5|O4?vBW-jCYIQ?u9>C63yqzOeP|{#md}w&bZ@u9t|`)m zcD#4;k@(XQzw-8X)=|deSv-`-X-j-Coc)sKnJF-TA`QT`_JO~QO#af>=kC4Yzw;wq zOZvV*%)kHn8xJhA9zfXe<+R0o~8@?ZR_I- zkJ~X^3?JP1m7;x~ix=D4ZAYYSKOu;RKEyt?Q(+q{Lu@QJZvltVcZ)C3 z<=c*qpRFoUJ1yfHRKt}or~FyIJmyD*{uV5$D#b7ks%&706n%<+vEwja6*LAptZJ0T zYWNTB;}t3#3zlx^cLuz_15E3DLfX=3!{!mwpa5G&0mj`7l)D*#l=X)DVdQ?WsR6*y zed6F-@qP|`XNK@aub-2He?+GMtrFX*SC4g;8}M|oymB$Q(&+r108!hmnPmmDWrZ33 z^IlS(ajfSBO13L#C#FTn=JDlge=XG~LpBDqx@Xig%SwZ- zbHG=9Tfe2rik?K3MPZJ<(y8U`{Fzxj%*SKi9*p6^zgR`FM2y9!C7g(~J;Lo$cK_3t z$2szQ|+PaSuyTpqn?E7+Ht8Cy7pCh@E2{Nbz=v*GN-aSJ>5Np?q+ zB>XeC_C%QBCpza>qH}69{hHCrrB`1Zz2PwHVY#+_oId+Nchv%kR|t;-KP4jCjFP}BbM#P(sE z)g(^MPjM1%xixH61;1}OadLk0Yaz<|VK}f}M(K-bmQ~hHRK+S^y`~-kG#YjGi|j3` z7;iqJ4oIDRt6X;Jgc|U<_?^K_a|uwc`btn11^IxeyKOrTAtXp*YQK`2M16iL;>Wq{ za>5B5b7TXyI`~uzwtZD_o_(%hhQwcYBy1))nMc9aeCy0C*DT6<SoN?=ZGKL421wC^P0&bhFP1MDS7n}r)(}u?O{L!m!G5l zO?ZfNRx-)_=Nft%5l$;E+ZDy50L7zv`h)yE_40d7_A-2eqm32uiTo8Ben{|1)-Z!L z?_>`yc}(tNF?`_GK+9PyFpC9dV)_&GGUD=7%af(EhZm&Y>EFZZ#(z?{wP^X!h8|O1 z1#Mk(cM{rWjLb3iVZR$1|Er96D+IzamDmwWUx``zK9+rNNc?>jdRvA5CVbT+ps|PP z0#1HNHnjd#YsOfn@E&U)oNc(e;+CE(O%ojE&%t0CZM{nMjZeuKG)s%kaIXXJOOmD- zATjq;7p#Rz^s3tmmvz6Y@bYNe@^p2#SfmCfj>wn%ilM4pC$ohNd5H-SDE3dkd>6;^ zKTZC@*QH52Wo8pzj(5qpx5;S7$7MUsH9}hZz_mMuNV6`kHS6ME&ARwvxWC65`IK<$ zEUAj?$(SRPvR@8~zil;M=Wk*BRlD2C^&T4Re6j|t51%UXYtQKXvCv0p{LQJ<$MWzR zf7$Tzw=lkpFt+aJ>AaPJF>IarnJ8s$etf92KdiGlYeM*_x!h_lP3|V{d$QTiL{HD>Zq=Kr7U16-AS z%WR@pgM72^J zY}WE@X;sCS@fWH5j8l^zH?41F(4k>vn21|Hhd>}X`j6JZX{;3Jf6u1x*kvGT0L^fY zw*3$G0i^8Rxp~vxP21UO%P|zK=eb;pj%XQvIY}4Fc9a-PF(?c8N8!WJz~S-A)mLAk z5zOjtX40<{ob*F~AkHWEC<`xI5fFP&m_O5~H zTd2TcsbZeR3Gm5tk1w+*vMTKrzgSZhosTW$xmfhbC&NKxxO$L!Bb!1xlea@t8Fcsh zCi_U>>?6;FOw8SH=lti|He*lTgZ*-(`X_8*3waP6^)CpO{4>VvT>gw1n4ErOW)Yom z4$Tla==kBzo~xPsV9S394eX3NX~^Q=ly&A`T=z-Vnaed<3{&3oY$mpAFz-iwF)=$I zl#_SnL*rfM2De6(cV_6(VcwaKKL>7QoM}h5M8*-q_W9WE)F?MXY!YTA@Cj!OKu8{S zhYiy5s}CUO%;0^Y?=jQ&C-*E9{pefZe(n@TO110MMus@A1X-gJ_FP+RApb9px?d`>`Y$d3v_29z~t4 zYnx6CPC1MpG}l0(FJGXL2^QNMCL&j=coSKATiGKV@-K7~*}i2)-yZt({%wBRj+*}E zfrs7jL>gZ?gNFISHkL$hDiZ818}j2HtGAd_&#-#cbPU6MJu?sMP2~Kgy5RifU^C?f zrW=M>qy-nVKCQ{r1KJ~AM^Fg%p@n>O1}FWG`QF`>1@EsVBxV<5i{dZo`GNq^a(~9thTr`z zO+U-v_movR_~jDC{{w!1xc|4p?^6dj{O&l$;g|HZqR%x1Xv#m*Cw~8Hy~FRhpZAa7 zgM67I(q($%cRMTN@Vldx>xtigev*UV&;QjIe!GbGPt)&-PZ@q+xg`B8gWoS+?H9jx z{*&pKUp1c3Ua7}chGnwxNo)B^TJG_ZMZo*j?)|BKzIW^6U!m&I^5HaPCTbS4z1Y_h zV?pBlbSy9tnfCi*i4XrC^TN|QdN}2GJeaNrOiPR~`s>wYdBd0>-~h+b$PB0a4{@TkQ3m%@x33 zg?y!Xfl?2rlw~G$7YCY-(!)fd#tAXEjQj0J>Ydw1&8B4gGg-co12aZ;S~ z1rlQZPGkj80%?tKr4$B+5?BEIkTd@6GUbaaW3b{&xvU&qy+pIoY%3g z2AK!PhRE&+D7Y)IwqtYI;Y%itCRlMok&G6)K`>F=(WR+f(R7ho*c?6lxztpRkH#hR z$kX=Ilk$Qodoe(yisy=*r>0jea4O0Wq%7^6FNgngE+Qf$5ke8e!Mc6`Xm97~v$%5i@{cH`cyG z%eY^pKn&KSr#^LZ6X%+XF~iFVIBbF{L)%Gc?hdwp$wQs&$3DF@v%X^*GE2hjhh`2h zUU2y%0En9TW^C4rdCVDcs@<=;^=0OXYqh?p0fbtKtnbG~1TQy{;$xK-Xrl0ri*Qi9 z*cm8A4T4_ukSIRGimh<#x1ELhS0i{|<+%$k&LjVc)rq#sOWSF|q=eUB4-yEVKCpX9 z+vitnIbFg7afV>8c^YbQ#Dh#ntV@kWxar1PXHc5K|NkTJO~9ipl0V=e83;$5a0H_m zi5N5}YEWPkF*+#V1OkRbjiPJ>#V8&DGKdRmFbOh_qfv21Q5RWnUDt!<^oW3fAPA^{ z#sl$sQ6Qni^m&xChv#SpL`AY1^2J2 zp~M3x!-b;auzUPXd_ZNls^KOBFO<6ZdQwoi6_NElNJXW>A!X-(7zM*Y`O=%zfQNNd;eMg=-w|itls+~UfTcPsgaL0 zUb-pLVBcenzm+Eo%LnS=x}Fbp^)| z0u>@q@YD;NaOqKk3OZ#3viqFxpZ+U~B;0~U;|<~;B|5X55VmGex(y*^rSo+I9cZ`+ zban7ee%Dq=VIJzVSs!MBZl zh@Aqnd8-~4Aubc~hgBKGGx0+#r)HjKbVx(hG-b|0xoXBb@m)273J*hGl8U{}z4tF; z0FAVQ^ObPIwAeROGa+9f6roobqNYBRP{dijY^;Q5o;S0wC&NX)7nlokP|nAD)rZ2O zioB=3q)dSHQZbzfw|Y|i!|GP#0uvJk3k#W$@#hqt10pDX@gvv z8gDgKL~NH65WC{&rcC_A_SS6jPKlXh?4&fkgY}`8-Kk%uu!}%CySV##vx|7ZRl$ZE zC4#D1556vevd$^7w3ELc(Ivzap6ifMvmQJ*FGVmA0Fi>=m}y*kDU*YwVVXiR7LnVF z3s9uQSp2q909mXzTdQ?`0UHu~{Llkhvar9wjKy^JmDJ6!OgfIgMQZ(YJEoX={M88b z<~UPBigB8I@SGt~@VDdF3>Y`Zr8!R3xK#Gj5c&_U#E@bZb4Ih;!&g-cq3-!*0AdhN zJC^g1IiGVZv?&NZE`z-qgW*B=jm`TZ!Q;3#`?SCTGZ{LqjLhDLGd)o(OQn{}BV(9l33)*0!U9~vy5u!jfq$q>vkit=e>=U3Dx2HH(O zBXIrIQ@oW7dciTgk)e2;6iCNq{!+fVYU1VB733Zj=#wAZP5HYKCtW+z=)7HET_bf^1v6<3_R z%FqRe6y?J+opV@#M?41KD+um|fqCUsIzNEX_XY+AsnYqdfSGccq@TKsci!6M!2;5)xR(Dcc9*kut7>F zUSdi0g%&KPl-JRx&oQ=?wdJy(H!T~ zA+A#uxLvRR!aubua*_=ZYBAud5Mvl8AGNuDPg$I~if7z&_pgI_C@A3CN8c zZ*c@eL#Q6!k^}ux-z)(Ac8gE0;2BSS^Rp`wB3I(}Fj)EF)Fr&V5VxK{K5k#(?Rk7# z){6Zn>$|_7z!Kf8@2}x)C)_rd>IU<+B`SL8(<=Z9O(shp;k;&nUEzis>Hyz;B$Px5e*YQ{rwu=0>1qUzUO#L_zqL> zk#CC0zeFqTI~{0hA~86$80#M&TNc1f6hlba2cQ zU7CO-%>cKLMMEUDO-*NQvj52>V+TI5*`O_N&y)5KW7-PO7=fLO%LrHVJFvmMC>YBI z57(G%aN3W;27_zC1}i@V8w`@MY>yQ|lZ(|oKclccR6M(QYvIUa@HU2|QVlTVc?Pem zHA%rCp2t`mafKKt;1JJkxW)V*IP&cJh$Kx?(p4!Sl9p7pxs*)3{<#q-sFc3Z>_Q5Q7KdUDcG|(Mn)F`liyy*z-&I zSz_g=Pw*w(f+GmSpf`ZgaPk*F2s(fJ5a_&dYaPsAiKMOp+>pSwD7H<(LVWy>=~yK2 zr>P|gY$;+*r*^j%2?{xhsL1>4R>BXEl!*u%=zj5vt6Sy6NaGq{*fZ^UtQFX;t#;`F z^Eu+(p!SUv2#RVBW^{!ypRglQ%QP-)m1WAoA=$Jop_?#YHpaZ6%t|3k3RM7>j93`@ zNtRR*J;uU7tgr50aHz+bJ-#FR7xpOoaw__(7713ATXFP|-O5hENmoP%CU-Q%Xur&r zU$tR?&SEGrF79qHR%0#4^goL#Ymb_VEcr4t3!$3v0hSmh7c48(#1Ne; zcoE-4QNQ~4l*xg40QKP%Jp zj0==+Zw4q;9Tg~go$tf!Xi(mJUyC4ul5Bh+UT$2wpm^hH4BiR_h2nFVhG27TtEu&c z<=S3LC6j82Ad33(f6+42vq*A%#jnw(PM^(A`JH+yZ!P(qn#Ehl?_Wj3{i;>6DZf+e zK5)tJ)X#Bm%kR`>xK;8y^=w=!Q_KV>*bid(-S>b4Xr?`IPm5+62GL6c<>C_ms(z(l z5JY4=D}_L_VN;BMO2H0zIfXAV4nJ8;^~DADNjpW}-uXV{ZA+XG>$6#vzL+%!D)jU2$H8WWZULXWzBx0F!5T#|gJR1!uJye8a zs18#EkU^@%IFu&9+3H(Wp3^3RV$b!MW}885;62o`+USN!n2aA8w?_(8p6|~=bbhEE z<>8MTNm{IAYPO{>P_O%hJ*!!6c>p5>?NkeV>YX>GnYSIzjPIA?ZRbnDZw7ud_@$CI z!o!CJ&c>L$_HBmo^uA7h@-E~LV))_OgL=GC8prXiBA>UAx%&D;DT=ppBCzzq%V(gH zh4*k^_g*AFd5`hOs^m0Q0{hu(TpV3PH2O?*L9D)YA|0PA*)f6){%-~COLBACrLhc^ zia{Jb_Z*}(4-qd>l~)Q?#jgyrkXmO~FYbR&A%gGQK=~n72^)gKxmTRzN-#I1aN3y) z=V5;1llc{N&QZ3`5q-mSb&;-$zEnC#*h*4^i5xk;D~(RwT?m{#YjWv8z&D@4~xG*0tsPe_k== z`+eVte1CpD zit`(OBt7ZhLbD|VpqTSZ_!nBUHgDDAD23Xac`F~n63~*qhP1obNI`;TXlZ8`b-WvNcgY&p<(#%nFRQIxZ%Hha5VgXS>uL(>V|mmU-@VZ z{P(`pF#O~^jel?jRw^o0N=$@AD7X6s$0AlEoO;(Is20I5<82y@W%(=)gbd(q-9+@E zq?L;XYX@0uYa&`z|y*Zfeh*23lBHZznv4%znMv{{zdYm`?q8C~ zl@?04`SdHe!udAK#nSJhEeAupcX$5q4;R6kD~u@qWkiPVe<9(5y1`r$12SEpmz29} zB1zbsw3s~(WO4mo>xWGYH^gbI6OtmwP;%Shg@qJtoBa~~gVq>W7{+oELJ9*OZ2Mz< zzr4=+#9G6%P@l-z2osu#Le~0A?rv{YGQjhP{^YN?r6@7r#aeY?zv($#<$!&CxN1}4 z(a>OJLS+lt`m)hz)&m6K>Jj%OCHlLclY$QQc#!1S?5%nN?TUYdyAQDErH(p+faIvS zG7?qRt%O+MsV<<^(Ca~~x#EGs|>w6p2{I?f$wE#MO2W><> ze`WB!2X8o4TtpHQYWQoJoPhf)5eSQ(aMroOxO+S1uF4xLMO_iN6;ra1jptXXf@*rT zn*U8*hoCgnO*@b{#_F4z{1$}z!9kplp&&82dCv~e(-41H-0~`j!Kjt(=Vmq#G3OHP z-G^rw`$k1?+>w30)6N7o!|9Iuv!9F2;(^n9qT&(h?8Nqi{k7Z_!9v8C5Gud{qEp{ox z$w*J5WYIbU-!}^XCqRnI9Rc{I4hb3vd;ZnN2|t@6{DsD~0LO%1l~>s9f35?5Rb2A3 z7*mHi;SYN}9l=dlDdDQM?i7cIvHNMwhjq_b!E0K7Pwu1nAE$KJlpRBcQE|Es{znE< zaCI6EC!``!mx{q3GAoX}VluVkm-2P;byoeVYB*H6LqF^p-3=4+2NO6UKkQ9QjHEz1 zB(73o1gj2M`vv!^frb4)UqCzvBw{9qlP{Tt2jRThbIj)otmYSA39xJQnRnA&-SVhpjtSM_S?D zN@Zbm7-yZsh9QG5l!!}n9Ke>{g6E&q!|P&4Hotzdr3rm8`(@U@0i0pK%$B#*yf5AX zY|rX4uUKW!d^?D+QY;EgQ3tTi&}Htn%0T`}z%b9DDB)X9#UaT-nQKr;u9e(IIDYz{ zW>aJ%%7Z8oLsABB&Ap^da=(5;8JBq}f?DQJqn^}!Y0ntzuCj%-q7To$(>w&}%N#aZ zQh^8{*lOe~?SNy$z`owftuj&_J83>l1X_FTS7?=y5l(K~&O&Q;3|en|ooG$g@^3}M zxE(45lZ=b3GQcgYfnmU{dG^63{|sNnDG$wo z;*Gz#Q2Y$knq|Y0QIz1`&H5=M z9$7f->3kSaJ9(c%Ev*EMs0m4ppmy<6g|uaFnn+7g1HKpoz61k4qayEqDI@#m=2*pI zaeKY4>P9IOjoU)LwQ)Nfg<^4gG^Mj()P>t8?h@P{pJ%=m+_KLpM*cjFU^VkxVhaO@ zUNJ9~d}tECy|I5dK7N-b0Kc7nb>X*N%SP~f@e+mKF*Ob2x3`oL{Pwkq#p3sHUDXj% zCK|urFLvSg2k{rfmUYR7S1Ds-@jDf#^6v*yM(|tvx>+n1zc1*j7D}0D{8sa= z&A<1eP%QsmN+BDI->*V~-*IP{Zyo#_{M&zle^VR6@4o*4zZd@E!tb!eM)3RKLWSRX zubGI8#cx2$2!5wp#bWV0R9AJ8l!?Y~Hs9L#Jq?9o@%!7|CI(&dq3RC7Z;M>>ttazAs0b#8YX~So(-=E;8SgInG}t ze>j=8Y+ML2*d#KM#>$;iodIO_W9PGBy7-qQY;Jdph;ncLHF$6fP7dI%KA2Cs_>7$l zAm_RtEX5S#2pXO+zi{@*CM;&FjW{U?-wAsjPK5=1(N8=)q2^x}zGY;M!utpos>sU|5M&c! zN~E2Ne-JQW?nfK)6LD0t0!kb5_sk^C^V!G2ehU-~AfaDc@HzhV%zW4seAZyj^cH@T5PG;%%%5$%^zaA|8X zrT41SxHffdHsYV8Xp(W7RZxs;D0mvzZTOah1pD+rv}AFRp39Zo)c2CvrUZEMq|v)gPhHohZ4Krs5^zu&s1QDGK@$k?B?T!T`btp?cM5(ZKFV} zV3IZZw2K_ltGU`sB!td`2(5)wp^F+!n!8TAI=bravKvc%J?iq zu6(5t2er1rxZ_dsZ>^ljm?%1wA{D72fi{Oo82i)3TwliiONHJ<76>P|u+f_xgWmlw zDD<}cS2TK~WalN zB~o9$-(>07{2!;={0Rbc`521DNBt+*Y>n4^l7VU?tUY&iV0dM7(DJn|2<4f*(}AK@ zz7#mwlV+Kji-=4Xk31E<83SQ#_Pt*Vj4#oNG^XC^1ri;EkE+b zKMht;%$%XXoHXAAQ!_IG1~^FqjxlnUlU?hcFr^0YS9S!}uVKIJO}r%;e^UZD3ble87>^(U;|o_S|H?p^MwWnMX1>tTN;?siQw9aejSbakxQ1&StTE^f}VygUmrK;maiZB$uy%NxZXtg=LNxC zbak*&Fy*JR z4{8Gwu{j*z|nzF*RnbR{RZ`WNeU9N zV3plmp)uDjj8o0_BTt+7rTo_WU%U_ws-YF-6yCFebZegr=CWnSNIndXZ|2kI@&#lC z#=|GpFFJg7^MTqp%g$Z=NyjU-9^>?G8k!Y3du-whcI z;u)VSdtHZo4nEFW=z#Ih_`5#yEQ6TwcRAvUj*j2zinbb#-|BB-;eg_|N-fq${48i* zREZhPef4iYgxr#E`WL-3{E|6yPhHd>_N)JwZ*jQX(f&90oh?~?;pN3JU#(CfYYxFJ z#;QFsV=lV|(qLa1QL;Kvtj4a`rpW&@$jbk-&4rA!x<(_T`(qX|B>&G-Brgn8H9Np4 zN=^$PYzuKdFr{H)V^**l;=oTGgPthJ)Rc(x+LH)dIQ0sECGr#0a)*}5>MJ*chCP4F z2er;{1Ng|X7JxoQt(kKz067=GLmbjrsx<)wTwzZc+H-`K5jtyZ84ujUra^hJ03Nn`Ovoz1ozj4w*rG5UWLUv%p0oMKA02erg%#?4UUH4tCa z`I!TZFB)`g-1wrYr*Jz&!|_FP{?u4}QC?R^e9l}d48-R!z9`igtxu{qZDJK)^bVRc z<8xGb6<_pt7e{;!HIErzRC}^BK8Nu|-Jd>~_@dfAjlq92kPBX*!<{WQ1`Z`gauNE~I6dm2|2 zhQoToF7)9^k=AmeMrVDD3nBiSmka>)EA@bQ{jYr}gZCN9FoW091j;(M?9htLx z7ve>o;gCOoIR&iTV0@w2*A2#Jy>|oH{ENECngGM z%oNE^G88fTfIk3KYzUHCE8Q|Z29sh8MW*Zcuv1<7l|hWKC&m8uR_?I|gWSrh&CLEs(kkKOPpt94Eo zg3jeogmbLaW!|;QWT`Txc8u3NUFJEfjI5VpRL~7o$+v2~lpHxjT-at1Zy`|1euR^U zP6QE=?Oa@w)X~*yX*!(z{XV2<(Oqr!VFn6k!T@iR8I?cu~}FQ%v&mt?|LG zyST9#kedG$+57{bxyE4gPdeVQ!4f0oNR?=;GEp9xOM&AcfQ}~&V0t}O^>fln&i~IR zV5g!jE_Qn3D~p{)6d3I&CyP!O)o zp}Mk*tTMt=V0-dZHs30qV!Zch;z(zT9?ovaQ|urZE62N#9mIewgyN0dz$ul)5@v%s zMcVlh{E#W~@qYX@oE9hVNE71WbzEY3ZfSs6*SgtDk8dt=X&x&keWq})DYYQ-NAhn$ zuBT$cq6FC$Jdjzzin#P3^nkrBV_f|Gdk}h$10(te-!;bW<(iu;z~Vi3RU%CoKGdP@ z_-so-aPtsYycH{opBT}#Z!q704iF|`-tdt>SQ zF6Qj|g=S83Up+*bGca)9EXALRa9}(6bByNCV({k{DWmzb_93&N;?FUfKa0ViFX+k^ zT4jVkeTqM;`Bw2~DfshV6rx5eb?_&cRN}wcU+`x!kvye8_48R+n(;Bl4|rWJ+cGrh0n)*Eb^@A3^@LKV0rM{T&e%q`#Cg=?_n{DhT>>`A8(w zd=^o(r75;R+|d9@l@u<>QCx6`U6NAjPF>QHQsMNA$AfORL@LzrLffyz<8boWjv|Qg zG@c+5WEeNz)Ceu>E^ds19KSk$=US79Dt{-3@FI|lsb03>S4dhJ7E-B{EEuvQGa;^! zO_7WR0++!`xdvK>tHPC3N`x7rNT2vtC_asHR)&+kDgXFy9Ij`}73CR*yUq%U8&s*M zc(|Fu8-B#`F>oAi_!XF-XbYI&l?^T?m}tv^7g;Kr4|Z3R53s(q@2@6(VfQe$8a$H^ z=|e@eUJ4=pUCO}6jzp5Qu>IkOGs{)mzrBO-&KsXX+u>v%!_+y#{lP(y4%PB?im_O} zZVn!U0nRi;=YT)TDBUMQi(SJ~|2th$ahSPgoO=j7M zb@I6YKvhn z0^#p`YYT)Y#N8ZMAlxJ+!D%p6us)Y;+@#AoM8ZHwbcaX~D})>q_FVfuy0&Vat7|j1 zHPW@#8te`h*x>Uh`~K^&>i#acl^wDU97-!}HQ%aK7Q{VLS*#NGvsyhiC0;nS=j8;t z5Mnv?1+QF^VW%SJBsErzX>8$HOO^~L&txev!5S28!mGvuWlb??U73q3Z6&4j(*&@R z=Fd{fHCdT}I^q~otl3AHO*!_M>XedC;tS_UX1p>9--5aMhP_)OPiW%8QkMG zPZpCWffCOvn?Sh3-*FLc-KUnZQqCHph1AeH6o=mEd2}!exyzL>YBz*;6-b0j+)V=~WLj(UMKYsO4l z@@ao2QS)9&7NX)s<3x32DqA$MDe~GY@^vSaopf%d z<(#E6_;k$VDjcauyE}>LPiy1`(i39uadFf`T3&(OpWk*Ot-%o23(HW7LE?eV@N<(P zcuytM3X7cWi!*y5!P>}@nJ9d?J} zr8dJWPu0TAzC53UVN-|hw zN;YD2!rd2wC3@e*9}z1deuw3yS@?h^O|Xi(|+N$HTBmp+5!Ay}< z1Wa=54=b?`xW0Q8aA7B{K!BuM0#P`5OZn0S<6ar}uxpQ&Z)Kr~oA^t2y@AdXu@19Ug;RZfX7Lg6Q#TmrVxbbA%)SfCJb1m zCm>SVV1E_sMlPRO(z8f=%%As#I26=_Sgr7md?B@S4!d3oJLa(A^f{xWNhvX#nyxti zNHgqn2s5`C7BX`r0~pEJGQYc1y~Y}hp7?W7JnXr7Ezq`gg$r#9KhS712UijJ`8WX- z{H$mXe(ox;s$1o1gW-cl720-J5*5-hs=J@WU2Um5QK2~sX>Z#lsY2K4l1hb2_Aj0Z zu-e%4hzP|9){oc@bip8qyAZ!dj-~ndEI&x02s2M60e)~l;_ELX`e@Ia;~>_fZagqP zzJjEDnrfx8vyC3dm9l>hB7XF_A^>E^kN$We*8i3}@Q)Bq7n6*a;8GS2 z0-hc5qc5w#ZiZuqldn^?JL5+m3aa?gd+(%k&lx|8wh@1@Of{ZDrH01k7s5FM!K;WL zJxMp-E2eRjNm1^QmMlYBV;Teswi4HObo^)=3(UCjqaCktlHmWv@uMg06;D@=xvm*E zesti~&fYW@KT7**w$6_TJ*1V}HWCBkbC3Ma&rG36WLWF)9Hyi6R$hh&BEOl-4}o3S zRMNAi?pV|SS&oG+`CB4?vEBuHN%;yPi{TzMt~!4|vSXE_a>xh7mmMY&mx9!s^ox4O z{{GbS6O6?*;1KPh^``XCycRhMq1G|E^qh73q68!Nj{Qo5yomawu^RJY16zQ|n9E<( z%@VZQXbB3V;kw4W2KyAV&}tS!d-5@mAZi&FBau+qydrNlv_(SM(P;kGe_x0mscMah za?pq>=1oy6DBgC>dC4Zc?aoC;MO7=VGn5Ymu+3(3%1lv+uKNg21a&_7TgY8!z?;uF z6$d>F!lWOfd7=H6RPosxko87yqYnugKI4KZM?@bCoM<)ww#hbZ}b3-9rbs|0luk z9q@zpr63LZ^cCCitdU8DF>#!er)98Id7uEbw(W%6^y+G)M+&Wm#sVbsbgeTrwr_{RB#l@y`x8Rv5Yy~WO}%4r0B<8bN588h z#{z~z@0#Eyx*+`dU>~G_#4$DwgpydRc$}+;Yb)az&qf5b(xQ=A>IKW zTX(UnjLr|TRh);E6`W5jBUYF&VB0A*PLpFW4q1Hy_7bT7@zq$kkNio*(=b`~}bof;fVCwK9CR;iLE@mi0V)xzf0M zOni#V5Vsd9>ss0j!1-CBH9zA4;d+S6d<@cCO#Dzv`Ct4A-l_}m9tV7SD^KSIgrJ&= z=u()X6oT3urhfiH+adoW)!lgBLM(WzK1FBzp%%zoo+KH4L$@H(b0F-=$r;A?J4v37 z5WMR2D30zVZ##9q4R6wT!>I{xvUsBut9jUzTCN~#e2-@Mo{Eb1@)7Q-n|ROf_+E4q z0@`tsGBb$Fgo`}~zC(K6!mwTw4Q9u5N5jf_XB<%oz^AV;KeT$s_|rMF$;iUPm6FAc z`eF732}ak&%5cN92|Sv5(Im#j!9;+O4Z|8Hd+ALO7HSHb0gzy_-ykmVSyGLfi=@Cr z&UH){V?e;kC27W%Z(%Q_BxbV5)q(-+V&KhOjShL(4x^2@k%xF$j+cmE|J}$bLl_X| zPt>_KZqh?XVd@)7z7sz#Y^UF*UR1bV@O;=$bw zHh$^CDdN4!=R?5W)gr$Na+6z)SOniJZ8LH_F>Fu9%_)|ilw0;49e$R4^j5tGRN|B# zb!1zAM0k33+pJC=v{-$cz7bXzE;d=6EKH^pmcJQB>8NJ)6Ag>~#NCsut^Ck|8<^D?-o0pbaY>u*I z^WbEQ&G{kNeC9L~c9zs*v-xnD3A)!r92lMSz0Kq0f(p&!is2PId%@$yM3Tkue*hz} z#KGU42Md3jm`s1}2;uMN@gw|gy_lz7{N44U5&pL2x^_dobZH~}ZcBIVhH9?(U(Ihn z142ZuSLpa;dYOnNjwH;)r%}&pCuA{4!%V&l!9rbdiGM(4ZCN+OAp~0DDv%LDuEpdJ zI`_q+cy3D%LWzu;$X%uryk@3IX?qaDmtB#(6WVZf0L zWHzFO%qD0GD`{%H>mJK7oi~QIh!t}mRbP-`T=0@h%H1(OTFU)>LbQ~dCthWjl#^@; z*Ki4l#_3k5%`|{XTOqx=H4aHOJx}E;+x^`;%yTDj~R{oFj8KIUFNlu5h~A zTzZ_^Tza%v_Sm1;?KiwEfL{yp(cGzI?hW;?O3cJtgcjxXuZi7}$sJ1EPqDUucKsg2 z%$2;&cqQx=#ZX11yRbzL>vx|4UC0-Tog(7!_pI57m|xF78S{Jn4P+W?5wtg*`PM*JK1PY((hQZL#MAZtUs!&;RZIzY7`x)mC$+d~Ra@pM(Bf7HW|G6|Vhh zvW$Thcn8(FKh4^gW>fx+x1E%?_okVYM`+fBRjy5Hn)t@{PxSt~08VREq<{BakiPXl zNcu_Fxkw+F6rc2r|7|#?jq{JGBjcm94!LNN<(>Ay|8{@bpb_x_ikhSzAbpW30CT1y z47JtEqj{J2wC|7)36o7EQ$-ofzQ(?;cTn&HzQ^$dQ<4(Av)+t&WG{!aD#1^K@%hJW z0KqPPjs#ma-Xd5E7SUHsPy~xfyL1vW?>Xc1k7EAFaNeAq*X!qE$r#IrYcw55{?w-O zMNY#P#BrwpPCE8?WUy=w zr!U!@zGMN@*S-KuuX;*hS{!lVF^{9@h$c^>R5dCBb4DpXL zg8zb`4^epM=rV(?GEV$w@~w^k<54Ic{=Z|cSrh-!`&B;Y78?>}xof`)@8#G5kY_0K zC5C&y`%R-%G71`?(hadxQuG;a(+7)#4`-GO0d(pT4wcIGno3iQH9{q<(eBk$D^ zP?r5H@GWveT*Qe#0|?H14)l89aTmSzziiQKO3Zlq=n6%zFW~UC<$ghEkfxU(^jaWg z+Dd%jQmdSz*&t0bKWKKBuImA-jL-}tnh|%Ue5+{2keZ3&VYWhQ{N!%T0@yXMcrnnP z4S}B@tWj(F6)Q?e7-|UF4-oGC5)vC?1IuY&3vuvP^Z}6rWy6sIIRcI@a~>6n^{c`0 zi4|q8)QyOx9qkWAzk`eaH$XvieouGhfyDp!M_7d!Rf!%*_z1{**)t&TqIoXGbK}1( z@`7g3@&98Kc@yCQx5*n7|1V|C`2P~KAm}?%o?T_|~VYbW-^ayQIYb z>ynOO-;0?0vQT3FoOkz>Ux~bYsmuYR4aT4^4 zVi!Tb5@&K;f-aVlj`;1xx~zkwGbkr*k~-qIpMMfvYw7OVN?RVqc5M)wgZ>_YRvKd1 z<8_%+tuoRz2u8+lCken3>c?eaEI_vuh@<1TCospNir@b3b1)tE(1p{N=15mK4O5%t z@a#O63@5K2e=mN!b1Kw3!*vfde)}WryRmt)m;%!Wp4|O72siXm z7f&X?qRe;r4e`0IRm6ZosUghi46x7aM`#NS%JwehzO zg{bIF{HgrEA~@sZ|Mk8nEC{U8f(9B7KSfyZ?vLHrT-eXV=DKJrOX+8-QayjkkVOs& zGk{@?{L{+!iZCCeT6Ruh31orrpJRUBXD;w}&x0=Eb@lU>LXE}W`xl$|tA!WZ&412K z1K_`Bq-c`yvJ{M-fQR^&_`_%b|Aob;jceBg{G!ubcrq6_w)G&k(l4)dV=L&>*rNU2 z6#vQ6SU=c-7nj6cKU4VqWBGsc8qELuDA0b?Y=w5X&Nz}%pRmvlp&X?!E-O;JIBs+k zNbe;DCI7D!wa^aBSn~h!y+S+Z;TT>x=DjqNY?-4ft@(eU@B|ZOsEC26y;a5p(i~PR>#bFSY|97zz5s})T zvlt~;M?V4tFaE1SuwD&Gv=NMf9EITDE>sBiTo#RBr?m*KeoqQA{~5f}ivOKrVLo5m zVqt-}u5GaZuC1WpR3=~s)DXg-VM2w|+nz||CWp5Qav2nj*=myUuRK!%taVEOuJ7yf z$rszsSLNE#2eM(lTqD>qLsL~47hT}n@SM(4Lw;xJeNgp@fz;`_>U=+M)j6nk3Fwm$ z8HOa7Nr80#627`>;^o&dK0mjex2g+^a9uxg3W^}g>2N$y#Y!(9J6_7{!~1d5Z%Vqd z%v-e!*Gp)(7la;{nA-e`->|vmJG4>|dR`(q`c1z%;fkv-zt&rI9tszr5426W^Ny@x z!fc1zzG{Wr*5Ey-f29n?5KYT~trz4g)no4Xl2zc)(CmU>P5nmX=R|H>T^df&)vN+i zyp)koQXj%VHn0Y~6kNgCDsbRE;gWd2$dEr&hZ$Z+@9Z|zsrIiR8>6@KDK?GXFfu?Q z7V<;+fP6#!#%h3mP7}>C!oh-HRYEs9;Z}(QanO9@oo}RuXp8{fzz_z#1zOAcGNR=I zdB`R?>!$@kY4ZK}0iT)?4ajM^fOO!Z9U07KGR94~|0(Nl?L z+-IyCk2=HYUt5zV6GRSktiW7K*~OJywWf?EE_YgDE=&&T&%s~Xz3{$f6ZFsCjk04vHFU?$oo=3IDV<4$n{z@Nz#flVjeV3OG zHDavHaVn3xiyR3>xTxg#*982Zbc=%j`Rf4xQ`Pa{PtfqUa>1Vj)Bq8$!)a#2zxkrZ z;cs!M;7^Z+f5)|e|C_tx!S5?n_|J#0+s4065}Ccx34f<1;2-#>1I7O$4#l{ZlOhu7 zGx=(Zx8Q9oPz)CK^!sfj;^R8&zJQAzyi|5R`y&1yxWjdCtTPx}W@_{+yIG=Pgq@r` zbXy-+A11};A;mw#&K&Uq%GTYiBo@P6!H7kgcRe*z@5vV2Ss`iX~u#IM8_VP{k5`-~`u5 z1RM}C3_MKXOJ$?b25c{ma?2-^LRsRYR6z$M9a0vu(!CvNf&Yg=w(>OGy*NM^c<0(< z*z<#DC}2zvVbi|x7mR%0n~BZP%DX+!4RPP$fmA73FsPiq0Pd z?MQ_NlJ(>4&6zm}sgz!(jZwa0W1=A4!C-i%U4TMvlTZcC${fdbY z9}sus)u3O;I~Dy(T=cuHK+$h9oZ&Y8&^gktkS`Vexb`z#9Ol;A59r5ka9M{6p_B?? zir&Og6lvRYQzWV9Cghipw8KaRwQ>m4o=SG0u;=(hq2(Lct8aYNr2$$JMOk)qq0#R2 z_@s^Y6m)k|T8+Pv7HM|~TLW&1xF1&yTN3Xi=3b~|4WA{%I@}o_%o&{!K~8)OpAJii zbv$dg7|%K@`$O=*4bPVl@pyUsJCKCA7p4VHCdq-zG7L-*8g!Ta72;4C2txzHWFzeR zPrs?JtO;}y+u?d-sf02(Z?{Z!LaF~!SsV&HM+%b)j z&A6gxBgCp3XOT$JXQoXbjEqZ(FtG_!3PNLiFyRghbm0bxGKR)3i4fqtrT78Bz@ix% ztA-#-L-=Xxr62JSDAiMHNY&I!AF&Y6(!E{EL9Yb7g8cgtSDJq5~762p| zvYZld6W`6jh+_^ivxlaa15#qvw-*XRHH)wSFw6=$(ms z&b^e#jT1UpjL^Z)g(_E&StPs*qR9*$M95&f*$f;zGt-X~CDiUeGh|E!3+|pv4E>PL zjb4ltG}`}LB{G+2u_DOL$DSI&{l7D~@Z0}9OBT{sI&cWPZu&}7RHUFzMpD6Ff|Nu~ zPT|mp;cdD;jlrihg0(vA&_U3cBw9@#D=a2^v@tUZ`H#lL@@RsT?GO90c~(fb8vf}YcY)M=4A@Wc%E&R7p(Xy$ zYIv5bVSOX?>ukRXmK`C$uO-3C0B}wIdePyZTf5BNF-fI7R9NO#6^n~Nfd?Mp*wV)as1ato!XqEKnK~$l7xUK-Ayx>BBtHY@6wb|&ag0I3 z(YO4SA~@+2j8PS2j1}ivic_T8Kl;}3_rc`{TFbbKDV^8>Ew9v`46Gw1;0JC*)j37Tjgjg`MPYZODX zM1*`my`okaSI*E~utwWQ8)1!Ub7EOzc0@^D3DG9)PnZXZFlIUlzqX%6cnaQi=dtq# zDR_-7S@BT@{;Jy-Epgog?0-++J5GoX?C+!R6$PPQ-S$ANC_?YC37rPT=*Mls0PjW2 zPcV)CSy>vQPz-rmucMs>G068;HAd*WZ|X72KHfjJ#{FVb5sa8{@^c+vC<2 z&KV$J+0Cp;)_0yOkOu7vf35ol-+4yh1q)@nYK8t)ugjiSuX9|lF}|0o_wU~^L_YUL zzn{bR;)XRg9RFQ?9kz2gHLL}P!q4-TjNC!|6uIyN_IKdthqZC>Gk#|S_<8vv!B2=e z5`iBze#-OGa)BRj<;iH+#F0M+N1Kgr>ZyZVom28@--W1F7QNbGf*e)AhyAhm6zKi& znFjDTRaNcAoAHEI>rzbBT(uhcs>XS`M!);*Nvgg=_tOik`o_o9xAzDw6pAGIbfeM6B3=)36x#s4W${QoDRZ!I{< zq;JX7(PQA}uN$OqXI3lp{WoS`E*z=&KlN!Z*Bj%jk>*!RqrWnO_yQa;CN4)9<5hi8 z{BXZj-}spNa#^1mVb>oAVg#MUaN&RQWm?Ikxkl2W)p0R>?6=?4m*?&2P5E(*iM!{2 z8RABQvE(bO`CVOMA-V0p18LtEzx~G`Im+{WVlL-;NBieX3q2c-1$D-|*D2ljxw3KiPKXcR z6bgh2xCasf$AGc!FZgr9(lqqV1&T2-HDa>Kc>p9*C8JdItGWL}&A4GDPR3%%nVDDv zz#Iyb1eku#swh z7CkrPQj_swMtseSiFQ`q2shqL5hL(-&}d6CP9|6tJab)I0scpsl}6q-zj6M`_vZOw zS^OviqaArZI7Hw0aY%x32^20(9z5@uX*`c@c<$bcZ&z9~c6HGmu+I-`627I@HwO>j zXO9;o7)zk=Z20bM48HTNwyg8b1in)={!)U-G_xkA2C#fmwb8x}Iwy`C($8p)y7(gU zniHKd*HV8cU4Mo#g!CE9buM!b7d1&Yo;xN!6GZ+MQ#T*5e(#KXP_1qQ^AK6%g>j`8 zV4>@CK+9MD4h0-sOUfFz?*Pieo{ZbH%_0vc@*(Jq&yb=67Z?M`1zc!q7j3ot$e}WSoBGo? zFyj;ZP7TRz_ie>J?l3%4q@G%6QNKq zTW&OG$RT@IF7P*-S&(^zcR|9;{+XSOXL~>ng*}Oz zA*GJRcgB&uBlX?|{WFg+yr;^m>#?6j+#sBP?(3!Ab~65bN~GR+o_|)cijZd}nkmmo z2%J|A*Fm5~`IMA|vUFpRs(*Wr;)JCqu>QrU!I*`oku!~x)yvV(;pJ&~3Hi*ollk@- z!>isN_aols;jOGM@co5+p;T;}qanmwSi(r~lVjqayqAT|Xf2xabi=UcQ|Ju;s^utM zZw%kVg^ZE(b<~cs(qh7bdFm8z@T7yu4$QR@;5{N zVu>XU9t50di4l&gSZ6gCVz77vbzn3HUjZdPutL#MV1>Urn8tDWUu(bON2~psZAx}TN$PbnIQ__7^MoE(bty;XB)e z?<@u1XMYp;w&7=H>bLld{I}T}zRnhWZ{vlA?{!>aNSv98{fTo0ZC|#rVcLf4gNErj zd?Yw~mNf-Elh6ckR)(LMskh*7Mc$tUrVhqTc(xVFM&r2#X#~pyWlWVMYw9Ei?3>!Z z34Hw>@cH7wm!WV*i5nMZZA|!DEBN+3D)9Y=pP8vG1im*;RZ7I@ZNm38-fH-2S)TAA zoXZJcUj^Uet!@0x#dQq+QWSjc8iH>;J`((0!LF6KE-| zL_8ATsMA^xC?Ka^x_mP&vIJQJfc zl)A4u?avXwLh5ffs)~cjU*n;XAK=3Ca8@&}8aC@q@-c1JzxA|i)>*ie^_R|4I#Xco zU<@(KrcRZzBWT~2;u0R~W5scu+?7AblJNDAgrzA2Kld*?>R0*N(n#~K@|@pwQ34<1 zvOr%}Do=`C zeX>>kI9>hSR`p*UYgPXdE>ZnhRs9vJ`X|0Jp`U71e;BIYh{78B_4=|RucfX&+p7La zyZSk*`b1T|M^!)2tRC@Os(xUED7nY3|1PWkr@AZbY=A>rVP~9O|0vdv_0KN>Fu4VZ z2#phn@dP9ZWtF2*Kwhl!uq-bt@@sYGrQq zDlUy1Cn`yiAyc#D78w5$RD||^+gFJF$w9O4VJK!hMGdbW$Uz{8!+<^Xr29-UKb|Ngk^NV>WP~W8w9e*Npl~fc*OLLlY%%;5OYSW2h=KP}MWnQDy-dKkYc#}O zaN}8HYXtv)e=qA3X8bbNuKch~2PXy2M_@!6>Eq8GkrwEu%{+KV{UMHWrhe7lYEEzwjOo`Wm%-B=cNZ@-&vUaxVDPH5$Ln&`2%c1V$@7 zxth>=t5%TCiB;0;;btLxt_o!b&SHX06v|QZajGhb&s1wZv!t)g)3c^J!VOw} z6!#m$P%G@EzKgDK$iUVh$8ztyY zi7{iP6zXmkDm4q0%Cv=6*z3u=LBzAbq`i~WVFT8P({9F5q zfZ8DcF2(z}@EzucuMz&8Tx|0$mXA89$WAC^;m*<|e~6~i2Apkc40%hSIl)96SW@v- ziXe{6f=&)iGcr*yE?DDRIMG&JH#I)qOjQ2y@&9t;_?wFNaRFWCaRS=d_@7)9g+GiT ze~Q{a25P4Svb_rm({doFP6!nqojc;_K$lQqM(&7=z!9Os%-j)~+|@J+X!a!;J6>u4 zoYP(4L~hpz68!YG+t>23vv*-3riZ?Sak(Q>c(i?IhUeYgQ01EwoqdfwYhqu=2j<7r zf2yngV{z9WEwv9Efvb+V>S(puxuG`4xZ7-GecC(2B|o48qUGx&A|FioDke{;FiY!) zEG0icgY29U*?}@#^voI2GcX<(r{#<|Eik4b_0b=u)~FYSe;_qSn);)RK7xT@{h`nw zebswwd_o*6L5hn(S(u;UeO&$;)7**kx(4J2X6OFgHi2U;&36QOOSmf8yU?FDE_ZMm zGY4Wzh%;@VML_P~SftK}DKd@l={stOFT@dVm0x{+EVgiLko#9VkFe+skxn1p`Ll5j`XLNKpVu=NWfs1UzJX-3x55p`h9Y=Dbp;8!!} znins!187M)78(W`sLh=9o5X`sD1VD-k+6jpTzFbR!a>>8ITE+53|`7r(L~A#fs=9*S^bw5bt(;tXV40^{A& zkLZ*UqeuJhHqYs=UbCK9eO-6LcUCJ_qv3<%xOb&wLeS?yS_10*BRa zu$uzvKp-A1XXmXpf9{$E{yb5|;WhtC^Jg%v3I1Fx z9&g3H2gIKQS;{_To~hDv-s1u9~&{k={L2D;m^OCpWM$+a?DRc zo*|2cKZoMy|0Dca`=6bVKIC4oKV9tn^4 zLCH^J-v0@IZtU>;`18mYG=HYy!dSb+;?KGJgg-w#Jcd7i{)hhLCtMh_%}+v}e=HFG zd;vfIAK}lw`@0EUU0bM1A+VmYF)1lwzQcz=`(9`m(j&Wx)ex)Xz`u!CyB|-L! zzHsXI+D$fpo=X1wmf>{aGUc7uxuvOdJKxGggPC6Vs$#^cYWJwu6)qdjMD1T zj6M{pT^O~#t(ZMV5G$j9K9wsq^2l(esOJv;OO8O8CWoM?)~Mu+hzVIna>J7Ykp29KZkUxmjyAvD%G+ zSt$V+NlE3o_0<8dcR_x$iqE~}dz)EyK6+Zo76^BW!2OoM{e}&IWqGE9GNt*S${-w9*?V`hxJEjXE*PH$<2K;%Q6u*o40f=HBR!Y{0V#h zv(ofazjw(FM0uiunT2ind;HA8Wd3%WS$H^qGiMfh-$(%UtjiBCat%^J|mZdl#H}ny<3HY^V9|8KA>>u)}xtMp-M}s|CeIDF)_qg8(pe!Xi2^VLM(viUB3q0)UJcbRiE4pXu|5Zw1?W^TS2W{JCpy z9)P|cgR@4_O26P0HcS!we=_G z=Ty@E@4QvO%+NbpqVx{@i#y{hp2!nyG+P>dNg8#A^;_+mEjr=HN?rbxKMMb}OuvF( zk+DJem+tsO@Vn@1O3^?T_-7dpo>KD9nywf_T&+dkB#uO)1=b0UR#}MA7Y)+K?BARw z`d1tIFZHkMwmAK}&ehtX=wD|X;{-G|NWXpG{_*}b#{adO8*hK=A!t9Y{Mn9E!<1lE z6V3K!LyE~r1Gcp zyN%<2>X&~A|MB2Ir1Gb86Y_KE7k>zT7k%CKk5ZhR|2ga*S8Int{xqc@YPbKF`qxzn zc6a}-bG3FT`q%mW#`$mG=YPC^jme){90|~v{WbLvv>#XgY+o-8Tk@g3+0Y@9Kl2oS zTJ^uYO(XK4>W?>m52^f_v!-$U@B8cz(LWyihgAN|QDkh`{`q6@H!Oe7QHs+&KG%Kf z#MU7hpH1k8QLYyMn0|K2*Lm^!xAT)j-M=|a^lz%G#oyPz#^leax0~SqkDWa}==PoK zNA0+NgjHuBWPoDbw>$qo?Q5>!%3WMIEDMjTg&ygSes{I{MSf=GbvKsi$}0 z2xMk$yWYES0>TM5Pi`sO?jr312z48Qu)<*-y$|S6H`8)o&Gown_M?w#Deq2P8dqWO zx4@QBE$b^G0Zt`UiGq;h!#kq_>ymnn$K)Yz6(f?l{#iE01Q$WY0QbyK3GAQzp~UqS zd4qq%7RIupjrqUsRGVZve#+Rj{NU6Sf2boIl?X}i-F7`FmEwJXA@w3%ghso6vpQ_x(pdh3Nh2ZA(?X(oQPeT_&;Ne< zJokg5PshCnN1y&SxVZ$kBf*VFpE)1?A^M1X?xlIpvj2y(B`}UV!$ZiAM_VN~g{hUJ zmK%-aSZE~LF7g0Lt(KYpE~tJ)p<3F{jBX!}BKS3Y_@AHVYR`CntL|>(ExX31)^`uM ze;G~n?_{(2sA#R<-@goZ|K8d1-|SyjQ~euaHh;+am*wu?j?D+xKd1aSieujkH&4Gh zB!J=WE1Vx;{EGZb4na~Y-1UJukcGd7YW_+yttmuYb8ms9{z08t{@nD_XD&#PJp`%P zy?Y97L^>kL{YGQ!EQBDb>@Hz87BviwG_y}O(jvE$JF&l6gv&hwQ^G- zHQ-}UF$i+}q0%G-)rQmaaB9(FdOnS7ZiXvKT%IDI_aVKLg2<@;z{Kq{Y#keHw12UY z^?fIP9sZdoSSu@0(z#*(OatFvd7$4*|IPe3mVcv|CZWzwONFM!}{ST6q^DTwM6Z&aSP-xBmdg_rPfQt|0#u zN?2JT!pe$}YiVIIID7+Q=<|cC^MiW}nD_j{{=sjIhn{Eveo0zx%-I+Nu+q3yWG;VG z{B2^ay`ZET`vsGad~0EX_x>6OEgQkV`8|l|PvO_KD;!^I{50~t&@bNn0;68!+tg>I z`?2#=As_N{ZHVc=5bR*qug&~+*7$~9X>p@>;S^HF_~B_6AVycS;mA^Z7_X9%@}|w` zP4=%=v1fz*Tl((*sDH!VfEeeP4L909r~J3{^D(`kpSe?-`uP$hgLSBqDE(~m4>oTg ztRuL`!F4+Ymj@_6Jl=)AG{?u^%g5iU_=v{%YajCu#ZxAlzxuBKAK`zZ8xUjJI^A%i z_-~NE%=mx?`AftH_LrK?L@COH89(vxYqkG)1NhbL*S-^jUnRc|EIz^2e{24N-G=8R zsrZyRYJHST1{>DytdFecU{w>5kAz3!rq#3taFg{f9cnIv8m0e@`fD%y5BZbur~Kaf z&Ha;>e!PYDm0u|#OH=ajgCW5;^SO6@zd!h{3IeC-+wz?B5oraYOkbg)7+j)4jqBIM zC#J1ECBLm`CObaITZIGsR8-Ry(d!4HBAOX&T_foyB<@zbhM7cO>Xc^7cU0BXv?ep^H~<{z6g_*g5F8k9AU$Y66R z#yf92F?fLIcU*14?_H3R(;6d1n-q)Q0!Q5#Hw z1hs(_7lSg4TD*?Cf3&L$(nj|uoB4B1{9@mGA@|T?e=C4Xl4%$Am6igVgHyx`+HH)z zy@7V0UG2nBnOm1j0{ze$p#to69~6Td`tZKlf0E*;!3ubPLb`X+=U?* z3>KA(r&$yhesHz1W)Ehw*gx|iLnY-*u*%GGc|A+Rb54@+gevr?6uMKN_hTNhW|d1p z{Ml4hvP_qh@Kp3{uGDy^u5nnJziLxiA|*^gs9%O3XEqTcp4r4*IhfMFQi+_ZIdTn{ zRQ99be$+qb^q=do-GmssY`OH&FMo^VZwXjkdiCQk(yN`bRj>SH_d;$!RVY3u#n_}u ztkoqjJCHL@8U%49&wt~#)UfBFMaV_lO#|nb954`(O26zoEgHTofh>nxj#T6Ql8g&f z<3n}hS!^5v!z>YlAM9abqYfCCxHnhHX<@#`Uy&QmUN^_^_K-&NNzQ6iu$+Nr9%$zy*Ip@qwb9{3?*AG@%`ItLi%5W{<71P{$ zrlB^QilK5r3ZBRe1cH}x`{7-w&;3??GXL+*6LG(;tKs(?4XmU`8{&p@0ou)mZs+~S z@7s4!vLSF&sxLRIh3VLens}T$KdKoK`x#@gD_~GTb4B1luCKin+JPeaeK9`pk~AXN z)9fzvWL6iW(lXa-ZR;|`!}-r9&8 zq={d4uU{E~8+R*8D82Wp-oi&2zoa9=YhPPT~jJLadAP=0Swzjr_9 z%Vx$EYIq%72qoCt4WWd0zy`d861UuqE~+0Ixu~7(l8DnSMX48 zSHnVl2p-CHHQXr=9ep$B9m?32kufcAP~@JB!sh0Rc?X+M&C9s`hIxnng<}JKV+SLC zdI{TC1P}D~4aL8?zQOpnqi;aPyaUqKRS{`q+j)ni>6!Rm+MXgCR2|S!ZkOOQ&STgb zL)xwUz#Q;PxZgqi;m!+^1p6WJhUUSro|Hr?_fpoDvoqY|z2IYjug=0v%yKdUz75XI z%J63o#>SGH;@e^|S}7ZV#oY4OHouP)1=#-PmE6vXlNIn|*+6VdSo|i%UfO_y#1)UX z;JY$7{#L-#gLYwegXv3L13im7QT=D*ep1N3NLG6zS^BVv*s%bL`16*nbv2y9_d|PS z<0A^xaT~102*)A)I8`&xSQohq9XE5^{$1`J(Xpg#Pj&_2+lu6lxFDjBwfD7r=1_m=Nluk6}saT|QAcvg~3g-=8 zuysxc&-&Lft>)Ooir}F;@64&tcidN3fFF*{$lw<=wXv%PM;^*3CW{^B_qTVk+nwj4 z|H{|FaeSQtk63|xktbikR%XPGHSg=&yJ3lWgLe&1fUUx>I0DgKtN#W9{EPo^iCbaC z?*V8=Y`D!{K(3zZ3O&_0yT#{h<{J9CGPJHTgktp#m0-&Rsdx)`4e{?LYJg{|EpO6ssFTl=c@6Fcxe|2`Zpgf8$M_7ngB|v3=STZ_D#;ui zP-Av)W0%9pWKcGBz2xiIj6Fyl{jQbxD4UG+FMXT5VRY;1^9INqgO8%W2FUV#+>({8 zaozn_oJL6oCU90CB(?W?_V4hlIW)l2Ym?Py1GMgOp3HX=%Gk`ZC32t$s{{|;Fy`$E zHQ9XZ4Lx176wp;dYjms#ltJZ`fttia0ACXir5qagp?HPio59-b0ZMSc(K|B#*>K&p zNw%QI?k*CDZGHNPG{=B3Ph80YONdhFUufAnY58+$HiXvJKlR6AWiNO?nl!zO7jEJvhY z{(W$ZN=~P#vpdo6c|zDaj7>wE>m7*4XF#3zrU6KZdcGB8DVjF2i9mWY+w!FEFe^I z=+Jd&^tJ<5_+Ijl75+tle`K_Jj^?&U`>Gk&&E_PHb`P5b%WseY^HexKUcDKw-U@wa zg>;wnvetZ(MTer!8_L4Ab$x#%oQS*}!qv!uVPF^C4DH4{2&+7iEEK&Ml0(|&kHayn zUeKK5dit!b4E@Ekf2U{7VMyCrs}IEURbl7K%)_2cF$Gj5?3=13I*I1388W)x+W%K; z&G!R>pJ#eA-}N*@Oe-^^zs0chHb5?W$PKQ$-^}HZ4MiE~!PBP+FO#ha00UC{w|Uka z!01f~NPtdbNhdGH%aONVk8_OS)5^?kY+Z_9IgJDCCDNmPWn^3?xs$DMZE=k^d~+4- zAFzK1<)1@)L%VE3EW>?u;@{5d-IDa%Hk0&uDigW#7L?~4^tjp(6H4+V;n3sifjpsg z8VRAXwUwdCe+Fj=nXT|c0V0$0yP=-r6TVspTyOsi4D$D0PM8dXR2Z;sMmAc56=#s6 zft3J9hWAEpY4)u73|xfEi-(6UJBK7+3b=-cW}lPei41`=@FCn)*qO=@AWhg;&XH;) zi6ee+klw?$*d^S=clB@D8^QWy8cr0ZGihO|`)p-(hU)0T`5stM)L1yu6!_!7TrXKx zCe}@lXn7A$FSJ4oVc|rEaQ-DeamY&fN3KTi_Z~^qiT-JSB*i_U3-NX#juOv(Wh#h~ z3`F#s93BGlo+q>g##6g(-1*5Z#w#>Av2G+Y+6E!jjxI{lSyt#Gt$e*$EEwfG{iYP< zi$h)Ee{FOv8q5_jrphs_vQ4h}@8iA>uDslYbqSDK8MdHntEz@XdUW-K-IfPzaTXb0 zFpgMlq~G%)t|>OEO{Y@J8tDjaBr4rB7WJf!&Hu1yWcVSGZh2fb8Oc%aN)4~+HLks= zTNlgw(6i93e|iVl)k{)#3f;O-($0%z3_0g`u7wITkmnlcRtaNNWhMlEi);QDqkxH5<;}`GM4HH>F$3O6 zXPD_lBL3b;w___KBO(5ai*^IYjd~#?^4?1yvW^CD_t4+rU;r=HS}zH8p`P(JGN{T`;Y7Q8_#rBqHc# z?OY8H!zU%@u$3oxAk){Kc7WYs!}6dUuBQ_Ynf;TNPJ-txL(t>jH$qW}s74Wl$A1^* z(Aa}>&^_4bvn3`WL2=1}G{q$cu&Mi{lGqj=vq%Y5IfSPQeDctymcp}263GtXsWY5Y z1>rGKCs^zS3qc3<<(Hf#Ry>#`VH7^deBH)MWyH$FlCIJi=*2%c$1zymWg}%aN1cdNw{0V^;Ed#d{z4ivu|dm0o$)}xMm1z9 zDu?039!X&VI;QV8C@;vO#N#HOMTd@gLX?5RI1b=QK8l2sTGjZ#%Jh z;yg&_-U84OhnuMt^~6m}X!a!@L_1VX(>K?5Nn5IV$;COD+Ym=UB@Kzvgo-`75G@Yk;dJrzJ+|;a}588yK|)gmZOFvm+lF5 z2Xhya^@STE`6oS>%FK3jiF`{uQR-L9--aSfXgCYXXJ{1<^gOI?uXdn5JfxP8%i9a~ zkz=F-*I*bYt%`{Zb^_hATM)zNvJJT42h>=K4>75KswNQC91K8|$lq6sngj?#v`F^P z=P;l1mdfYZk~V|G8H9BMntu(b?Dbh?0)(tf{=9P$K~OzLk)g;$178y3#$!*!YsUu7s3 zTL>7CzzYCugdDcI?v3yPeqX~qc%bcCFb@xu0?h%7imCtsxa8h};F2gV4~%QP5Yk`k z-3*L?C31&NB4^|e=bw-T4R?+Jl%x6q8aienq=P{Oc4tFG5s_gc<=;Gm1LQ()#*Xo4 zc|${>0I&>u3v2FpcoPc|Zz!s6f=0n#MC}p(fiS@B^oCwndH7ll#Xl%hWTIDU9;f|NZdL2CAjX|qPlP%@{tu-A0WQ$D?@DAcTwu@HzZ5=KF86ACwnpkidC zgwzLJWEfXNIb)*7n5pQJTRknubD%ye!-s@DYF{Hg^E;t389=~)LLV`l%ID58w{z0| zjRPQd(qbF4EYh17!MD&J;Fr;-hG)p#AUP%_iR)xaK11!R(Lu&+GZQ2r zjr>Totr%~N&q1q9d6eO5uPO+%|*5k&?}H z!p+-jME+N!OeDQLfBbkW@@zR0Nm_n)0>egrMQloWl+GQ(-@$|J{Krk4*Z-JN=0ri~I$yHbuP#7Y)C7t8fvygvh zU9aQ2$2&TQRn&vT+o{n@afH)1_uvXw{R_?nD_b-7uQ-RRJ;UF=uJ||C*9rgj_GP>BQi`2K+_b2D5DS#ljI}<>lV2nys%|c%QGba|`5|Px4 zw7=Tmw!qT$PdE(RS)b!S7oSlWg_HcDnOLndsvuso1A8(QG}+AC8J->AO3lo^WzGr3 z?n!{4>01NIG%#3Hi#5bZwV`jO|18%_#|I8wd1u!^{}SJvK>xnJi}BGnJvKYgf3)wc zK>vxpn*#lPzQWioR`6h!|EziaM~}REurCjPr}-!Na_05-;jh24??wr)LuUU5jxhaa z`}@u7e`SSt6s`!Kl{MJc1D}30dAfX>;OjE4|3rT3ir*&qJ244}=F89=2aXLYDpV(r zfNR2B3#!ai<#2xBb?BG?xGDRQudl}adH+O?e7!pdK@V8*{Ql?b`|Kc@c&`d(dcmvk z8~nIK3rri!Rd>Hmbm5uD)rL^Z70&&~XtC_y@lVJq#Qk?{g8T1s)EK<2ZF@1;H+JvT zjJ{iW@EE9Gy)chvHOL#*TQb=Vk2-0>;R>QtQSPw0;It!qutD(dF%Dyfu`76eL z5pTvi+o!DU%e7BgOV`k_fJng+e%JhQYZ8B8UW}ml&q2AHW{c7i->g7sUtcNN;C_}eYmMV0=_$tlrEP9_ok@gpOM zeR_O`${zv-!S<4q!2TULM%iY6ch^hpr6wrIGx)gDklj7+Pff#DEvGJn z(Jd?F@s-7N2ukP>l&Yds0Jw@SM8XsALG(&!`Age&zs$sh?xPb2f3TjR%0@smXkn+8 zHMxpz@|^UHA68I(#5(Tw{~SCZZ=daYL0Yb1FmAh75dvXTXHNuvQ|UWwvep416% z2W-U*wWS9BG6lslLvfyDhDcko2|1BzRV#XaDh0Is1^}a(V+~h*oSA#!?4sd}M)60I zwqBGzsk4ON;C_l*D{;U3J_rZ!UL`7xPBd10Y$A0A0>W^{3E3snEYg;$PyLFX3!dPN zud7MXe;mFrF?%)Y7b(+qy~J1OE6Q}EC8^Vs{ROVO9>(DI{CM^$=A|cTN3GM%)6UH4 zT1d=y_f*WcQ)~0(ig%$*Qm1JXQ(tPPPW>ZVUp>wWomQuwAUt8!3@wCL!+xHEgapl* zr8aCWG?(~R^srMKq=?_!tp9NXZ@T_xADC6}H1Eq&@!55tfY_;)&ySdu?yEW$8M$+p zg?0CC3pM+@)i^PWQ)ogTxRfi^#rm!F`uY=ez@MJHME`VvAMsNLzUNP<%6wJF(Iff8 zzQ0bI7jRI#!^lDWonkzhD|bnwdN1Qm@ax^h@(P3n?W#(G<@c|E#7cdZ4w=UC)P1iI{rY2kwQf*? zRXS0m-a37MvpS<96T?Uip^4utX!iXGao*hFDB&~57NF#NHa)2oCU}~AU>L2#0eWiL zWB)FGBE%N!CHoD$t}8|u(P`L-y|(f;mj9#{L#_Z={kvkavLl1n`-eBv7|2Z^nG>hDbHZH3DRSvs<@nCKDVSr3&bR>KJr&r7Q zo!Hp#@C{ErJ#PH*GJV5I&(ruLcBWIIV3XRFnoX8s*n|tPb;wIlfZ6Zkk9Gk{*bx3< z8D3|>L&zQX0N!kXj36@L)xioDBCwFKY{xWQ)uo9Oy%2&8lW>*&1%fkni1ezPp{Q#L!~is+h*~#!STm~u6Og4Ik{p97hX#p74vlonk(BLb_9DR%?SDyi zv4+M9BNQ^5Ts9XG0*QIg&BOi2&lwCalAdBGsxw|DhV@6eGU9Tb&g>FHnNLS6GzLT6 zhL-OvCyHHa-%GT(?X7TM9bwOWb6`%U6mP{v2PO=S;ttHGKTFZH(alI}wA7#wx#efV z|K`#motv!f>sR>I*dMnxmRQJz8Nq{rre77w9#spPy_-RqMbU>9M$HGqB=|GCs1&C{ zW znvW4Q9F&6_w_bjhSb0|GKX$%I)F1(wmBTn_Yzgb6QKlQbJTt?j^>}j>9L2H=r-Gd~ zLfuAso{neTzWV@x99-w70pGwh+gYpZfP&EX;h!2rM)#z%MBIOIKpUTrz>gY9>jKPr ziKhVWq2~ZSaZvP&tTPL+&NTW3YfYzq!E*C#E;lD~xvBLF)|+Rvvfdn;SZ{t#R0R)a z`!6wT%^a>ZMZX+J6N7&j}NwF@@q4eY;nXqAnH zEw#$=&yeS_;v8L6hZSf33Stq@34JpEO3^1l{L%Vk*Y8Ny92I>bu20}%&I-iWn;MmL z^QU^l8I*PpcXT(e^@PDD+oxZ-aCFgC^r7o*Me_XwFy%?jF&P_TIRr9whYaIVzs4{k zQyq2IxE-Q(JP7_O4>EfTN4IYl`3im+(41i&lB5jr9W`rls-XQnzCFVDZ@gX3_TMxf zll;<1_SFECd5Flr04rvI`~wX+EN1|;f%qJ21z*pjnJatOb?-c5&I%dlg{;klpq*?5 zn=}0-5Uln{zh8Ohag1f$$ymmv{Ot3^<}#RZF1f3g+;v)P3gc73<}Cl2t?-w(?@qxa z)-ch301mvIV6bD!V6vGLs1)Mh4cG;W$ z0{)s1OX9Cdr^NXS@6l?#@Kl_?Eb!Nh&uRWbW}8U}D5w11gTPqfey8z|ELj6=0{#l& zU9)1P^8gQAkf>1&-Oyn!I1X<#iLdKkco_~Z*y(DRB_?PaOEa~-SxEVdu1@e$OWn=ST0b`dzlOiS6Y!#~ zgnkCXsGncB0itl;VJ!;y-Kn1oj;^0CJ&>fIXa18PZT(!Dte;POl883?x&QLC`WZMZ zjH}$2A&T&C7*0IreuE2hfdcibx&LXjEkySHPxeACx8~dHGGybDnsO_nsXKi`z-_t3 zXHV4$^S=8$>zlAhXjW4y@jJ9xDMzcLqKjm2{}C|L?GOb|`&Oc;WO)s|oR2qt@aQWU zQirc{*Mct*iNn>2`2N(*-VElhfPKtG3#g}TqwC(gjexo-pb%qPLI~*hnf?po0!kw= zvC-8q8?7m(mx!1$xMas1C+L{tBs4sd4cIBA(tVqah<=|CQ5|nQB}qaNvy{-%@s!Ys zjR-F7?7I(*<01-0zehcGS;7pcZI@~hEg{lsG4C^XKtx~1zI%rWc=P1Ah~hnpXxm(c*Ph2PU%)L%Y6#1KVborYx!^j>cuH#eJ zL0`Q_mx}SJWr$DtFM;-i;VQxcGWre%M|=uG2pz$_vP1J&3xVPlNCiSw!0=~FHOHZ7 zOZG|Y?DLHaWxtvxXtg`ygkFMHjnQ#wf(i~rqV>lffNJJYC0;KnZPE3WhyaWg zoft0l0`eEDI+nUF#RmqGw5J2d7gCo!2YI~ zSPzqf4I+%%5Hdz>mf|nfxus&`Xvfx7QTf<(=aiu)lL9sphI53gezGV9xuT>K@f+b! zN3@FZA=~~#A0+T=hol6>_D3Yc8JeEJOfz@`>G_&`?G6J8Yx`@g3Kxsb^%UgLkJ;Jhsp#q2~W(=)}O_ru0>F zFlhR1TyvZ>nLd$m$Dh84w%+Vm2E1H5V~3FHR)0tqQ6*N{>(hp_U<4bo!z-d?E7e5b$xt1ZqZe*sq|`_gJVXr@?N7Zgx+avp^~}2>Yh5g=$Q$d z284A-LVa}(X4rcCq6@HS=3mF9Ic3oH_AscK`|=Apcc$t!0_?dL+@6@bYyK*><$^#; zU4TrBue)Vae*FGz+mX~msf%$VCN#zQKj11)uqI19=q(l+9AkyYB__3LXotlXupr zjZY+DTCG~(=jb(e`gPu0Fbdlf9%>|K^Ja z;oqG8LK^=jFA31L`!_R=kpF7*vUn~u6bxJgJ)Ysq_l9<;yO6ua644tztuiz|#{<7B zbRqcUd+k^lpDfaIz-r{l9vX$I2alfrYUxl6Y;dAoW^)vWqP6_cj46h z(=2GK4OioWZP%mPe)ma8x4pjIjA@uTRwt%s;z2Mq0sKz8zEu9&CP(ZEit)6vi)5Fq zg5~M76P(pZgRGSR>KpMa_63y?!Sb=NMkXB2UJ(u-Bk5^f5- ztJG~HfI<48;1<^LLDN8W+7a7U-A{GW{I)Yn^z9_+wehzLGqLfPaCx*JMAN+#zZ0)w zUV%@I4jV;}6b0mWnhe7+oYF)4Cz)B&bCg2{(S(S#MK z`FEzUWptQRbY&7?n6D5VUfl^ZXx%<df?CbJ5PALD!?Q6zQX?(=Kp7BVV?CZ1GCZjI( zV(R~aef?y1%547E?Q72mI7OGb^5K8SzHWFP(;PL_IZcsrsFS0vk=5Z@dYWxtAOEk} z*UittGCcLZZ5h(r*F!&vTZRA_9G2nWgPcKH`}z#Fmb5XlQ>D7H2JAnuud8OZol*V| z?CU+tfyD`1Z7im@uPc5W$Kq0r#TS-nEb?Ou`&zsFKeDfDtQ35nEx3T)LYxZkKcLQG@Zp1b9@!w(8#O0srYP{92BW*sSr6*JJAs zBc<EQvU9DQ0?`D0Us(U8Po}uAG}v=1S=`YpNEk@*2R>W+gUW$wqnY}ViM}mO_A+Y1p$$$!H*Y z#5wJIJKdZlm%u1v0NpcMON(aLg39zJVtuR9?R(}WmmxHOds{i8q zL!kfErpXvE$o(M%Bu9<4JC42Y1l&Qt8T}3XfDuSiYA|}>8bfQeJC=#kBdoinZMRAWYPd&YcxS8T}KW}U`L;jwC;K16D(kIBR*Oo$}e>TMhoSq zS?`_OoG41C0YzCvC)na9_)CV*=s#T&jo^|5k6MI`-uR7OUp349Z@}lsx1H8DNFDjM z5jMqE2We7Cj+$B~jDc(g4H1L@DGQXeZm`z;9T5^N(vi9&rDDo)F@(nDHphD%|5yALOHuFA9Z%#$5A2$ zy0Ap5u^g^Irw=t*s}o4jrBd+v5F^4pCYsv$o={c?4~|2@IWoclq$19J+2e{V04#!F zE1b1S!csMA#m^yDk=(BeVOxOv8gdg$X}Y{;vVC@^cfqMTQL2PBXTZc--^rP3|OUA)4H?VAZk7K6lBNf%n zCHtF`3u6nx>2_gkXFRK8yCD%~=&^yD=1)LfOd~iW>b|Vjz_)o>co} z7XVDobMyO}b&3UCY6Oa4p%q-8XK9UKg>a;l4{D_B-MJSFhjYq>wnq5oGOZC1%kj~V z%lc5xPhAyP2_;ks!WE9P!zbozjBG*1S}@Y0?2wH}I`O8=pa4s)nUpeffj63yn7*lB z>6DNk;oLfh@BmJ!|GpH$^X^uS0SF3eeeEJcNDg$INRAs=$;ZS{@;wYH@&MlhkMjje zPRK}3iDgR;?8ieQIWP3ok^}yt{)%LO@KzehsZwwKQA-ZGK)kz=qB95w%TjbWJ8;pp zE{M+bc@&*fAw5$mJr5wu4BUCcSuR$QN5>fH!Q{4sZ)%9b4U~k=C`SQbQxfLY+LC~q zpdBewr~6^>mzls{H5)_nbD!E|7cH*55+(+!|4MijxzpRF6fLeSa+o0SH%-v89%Hos zH*SkYd6l3N=qM&NIfiYG|5ekWUZ&%R=og>alj2LG^b>&S?){7nmf2s9#eNk-q8dX00_aD!J|DK-* zm22YT9XR4q;^PbMXf-~5^DH>^kKsx_P3DBusK$v-sKt5ye^FmI3H5b@Ut`tRGjqYj zG{mSCK-JfB$tdGl;(te|ubUz5ob`1NplPf1bsHXT;rJb?zAk(bC~@Saeqt%?@b@pA zkb+#TJ*f(1e`LblV-nDE+Mn!%e1SJjtrge}&dz^YUw4zKuiJ@A%V7DSIdM$0zV1p% zYPX@juCugr*4Lelrmfc3UH?#=IO)zl%nzHYn!zp1`1d_&v$6!zu+zP_&GeZb%8EG{$nd(ijaSYLO=kJ`?6 zN2ss!Ms6(HtoL87v6aBQFP{)ULT}u|K13hR^~vK+5!%~=eeBDeFjC~(RrgKWe!8s) zy#wqBPQKqGu|4>*y9n`=3?6;9k^{g~M}zDKhgD^$e|!jpYi9;qN^lYkWDmC~U{95$ z>QO8~K`pVGo8nGA1QfMe#`{4T*gjvGg{`W=?*w!yBe*`tTC)pY3p~YZ+rek~Lp>e6 z-zbG_GB>b=!Na-%#C`^ z@X7!He1@)8sM~H04R@ig);KCQiNBIF>)^6FW7osmSZyl+HJotT*zxKmWVU&5UAS=<#?rfT40nW<@GEP5fH52Xhudsw;=BON z#f@Eqe4g9;iJ^&VSj6G`2(&%U}fJ^9eFaQ|6a{dT4(b;VI?em zaQ@>APTHl`AOSAxfeZAeQEYZL$LfWzuOT0nf{cG23g&&eE6Hb0=nId<^t0FDd%goV zdN$Sy{#?~egkHwJ^_?H?*on+vjFU7wSc6VSxI_`n%n`LNcg|Vf6Z}XqvK1uCO(wa>jmjoFnSP=V_j&JMuIpD_t+|U+U zvH=4G%kPEeC;PvQ47W_baWlTxC|Jlx+@G14JKGkhr^Y!Epoe)VX-SjxL9dT@qc5{Q zE<|Fh2ClddZfRfC*R;c~mIeD<4fo>}qPR3rpOfLM;~UV*edYJEr|TJgh8(l-_B{c7uQzbc=OZ;CCn!2Y%{OY!D`LB?yDF1s=u;QA7f!_5K(*q^FQ2IerE~JFIzaeXn+-7A{CsG z>X5?BDs-bI!5sd^+@)MmAE%=5QcZg zC#%#1)}MpJ>a6hn)HS?*4|{O#r&1w)EJEov73%x2UPNjf)a0=X9oMocUxA#uRd)_7 zK1)}Ot=_)k3oMWF`wd1hV~_+kkD zKM_ky?hUbfIuZd;n8+OzcOHO|lY27Qo$fb3~Z~WFl7d8}@ey+}#XZ;2E+8?rP`+ zxOy45+&1^AbJD?uCR!5{3WD< zYD1J>PX!Jikc|vaqxxpQ)_!1p2N#VQsJZAip5kY?i1;Bl)DowcK~dHP%bO-cQNmfk z*EO+x^@*gI@hp~o8iGDNdwWRjn*;0Z4d?}Gbc3S1Qhu3A00KoI_Dk!F-)LRkWY z-xLAD&oT&4>^oY0KNum%eMc>O()1gryBpoIyNx#@D}(FUgs&3aO^$cRann*w6^}Xs z!J_vhNxH`Wg-Q5Npk59GO5p$2ed+MO9am*hXYV;jEQcEii)j)w!; zc7WaS9n@c~rlEp6LlkrW-K!Fuk%tX6f`#QRmcXu4g5(DX50nDpLg-qNcM5PA=jtLvp)FA zzUNm}FTxb&tyB1o`8^;xFtaMdm&^JJvP!fYsf)!sKUl%J#Touf)T7vS5G;RsA{CMx z-o+nrRnA+JjT;?jvtq4}213(+h+D|Gc>cUU_zfHaZbZ;a{p??0JFKp*m);P)0SK{^ zw0@t3{^Sd+?{Vr5<2Km*WP^r7c-%OIr&JE%aU*%Oefkx4_O{no!$F^iUq-CS=K0VN zcd-1x1i%c3zn2Z^5JU}zqSt}=yV;CYT^cNZPhRY*4j|<$(FNSEpx?w@XKxO~l|R9m zb>Q!pF>_CNp^ygD=->%2CwXFBaQw@cm(r2UeNhhW^U)F`6d*jY1h2@$6L_$>Ix<&y z;;x>pa{oZ!Y;2vnQNMVdc~SZR?S=heYu#j?8Vua7+YdAT(3>Mf^!BQXl`I2=JFGHS zey7hEvPmz{EEH(;v4Rx$9ME3v!~K-#?3*4MEO`f`HA=tPdrpG>%adm<6}FTxK65za zWUf|i?uwx)Dly?CMfasSIZP`_t^daYNTdJV%fXkgK9`3!1^)_2mvZs8jce2VhICz86E|x(cyPw><_lE6QGOkn}m8 zlLAY|;Jb~xR6@tAT9`rgoh?K>t2>Dp-(elezMvpZK74D_P7PcrW*R*aQ4kMA8rZI& zg@5ZPnfk_a1R}P`p+yIZ5hwj-j7VMIHmZSNX~JL%4rlf0ON20L-5yLPj7^YO_;qx> zgllSKsVfW2!W59z)v1uh8puJKe^@bNV6eoDHR1rs3T%L)k^=hTYfJ?8LYwh2Wjit+hFe}9rjHoOuMO75D2WWwJ?_%n{`{Vxlu?HWq;8_VDk z@xL~mpR&vjJqN!8x~fZ%&383)$Cr9oF5VCbV!XBUm7_A$-Q)yB4A18D+_2JCwm%>1 zMEAThIhzMTo2&`0#cLQaLfJu34u!$1P~G{r;B+b!HTcVP+wcgB4RM=wroVHbti*2) z=RA)0Tl+gsoL5#dy=704{10cNwoUXquZ++;*(3Q&XGz!kNFoeXg}3lKf_0JnPxWuU z8}VFvhyET_82OXy^|KexyUnv3&nxgO@d>mCw)1`FHy(hqL{GtoC|CYvb9DR8c;2kX z<00?{Et!qXC3xJJSn4FU01Vc5_z`zD?`OCcHyLzA@^8aALHu3D$-)OdbDRwtet#PD zUp95pWIxe=dFps0Ocy=T#dk72#6|2ryO}<5^oN0^ogX~vaf1Tmu4~zuwh$J0#a)V* zxR6Hu$2D>YX&w$A^{z_R)50&9S1Pb|#j&B6CvGCZ&&fxHJKBjX;swW7qDj<- z!G^tIAENzRUHXcG*YbINg1^CTRx!m5fL9k%E4gt~NqgQyQnqQ%i8$V>+wm2FLpA=d zymBMnhtYe*dx=k$!I0qLV_f&KXulDUS^ksfmELgct&?2~s_-hdlr%-J!h_~dPX5e! zrIV)mE_N;8IvWVM$hF`MJgw%|3&>RFZ?DUU=Hmc*$9gZ~`;3;PHj&bf0O{yo-z5zsmL)*rbRykVMgSRVNhs6PfBJj)KU z*(8#E>vPv-G)8~U53gXbQIjW)pJ0{cxfbx29eb2_F-mMUy6)h=%6f&fC{pN~NJ zghqcCySuZ{U2LTF3IVs@xq|Qb%k5X%@s;z@StoxV>y_!gX_KbjG-@(CI~g;~nKa&i zT%f+=1b^q%$7&Euo3N!s7!rP7DI^0b&eQz52X_HQc+C35#_4mebiLFA6gynw|IAai zciIiu%Hrv>)ziF*#TliQp%3DBA@3a$xeTZ4A%W%Xv)vo<;0S?D_K(eLD|_u27Rfpu zT*pg!KUc5Em}Ha%j_nW`2&6Q2i<*aW8eCehR-y8vQFG>bR~XKWHW;?l{5J_CHTFSx z4*{Z!+8h0~-?fOxdst=bUGw|#0h%7_em0ABnV=0hZ+mI_&2&r|ezL;Y;uKI-eaBZ$jFq-p2iU|W=dg1=B`NVe*X(xZLf?Xi~VRT#~7N9-Cz zA=s#%BUW<*l;Ss$D{!(ba4q7fZUBdJxksHsY}IfUJms6b2a}mSCewgPY}Ko+U6Sf< zt%zAvM|#%mn3AEs{X5`{s~5-@B)R-6Y89 z`CD`b{A#!#v3o`_c{1D@-;W5s)mJQKvT__2SS=sZrMYUss1wZcMXn3=# zC4LV!Ptk0k@jES-Rg!iLMrxxN0*PdAvENg}@rtALnIs6X_ejsbYy%1EJ{J;f!E<^N z?BdHHL6th4^AHk5%72CTMlM>g}ui z%hQV==gp3eto2aJ{5G-T#;Ys& z4gP~e z|8&4Hty(I0SfQqNX%y^UR;bijnfNQxyhY->{pC(m!zf@w9^a*}1eAx(7)>5_32Y{8 zRH6n=<@zJPJeTVabKE?Tw86XuKmZcpQ{DB8-OP*ZkJ#KMFPdTTuBG-)ksf26b&tEu zi&`^fcRLgQE#3peFDh!nZ}I5Tj^AN%1NuZ! zwmqTd$Kcq^Tell?LgmmU*T;?8Ie1jRxh~0!sXtxnl%A+^hz#XprIwFX$Ha{j5vXAs znHQ+9hZp%1{73~9;4e0&KqsMBu%2O7VZ7i<;u#I-1PWs;wI7z_0nRfBP+h%(gNr;wvVXP{(NUfj;taNOSn}8E#}RMU zanVKrAP3`vz#G)Bbf*uQPUTm0D$_s(*;aJgk)1+-0O0pzEWV>Ap+_=^Wh6=?L2Z>V zx5RbeA;Oe%>BhIfZ?!R8@g>!AM-mgH@g$tlzuCc7}2pi(oZ}yTdQsiV4;%ai~L0mYZxq@#SgLe9VWO4IWu8)s# zEw~edwFUPOoH3T#aFZZo%`s__(Jl&PaPLG4?i+utQ31iW{Yr}Fn7;t`Q__)I4>v{+ zH!}TjOI2&b^-4e77k}0W-V6{W!0&^7688_b$N_~3#P6J_`9C}DWP`XPZgtmmlYR78 zda|&4iOJTf$!2u1me{5S;mh$fH+jPyy=7~r!=IrOLFLEm0>byBfo*<-gF7 zOItZ)E4PxV4wt$Z8EuJ2C+-?p!!-w0qbNyl2*X4y+?M@umf765#f!GQ-~Ql8Y3#wy zK9=rr-yuw269&fmG5!F+a@4R3jiHMc9n@QrB)*$(*3Nl|s>Z&9yOcOIM6I@)#6C#l zKAQOKLm15T0r5^`TCA{C6fzo{Kfl+@z(nrQQ{aebEU{jgfg%uXHtj&2F@3w$854wP zr)H68vPhTm1o~!>3OBl$@i}%!kxQ+JugI#97#5QzZ~ua11KQN-8Gm9ykISW3A}}Bltwiez>5EWwD___+mO_X z*AIp^B-Nt8&d%;&l`WzDyEB_hUc?j@E+yh{k+c=gLLuO_C*>ryanc#}Eo^#(-y5Z~ zu#AANm$U28X1js#*CjS?DH%1SC}aeSV3t}1@IFqLG*{u_SZ+0mJxC~uxXoc3IDM@o zHdOb%PT!4|wjhz1O5`-6(;Y;2Oia5j&D#+sRlt6CmwPLLV= zswaGfIHJ7}?ouN<9yEZ|xnXU&P80FVao4y-lk)SiUy#GB+T-VP2Nx6YlF| zw@}+wNwEAuc~dH&t5AQNs~$A(R_Tr*VmwGAgkvbnrzCnU#+$dAH<2+02!ohvvfK<; zLEs8iSFuw3RwpFz!cmCl*xohz{5Fx%ah!uAKXt)T_>0*_`fRET7t(EIEeCWjo%ioT zccWo9#<%M6td|g9WyhBgIufKy4Y;7o6YLEI10aO@zWQ_vAT{Daj;x|jq2F=TgkCbN|D*zv$Y5-gf)NQeA=e71CaR zOer29j3^$cNAWO%ZBVe^0>IhI?Q@|p8+EmgE<^=b2xb7>)n!^)Z z$<{_I0a1!*- z>LHqn1w=T+I&5!&NX$13OdwPyz7@SLdDvw??8bxKiv&04nPzOQML3ji;o~o-J&!-# zKIDRU8^4P4@Ia`qu?1Wo^}kN+=|%r!%S9%dXNUZ#V@*BL@%p{a<~@!|`8XgWWzX(c zlYwKU;j~K5N3TW+h1&TuIs}W1?8Fnr!{WurCdR0pGNvQssH#Lg^30#I1G_X8Z>xpZ z0%R#ko_iR3>B>%&lH^|(&;iK5B_AcpzZF|9^f?SJ7lbV(q+vaAHJDvQaxX{wl(jt$ znz#$4K<9EcAPQcPwKdzT+@sH?hG=P&c4=nw^aFY}@&bIR8uiLJdp64tVK%p%AhY@4 zM48RcyKy!G|8jIG4^8Ylj!{z<=3_6B+$rdS6XMH+W2L;Sh0dm=N54AIyei${)eU?V zr*+_R>ecypb_Ofho$4xtNTTFK))%-Mf^4c2|K!v;@+ZYWOpNx}Pz4{5ZqFTPQ$g6v0_;0|=9F3SG`T$20q69jD&kDr<$`y~<{jG9*L zv?0;IX$M^VqjF=v3Yq0S3$V_n50UHUV3-e#vDn&eRs_z4`t93d#0sg2lD7}2E=gnX zd@kw#deeU~JA!>534xYlB?{m^;(4?3zlA;#lPiSE0Ru@^E|UFGzBVuW-@{ykr5S#g zSb8F$RQ1LL005IzwDfB48D@U5aEgD$3al13nmG`(!-{E}B&!Zuq5a;_o9dPc#56<0 z!B?8lEW>xZH$0!rQHhF(4&LxRoADg$;tl7PAnTkb%; zJTiW1?#EgS=RgLs@5eIN-XO^);))Y9UGslJ4+0vTf=lY!&h=#n4wd_-2|?f`lfr7`4@B^W?xWx_^Mc+2>>avQ#46JB z$>XojSam$V!(Q8Z$(i8XFtw7IG$@=V{vxY!wh@?-*dnB`Rn*_tt>v+cqDb)f33**l zve6sbhRr1qs#}^&sJibyU23Q9_?X$-ovyngupQ)*63v+50)D8`A|mw+8c=0zAUumT z)J}PM_BbsscVo|$WB=kZG3A)34_ybpZ|6UU8KCOQ@Q8xSuqO{GbowJr1Q#xs%m?{L z&JX_i%~%&B!?MrU%Zn2sJ)wWJ_HN7_Z_WL5Y;M2mY2JVpmPy4|1V2I4LSH9T86KZg z8SXTcdHd#fxxlI7qQ}xHN=%Ws^oEavn0P}US740;;lds`(X6uWwSc5;2(sc%E!*^b4y@m2ZXCxEljArECr#8Bv>S1VH7B${q79IEQEC;6KBOpC z-8v{KZ$mW#_QU>TGA*<`G`Cbcs$+UNZEZTGEQf^v|IwYTmafM2r^)}^o}B-os?m!$ z+iQJ9JGsznn}u|*>clm)>27?cHa)=aaSQA0(Nv1a>_@K4ScNqq&Ifq=b3}bz3;u*p zq=WPTEbU?o2*Nh`t9v3xD10VAut(BgAi-Wg*Zd~-5E%g)*!dH}Uh)cV< z{Q`3{%l+qjBg0?{Mtv`b-M-BW*36928!^y#DK zrz#P=tZ&l!uckCPJU@WuSP3q~AGLkBwAlK!Zn2y{ffrZGD@HNb!7{!#9;N7K^IMdn zFU8+PDf$c+iGwNud@G0Rc*8PFT||P!tT*&GZ)m%0Ht}JTy4VqOjZ(NZ6G3cXe+J{t z(2-T-D#A99z5*d;nHrz4mazroJGOf832+ zjCS6{<;fH5KeU_nVf8S<&Wf+nVaLc}q-XGb=(1jH715);)(#)&oOBoXHCxA74s1!m zJObcr0}#Vn-tYN{u%^yuR%ipk`XVyrF7^QfF}JS>*x6D%ZbYc%SlC1Bf!}V&``LUq znuGOdO^l+@)6&yk#UOa$-rHKP0q*;owQfM?s*f>t3sW+t1$W}J$xJn^Zr!S94s8w59 zBh)nJpIbrRkqBjLV>JT%)NsN5&0AjtadL0LpJbM7rSCWv{tfC$I-~DK@n6c@X!DLc zxlJ}NdX~xj=#_$wf5$+Z)b*Lx@3bkrA5r^+FtqU8p*8H-y%=2D8|R83)5_f8BmD-W&S6H}tjs(qL4bb6FeFxwfEf z=se2(KU{yA``;h3*I&VPftL5b)2h_>-3qyhy7*n)wO^2?BD5Ga~MYKZ!ltKqx`lzsZ{HYj6vlrg2odYiNCHDfjJrH`a4pPQA`HR z($3U~kU=TIkjLp#;i{dlj+**N4B$22k(y0bELjw|{k7T~}^ z=DGets#8}(7PPlF6az0+hIZkq0B`88YU^$+v2puM(zmcr^!edJELe*+p3vLq6P2*! zRRKK#TyzkV3*ko2-*R9uAd@ZIF&$}YBw-kV2yL+uSpIh)a7iEy0{5PWS>gVrcLNQb!{XP6Xu(coURijLkUaMeJN;6tMM47O<5EY(2z&ecgdA*QtZx z9jv~{psX_%qC*YJ@-PqGwg-+b8i#2~Ue6mgli5DK4_T3up=?I_`9H@zHs8s4F!ZKj z0yt2toOKnsx0dTh%Y$RB`fT#{dCS8SH`g2*;OVsm2My=I7cD_2poE9~4>^bWbEE!^ zXO^&28Zk0~C!|5ccj#Ww9V}mWE@oxt$_muylC*~FhKRN&EE!6j8ed2hiXskv89=xo zypYrMh8EHrGM{j6a)+cz>kKEd4}GZYFzL;D(t*z~>78>qX<=agMj9aOMA?%0VzDbt zHhKDNwEDbHLeTBhlLl_H`=b-*q}5rt+JzGaDN`m4?3oF_e@@bbzmw#4YZDex69GdE z35Tlk$}UbHOd{9S>*rR|b!ye|N6>`P?pR;93_3YJYy0vzl#8)1HT1s%z&5!-ObN8w ztH$$dq(j1T(v!$urB-3)x}BhvMF1p7#Os za|`iWXN7;<#Ge55XxU~pSUPj_4J6pz(04R*jarWSUO~D`R1hON|YE;8_ zW|bT5jEX#$?9b}Z7|VnGs$p?}T=Igac)vz|zmG!KBlA2Yob|d~w-S0!oiXANTortY z(iB=*0BJA+h=Ep_5~EROULG7<^oksqNnimnLz!UQ0$E+-{IB#J!1eP{&R>)Grk$TH zX2)*EpRrRIi#`klEd|?-&=W#;8`U#Sz-%I>oPa|u&PxFy_9*yF^Vgq20K;D;8q+X? zpq@$MV_cAcoCDNv`q+!gWOc<%%{T5OzL5sTgw^%YO!FX8(`lK;aEGY7YMO&$mCN&s zK=^)KJz}OI%^Dkhr|=*iTq?(Fi3(zc63-C*cDN&`eGDdzomhs*+|y+<5A07g{gw-f zd7yqE6){vtg#r)uFYP=+@EQ1Xz2q*mYc(8V8-HB5g#JP6ZwP${3hqH$@Cz#!E-ohK zy2<>;A$2ZC>sfhvZ+0~}Yo(xNy&Ro_LTe z51H2;j_><5V$e`aO+FMKnuN}#@0MMNHvTT_cVJ8>jn3A<}Y z{n*(lJ;0(r2rAkE^inR-;9{a(G_`(?ewmp=HHOiFBBqh}L)^S$89u-qY*^79OrwHd7;o?!mw1(fdvLPXpR}ekP!f8mFl|#l)@7V zm*Q1_35_DNFQi`4OqsaM6q=LokWymbQhCbBVx*tzF4k%%&7V+_giGbGNpJxl z;zYpR3E+DYI~gD6{~7qW=Z0i_uqzuM=eb+pgFYhrVu(~@#Dpq=nWgw%B5Ufz?MK3l z=vrYD!I5TUVH5KI>JBMr5{4H35QJ%l7XFBS)zaE%{5%G)%HRjYH*r3b|7#Q%DD{4o zdmf!a|8D0S$j;eny-G^1vya^gJk6g50}j5a6=xZT)Sjw!ykzR|H71j_kiXT)u9jxu zq7n;tt(-y3mr6j~)Ffz?S#l2V)ob#-3Zgw>ZT4#_SaMphA;PoX60C+F0nJLa7Wy&f@j{Z@+e!O()ew>EJaa$bqP}D zn*(#~t>!b32a(1KS) zlxzd;o~qMig+ry$@3F9i<5n>(|bjI|z#eJlU`e@$Ih8d1^q$JTYv%aRu zKUYgp(!DGY9D$$wKScBfPCdxxJGJ^&$^w4D*>m8-?x$!z98_fZ(5`qF zRf0ao!a?dfXvsf~V^9U245qmlP@R^Y%9pNGU9IQ8H8KAZPTfuN3nsARI(y}Z z92=MHw7_W1u30~&qFIWm(b?DR<+!rtyB@^San!%vPcw*W08pdA7R<Gzkc2=et*lu#9Z8Q|D78M6!#~|7*@rN zA)KSv^DG)etdziCyw0T`NdoOeA$4%Fo`3h#H9O;!RW2foSjw)7?ZTf)T_;sJXvo;{eR@DEGI#aeS-yw>+7T zCBjE$^qnZdNqWpgMDTEKtJnW2TtSvL$-+*|^GVz4Hp&OuN zUy^pt`&<5qrhF%Wkt#!{dBbN_hHlC6hI-S>exhFsuQK6f6Ef#@eU^IbT~H#OMozeq zvf7ZmkfazSEv}|Fy^ zhu6wba;>aq)DPZq;v6>TT9&- z#E+efWOuv_hU77pbOGcVD9V%a{+sS^dF!8T=Tqpvqs7;>eR#74{+gWlTZs=;6&k54 zOmTuPGhnb>p0 z8@N;Tr@%yke~b6F8r%EsPzqJ`{l8GSou(fxerMk=Ubxqlmyr~^lkvB?F@B;HTP?H) zi>=Z1*Oq}F@`^}`26}BzG}3~M;_iu-Yc6V)H>;=57IW^wgxX6ChiS&jCpF z;QAv$n265_tSRxi{;dEkD+!6u3FvK)&tVv|06%Jc?xT%RHHTO}2Gk-xhmmws^r7Q( z=eFuOXuIZ&&)xqf@X%^}PG%3Q7LU&j+@C@znJH}8|F8I*%%4HEe?LC=-Ui^~3l@wy z@WHNZe4KYq3w*RKK6m>YN5V|Pu@W4$h|hK3mx3l?XyFe*SR3MVj{Iz0TjO(I+$Zt5 z{?9uWFK~Xjc=^qG;OUd=^}+={3|tGYrpc`}o?w%`ns(lQEVrGOCdK5aTd}{QKr8oB zPN)_b;LVavz84_#DKWaINY#`WUCR(%2SQi$LqOMt5MAm8$Y)7yu^pSjkuoi&a zC*pHpPx}I78o(y?Oc7)&l6%t|ut3n^HIy@~rL#L;lO_y+03H3?AGRevx2zMeYvOYo zkt4j?4m<>uIOB82=G!p@)FoN6Q}8owl&t9HcUhKhc0C&l4`e0 z?F)z>I2*p2$nUssZ234seC^l-{;JuO@wM;>JHEE$9Y=g^R466B zw&W>?i301@J__)NJc)2D%_qCG^qi;JG?}qea$4JW_n^mers{Iz^js1JlOWj{hxBQ?_}W*aO#bHzV!9|Rj%mi%&XC;uXr7IKMq4+uKgr7YLLyU6^ZqQA1P{*_hEw7 zEZI|yUw?^ieCJ`XfKhb4Av>^Y|mRJ~~7pdRM;Gs86H` z;1`@obH3!V_0o!(0S8g?0%I$Lt2S`P6{=}H_`nJu*w<>aSmYCLbwT9nlDBYLMHUW& z-WWH)@Fn$mC^(_%eJgmNo4)xHU*E53g@7EkH3tuz;D@s%!Eq0aHox71YkTp4SDCvH zONlrI21Jdk#6m+$jHO8o0Em1k)8`jU5E8+_n&+&eozU^nDBPP zMqjQK8G0Cg!t`U2AI9Zvxa^O`!J(ljojm+Kb_e6|nj)mP#Ty-J$|kSCsyTaVcjz}Q zZ$|2Ns2w@BKP6s)>iD@+z}i%w+uiu4IaV0|L&dVbav+#EVc^BjOsBDTwO?=lEAiRh zroAw3iTJkcWMl#Ep8{^v692S=NCF_*q% z!eIHe{~~#E)P(jV59p8Cj)3aFEf2pJ5|8xuadWav; z0P%a7?R>dreTP=MYv6GVpz&~u6Us-zJj?h6BF^-J&}FOwm;)KXuNP#`t1Zqe83Q#wHvakV>pA3P$irf=7(qf&2Ub1L<`qcs4VTW)n`I;*?eE3>Q{() zw`*&)nEdUNBr)+h7i|vy)9cq$o&3eSTX-6}wy%J=))f3la?g{mSuCWrl$_Y&RzHg! zG`tjCrGUu{|9NP#>i=W!%j2W0uJ;ol8kRUgL8C|w8g0NWC}<*5ht)TbU=)`iXromc z*QStQ6e@uUm?4bD*0s=zJMLH&QLKhVHWvc8pwx;AdP7h_1Oiy{d!BReyUdbg@N27o z{QOAfoq4x=&pr1!>pgdy5VbwT3miWHB%V?o5iI9;g}Ns0q}-8Tak3F7t?K)E59(oA z)l+yi@^i4TXee@m?7W-n^Ts5obMv&lUxWn^yf4uIk-dD$Vd@=(xCK^b@OHB=G7s?x zD=1G7^uLK0lOd3d+HknKU&7)zmhw<2iKRD)#%5b)sNDhAq^}9cSA>XSo8n6$K1Yfr2vtb{0v#Q(5f|Gz=yFjX90kC|-yd^SxKO#Zh zk`ludygIBYYw`YZq znu!lZsHp0le|t$J?TTeZ)n9GHh0rg&eSBuQU2?D{FW3>~Em6&N8|!!lSL^1Lp+JIxT6vxHaQcpg``F5MVJgo681acZ4C}g@e$xAYeTI-}ON2V($%!8)9p)a{l z!b6S~5lpUu{&VM{&6>Sce15ezI8^#H$N=b$oxB}k`>GQ@X>FM5kJG)?{d*kmv-@ZF ziz75g`e}#QTT9PQeGdI?kbEbnznVhQ-v^}*m82P$(CRLaFZgrIQwPv6-S{N%W@46uufCVHmu9TS*FnjWTbe4Ptcw(%8&G}&wi46xrmfez0&HLSw~SkvLuP7xiB4`7dctfj8Iq6G~n z|2b@6?57W+Na1P(-~gLtg$-h_f0w^vl85Gm;IywhXVQMz&bIt;A^)1 za?#3T;A@fLJx71t>38vURRi#~>#Z7Jp&NHy$)-SmJ*qYJwW1#Iy0A?Qczx`>D5j_% z7d`nQ2n7Gb^+QL0Z2?|)CfoYq=!aXv*9dq$B)VO~tj@I6==yuNsWI9YuD`~H*NdF? zEoA0cpt<}j7gHkP^>^!{Na)ThkpzQb6?oCL1^tzAPaA*YhSx=p=FvYV33sB;87H_# z*YO8OfQ=ipiPm1{KiCq)M1boxYomG&tIdn8zYZTC-}J{k{rmCoTK5Rx^~7Edyc++$ z?r-3ri2lX}u2>&7r=_mD=o$g8>UV3RsNjzOU`G?su)3=`_0{;vC) zf7tkI_W)g@;p+?Q9st>fXX{}tvzgkAV2arJN#Q!o zxF$HV!QSmq!>T>~LZUz6mze7Zk*255Gj9oR)~g3mPsny;9yf;x8qj~wB%3?AOB*(8 zCToXqw=kKVwuDu-01a6{I3O6le$aOKaV;S`DOQ^}(8gkY@!QetcW@;Bde#qu;Pg^p zkl`sou^%vKIrs|BFSV_&X00q6F(l(LGcw~5+v+*%2h$nELKs4lL~NkQ+^;E_)VsC@ z;Vh7n4-^5B739jn4W*Ac7?Q2m4}x_)>jz)jL@LSp!3~H{3!x&?ns{G0F$AmCTW>|t zLvXpp^@H3}+2C&xp9=qnGx;*<7YrqhoQ=u%ZXZn{wDw2kHwDei%d%%)f$H{y%)Iaa zre_}5QztfkbaITDSD@ZL)0@~t|M{BnV48Qiu@d`V$b}rqYyE_Eh@NfitgbK#ukNik08=)Jb-J(}KC4{HF0&Mdddw znC=l_el5Z_f!sR3>U2%=0+O8RV*@c5kNxWv)WE@&sLw|FIr&XDB!Y}4ze$8$X+}Y? z-R->BSvknkXC~3f&DzC?hVk%K`?!ITAN5Bzl)lJ1zI1#_2_wC9P<^q_``(=i&U+oE z)b>}um0o^~Grwu-70~}FGT>iX`ziH*Xy^2=aC`Y6-_=Tf)3gnmK(@y=Ai0C$)V}r; zSOt&n`qB)u3nr>&g}15V-1r&R53X8)c>EA#j|KWayAe!W=Byu_Cz0Ve@|z~eect@0 zyK!r?`Auoq+Oru)1Y_*s>j$fuX%-PN5-fIAMb}^CamSp#Jc_u2ORh`8b$4oS%!8bD zdVVFj_ymA3xh`NdEYZ|k%5pX4Jhl}l=irm03Lm~(xPxv8yO0T-+eud~H~CE)enm9=?9?h`YTs zPh;oONpqkVwN@CBaC{*)9&7#J!Z$VD(>UoNgMRk)gR6cRj`eTdwH3qlgCBkPOUiGm zUK&52{w(=TGxmXg#~iaNh!x-P%Y@qLj5xZ*TB5x;K>7V$IqT(C3K>4!c8<(z!{Jr~HEq@t5 z4)UdO#gCibhp0X4+Zdwu_^>vLsQroK$2)J(`qPFx1Uuu5ABSqaw3Bwll2Qi{-)JU& z{5_k;{GEOW(mszo{o;+dTIz{zwBUd9#y8@RA6NVtCc&&D9Dh_~{CG#RYDKgMuFvfl zrnuwBU%uX2=fmS0KTZ6&=1%nYsl&titMv*UKmIPFzj1ls)LEee=(!u+P@n&^H5#}I zRm<^X-}L8P{i-Bh|J#$7i2rTh%^u^WKpQW=uK}SRIzbyQ#WX%zT|bC4O4=*1raf*q zfx(Zz(bx{p9TpH;L9QR%fc1m6S0HK?VeCp@TwrC_|3zh{zDw@V{)r82W*ly~=!Jxz zNd|9=Zn&@CGioKg4RFKxB*@*08}1d}12^2~2my=XADUWV6QtY@*#k}~qP#0cg3G$tt z6@+ld$qGVIAY=id#}&7p$f0^E}~J?w-LhV{>R~eTUUia9MMBl;Q#D@ zv#QO^Do}fs%&Zq?=$Qrn(+;@8qhidg0yR9t>ws(4|F&Z_rx#%XsMfmwZ6>Cn znJI}c+cTwA{~ObJ?f42WL-M>GeKg$1h?-Vc1(+dCB0Wc^~hxZAM*#mh-4A_=GVcNylLn230COn4{+VnQ?NS) zw&m2PU0JM7w;LdRZ@A5#zPQ9UQXPIj{^r{bke{%PD$F$W_c+@K1(G(5;>0kMhmek+CXqNB!f|X0?iF_uEUi zfC|mJ-?--}=7v2~>i17Y_1!n0mpFNf^%4 zza#n^pZjg$%`NrZ4QdXqvYAwvK>hB?C>prqkD<3&RVTo;xPHSo{m0bT?=@KGzm4@6 zFR&PBy!?6+2zBgX+Hi@_|JK(rNo@a{;2$mRaL3!L%{$)WOMaU%5skZ=jr&nvx9cRC zxJ9qqO^b{&sl9IZOXRr~uiGHr1FzflxLC~lxV&y-k$*8aiVq^{cl{2*l!cTi&B-s{ z^!WU1b>*Pk@XmTze`5dI_v^(A@b%5w3s6Lip?~dy4l%p{MQTWwc>HVMyaA#b|Jq^8 zgs{!|*TxL6{cBHN7wKOs8sz%d@^GxqJr6YS`qwT-l8Nyey!DtF53hgCgFl!ewtr1? zvby;b?N=*r-mf-{za=;5O)6w+-fyy-=i`3%M~OVUte?O zN0w=-r#@F2+DZRes!y{{rnHw8{WM|)mZ!$3k1x4Fuyx$}Thu(ENhVvE<^MX!@qbPA`oH=|`@f1jA_VlK2-yU3>Hc-n zBm=c{{+al{=DYr{_rv^On;bWkB;!S}mhpe(IKsvHn&W zp_HeFwOY)hpTYmt;X(Sp_IyeI*Q?;#GAI8mOM>I^_`hD^ePRAD+}f=FYyEo>np=zh zuM*MMqazTms^;1g9)10VIbN0!;=1~pYgzoS{9lheVEexsN$I5v97>D-OXAz{_`l@7 zF#i{BZPx#F<2plWZDPcme|9f&XaP@#<^U_?qi_mC1hkre*6#sLcgPIh_4DVS&G?l5 zFXVqxP|$xf>iJ)k|LgDZ^Xbpy|N1xmUprm;9Xan8>HnG?Ki{?H|2p2-=HTH}7PXS1 zM!`CfkNejBz`2oTQn1u;^WNl!rIgW8^0|m?SK=nIaw}H}tExX%Pz;Nnsp}YRwDOT3 z^u4AuBqe`kWLBNK`G+Qy-pycf^eh%Whl+wVM83|6DEf2of>a2uhJ)aR!u~}NTBT=F zbmNr+Asq)|(~C=9q%vaa$4*2%S_;FQrZ*JpV0MTpx@?IqJ<3;>Th+5OD)3m9_YRs9 zN*Qv!wi622U~cqN_cZK;!*PWbg663gfdu!{KKkf;(g%;@rCL6VlBasiisJP8cOo$mA^}8YbY>&ilQzsz1ol1j%0${%H6!i`~Xc`v3ihF$u48*%I`Z zSLZ>0d4Hg*ztnd?qoKc?i25%U_M%6frc~5>>D|2q?h3!^e-Pp^{NkJEhdv9NY$f|sqaM* z#b&DBLN^Z!>t@_CSS`FaejMb>3+sD&yQ%T34ym&g@ie5WS0pT~znao%V5C%J@pr#*Rot3m zfm(y2Kb-t=m8fyKMcsT){EQMazV4g8(L+CX%N@NB5B9Ye{EO^`9-;^;X0D7|D=a39l#q%AYRXkn^o)lsRnNQQ z=g6A+g^?1$oqIgW3q6vN4u;K_eOxyoW+Hq#Wosc!Vhf}#md}|PH^2&?^+=c&nYR0Mh6pQs)IF)WrK?1y% zk;xxJT~FCHMsCkG*KmC+{!fr=EF8UYkUXsKf38BfsMZSZLlXP>`?o*@RA#K_DQA%j z>UQeJzOHXcT7_Gz;C8k6d^o~GNfTFMyRpNW9k<+{DVLa;V+C2V@VciRM&NV72-iwL z`Yw5mE-VPG+|UIxk#tgzb>G#b5_8xNz!4iItTnBvbgY%rUk!Z;H56ZAhib4K4RA+% zpe+E-NLh=s^qd5DX#c_auy3{{QYb<)noHpuC}BNK{alpP^yxdSDN76SSm+9&q=D@q zrnu%z75)IipjT`I1n&m=V~QG%9~R78rs(8ff!`(52F@`8gx!R^PAMHEmR09 zGd9W{Jcky|!58)523y6@+sJYA6~R0-lUGC67+d2iY__)Ht7JAd=~WO0B1cU~*g5za-JPHSH?SRzE@ZK0G%s)Nb^!;NWH3_@^<@fB2K& z4`1ax%raFnPgKDX)u3yBaJbZWufGRpgl(0y$|emIDU-jxMD(0KSCT7dX2?|_$2MLa zO1im|qwVN(wq~dXt%kzm3^zuX6ICyw|BCIbZo_SQ^Fv*Z)LZr@BAOvv7cYAB<`uZY|#tT$S5%WnSp$3vzp| z&0X|G+uTKa&dKlb7IyXpkS(`@|3(iMCXx-;<-sXez@1}EOVK{2SC{7ptz`SXI0p3Y znQLa;OnFJe5h_i>-uf$4?cC}ts@l21WV6TbD6rWdapxPn6WW17s5o{E!l74$D*eG7 zQ6j4T^Sw;GL=Sp&f@;pq+?&^*|AVtez88_ZFppCs7T=F7g8%g0MluyOez7Q+f_fTi zu%i8NfWviqj1_Em1f3}bn2%|Bt`F793$DxqH|DJQ6W${QHnB3*sy@i7z8ng`h*b5$ zGT2dcF;Wx5KE12PUx^uPE&5!R^e zqP*%u^K({=|2>D8qrfl-Y)$sDATL;#7kn!(xX51gfBXJX2`adoa4lDJ$Kd)$HCG>s zfVptBooFmJYi@9HE_zCq;Sgd8b$jz zrB9KayjHp9su3Y(V8dmvIawE%?tUK)_q7Zl~t{ zO!m&~FI)mcbADDDZ-S*(e_{ADO(zPWA{5Z>lAKB!^VY_$cdI0x+-J6Rz4G8a0?Sn**b@F2~tM1rclb9tz*nq!p{@~ zG>}p>1lCJRaYj@q=9!@yRKSJwBuFSGXCEfjg*!+&d*uc4|3R&DK-Sr_O(aHL@EVcF z_Dn2YjUdI8rECbtywh&-Wx36&!bMRUx9|>jl03BgLh+IJp3RA&R2OF=&x2h&cW-5Wb)kv|N8FuQB;%~-h|hq<&XxZ zeXojsa@Q!WpU5SkBXuG4>?g^xZH@+p|jztn$vO z`gNH0VaTk%h$* zz7)fWQ*)cQ#WIh6hWOK#X{>+nDWf9KK7c`Y<4^M>ARI^hX@cD6jX&LuTbqqPHNIl( zUol`XO%F(_gaPc$<_ZNgb?CU|KOfqQv9hp5I>*(Eb*r;D?q>F zk<@C_@BX`giSegFQ{(5mR^m^->02QR92o(#m_dpDMt^(DTJwdT5wO{yq-R34NZNc6 z#ob3^Q6I5^+Bh{)a5(rMi95YFG-NJF5&@WU4^$J#GNzq~qkmZFY{>V?iG!D ztnYg3PeXk3&;C^|f>dk17!cg!ul=^2-#5Q$K;Sc9Ua0G)+{+RM;({a2_08|p!OB@T z{)`c!F8%>kXAKXX4G}vz(aQO7++1eW;4N!<*Q#qyVnzvEH0v9ti6XK_-NPIgM#0vo zY8+~{OUv(l6^0+{x7#+ESBz@?{b83r(Ddlyh3;KQsuY;u+I#FS_8o<~DY;tIY-pVf zzn==BPn9A}9cG;vy8>$gp<1xo0-ypq3>@Uj`iH0#1I{OnB?`_6TqtS7IvCpBgs%A2 z(IiH_E)g)UDn!#f5<}ZxcK`V7R2ivyPyI+dcIpnqzv$VEWxvz^Sq}Y2tDuRl|C9bk zF6998w6(HumlOku<#0uHvO+j`B^57gNCE{`B7TUSf~G^WrK63{$_+Fo zmv!YgK9Sd0AtnZGXgEbk29S-8oO^`3)nbE%B|<(#!d1TnfE9botfif|MFp&_VuUTej~N zzgoFcYV`)vj^2}*uLk4nM(0|`p;^4 z1%_({KZR8TdlP-rzXw67K(k3!^?+nGSl`y)+{Rb&w)OUHzGEtJh#v!c+xVu>4Zl5A zCF$GupQqotkyqk&@!s*RV?Fn`^-Uiget(*J^I2*2>*jvx7w&K5b3#eme}#$AQI2(w z-T+_X1^ZRXmhYQX6ze&#o$8huLK=lxRCY%SqxlQ`4>JTu&0x6dM%C&f8d7{ z-}Hy{sY86ztM!p@Lb-2#L8qz0_YNBrCO4CCLHD96#B!d4RE9=h2}SEC}p86+w~%!Ig~ApU))mbM3>fAPn^GoNPs zJFJ^&TI12ux1}63wXj@wGk*R5zZU=AR#$-dH#0wLY-b2!-pM?!;jGZ{?;2WSVexN? zKgW!JAM#Y(mMh}lL%}EzT?ZWhzA1i2`5(l;pIi+p9>3bA;#^HRq2fG;iluirRGfn! z8UL23bIkbniYMZ>O2gvcL!#&z4_m696XNH{R^#7-e;2ygExNA&xG2Dr=tL~dC}v7* z3Egl=5`zxPqe32~@u-+bnH0LoYUV;oXNy)=BhW4u5milhSTRn zs}0o8x{dP^TWb!FyOyq=AGBW0{D47gmpFY<;tQ2+YXbc%XK*T9$H=yr2*}CMVECGj zfjjri)}C)nFD4_tJ{JUqGFGJeoWe=NUm=a=;C0LixlcaLqu`V$*3ypSD-4A(vxL5! zS~htHrPqLfxxw%9Y4Y!fH`U45JNXfaa?39oi^*`53E?-^;3OLCNXH;v6^Z`2uSC-a z<0Qca8jTn%3?MHlyX1;uP)$G2`j{yCF{Pju9TGa89RwYHm9!$5p}0am_4xy( z?Uj$)v|WGF0n(NU1#A*`9A*<*rgeUBU4C#?^d5DK9=ZYhV{G_Me8gtL8^i<>g;mub zS|d4KrVxd=xPDd(#K&k5AGT?HIK;(=Ds+kvFN2{OR@d)k@j>>SNky9Ym6BY1?v3%w!ScB zDG8wcLGh>zOjs>c+i%dr61OJH`BOhJ?(uPom`~a2j1TGFh_;gXx8alHqU7^6p(VkH z<3djp2@N7%`v{0Q?M?4^+=nyHc+53lWIRYSp22u5nnnoo4o5nlG^=Mk!}0zD&TvRG zFdS?a!D^#?>g*#a}?q6zEk4~0c{D70VE=OAMPM!?G`|5qsf>%9y zZ4|j$sDE*_=|9|+zmYAv=QzXW;-0Q*HUVn*Acl%T5e~q_)<(%UL0Ctfx7hN2Q zF7}wJyEqJS?f7l?PUxn(B-`7^co0vuGkuH)?CQ^KzK>e|d)7x6+TC;O+?vctKwJ$m z0b>jrjNytIN~lm$VGex1FVxx=rv^vP(?h0!Bw@CCiiFT(+Ujk%DJ7F$qod4xEg^~2 z){t~Ox}?>yz|z8~*&bnwNv^tD`}?@KqJB#l9%=dzD-91o^$Mp4OY0M}DSGFyfrdS7 z`bE<#GaK{@ykXNzdL_8_@5!VW_8-@4KN=1l3;kpoo2`F{$V;!gKZ0U}^9nS9`jK!b z?wcdubrUu1>iZrj?L5mwXO4}Fik@YnuZGdno>%s#rf)A>^$BbRhDZ(}fTW^48M>yp zwW|?hcT(;U7+}g>KBIa5@C3Ve&H!mM>lo5ws-%Rls&3U2^La$N!$Me;0>zSDhc_~@ zE;n?3lVnr|^HRaS=gEz!s$6aaoOVjpGUn*ihCh<|sS|C;%ui7B{|UtB)3kg#oHsHr z1C~QWib|6ZJC3=IEC_i*ZK}GnwR~VQ`i&&{feaO47xRDrNw@T1yQOB$S({}8k`s+d z9u0)5@v5jXsei;!UDNkPJl@4H(l-`CFA;(o3>T7ka~H?;1!>=TH;l9=n+9Kup!fli z_WMcfDfzpb+!{vQ=6iZbjGi9VJh*|$bpJU&P5*(ebmjoWvdL+TOWxOqz5~>Mct>{* zb}w=tkU-WcFW4!Wd!XfpEQD#_z4a8U`WEOJsCE2VyS(ZSz?o$5$*-j|>r??k+JgLN zc9`d$BfkW-oW#Dm|rbQRfVi{n2>EZ8fmU9#jN&xf0ZegL|ZusI&1qh6fFOpLFR9)N@;3XQ`zIRpCSKl)n%}{-h7!^ zVW*UX#ohe7tXoOSIP&jy-NgI6`FCA$E3?8XK-2u-ae39f@`KkU=LL_g0TV8`GeXWc zZ$(?G<0+y`8s`yacvvQL^Z9o#T<+xqA#SruGxNYKZ~dSoSAG}JudCj*Mo7AD{#>K&n^uTF-pbL^5W%!+5~T8I(y(BwKNtH(KjtaO&Y4wy`e z5g@2QE{7H+PsBmC9E4K7&E;7Mmrxqx$l`UV$OC-90Ta;xX1o80u9Y5+hV0*12!ob> zEqGWn)#|SF<%!NnK^{bvt@DztkQCu>gnz_omUG~3Uq{KPyg}zy34DcK(+euYm+@XE zV(Nwjtj*^_6o1l+Y4Jl@@xZW&LJ5 zo8RN#{tyonMa=e}&d!+QeK+I=MFrk=@S|XfE9dEf%c}8=+{q_l6*2zUXf}CBz9yMkMV?gn*$# z+KvblI|6^s!98mG)1VpC0pG+on%e#v=vNcxV`+%I5jm*?tm^Y&{|!iU2GGh`?3>E% zEv)L^R`ty=Fl()zjd?v6TZXw%Tt&`AQRkylT zp*FAUe@7PTr(%w|KYgq$X2t~9h<>XU;tROYW(2V))Yyx?+#t$C{dYD?*rvaHYWr-c z%^HEN1(cq}d|;7@Z{NR}9Yye1<6Ea1X%Hb5_GXdqN)k zH0#tswOkF0Gxkzg3>Ha~NlynZhvveLWa$;KSp7<`09U`}^;ngch(*(8@$2Pyo>}}l z@-WU_G|sGi&DJYl@esZ2wGE_z@d;QBT~vmI%>fWm3tlmjSn?Shf#lnFZy-?k)NTZv z#acW>`yUQk2G4=9l11qNIP7p05ZrAmeefS$7(EoXxh@&7(#=?mFWHDc%6{thLzB&E zBnk|IHDET|e)=aFZvmHD2bc;ce4;G7Nsj&WQ}`#=W&j#aem%@T5xQOza6W>_2jri) zP;R7uVxrs{r+?zckEn^T<-JQw|#MIv-a)WsmAJx_WV;R3EyA$#ACd+mIvw_o&ktMH#5L59%5Ll zYTbEWJ`m#moc8UeJY(NZe4Lct^m~WWv~RzZP<9;a%bu3|y!P!|xV2gP_BT@urA^9E zoc8U@-Muu2VtN4f?dTDj?!OrO_Q??Jv!utga!LF4=AvJceS2bl{CxVe*tgft1pVH8 z#HC-(Z-0sQ?H9x2=et(yTX+4?wQU>|Cf53)8d(j~dspuAT3UKqe+7p7<%j@+5o!+|!$g&A_0~0yNjPsy^OYC>M*8fNEMf1@v+y=`=n~$;_K&iB_c=Eyx^<*O!%_#yzpqBTi;p`?9%F$QNKc-??~13OeE2KpCXsnxD2 z#YSn2Ds}I^R+k*Is!S1xX=}@#vis8D(POk#m6{s`4bTr_npLiThppPSw4mRIua7GO4ULJ;A=4(c3|j?S z>lr`rC3by@N#?FMvXvlnDCvPd;1)w_wf6Ndu|lUIpGI`KYR5tjJX+WvPgZ^NXeGnC zmcrrcu{X(!utzacy!wM7yxP=_>bZy%BcnFedMH<#tGO34P2331nCRLf(`s+UYD)TM zAiYZTt7+YF`wuMIj$wuv5Tk8&v zP8l%un?fl?PuTS{Za5yDLH&#Yoc@`gIn&=DlDeTS&VvA1GW`XF_MQgjeE$j1RO1Kc zJ3y$f8Yn;6I{JIK3T@_#VR?XGD{y236h=Y-3Mr2^K&7CuBsXBeT&n@9$SIn^7QXJb z&;ZoiZO}jh)b(smfft~*PtpJ-BUsLd3uNLN8=X#NBLOSLQvZ!5cx7C5$h{o;yRUKp zhF2_Sgvv^s4hd%qS$5lPAW-uubk7>}?xw zOcVT%Z~a0Y2xR&IiS=Se1-|P6)B*=X#{2CRhe6}=#l(90BqHVfMIv)U0 z-DD(*-|rg`7kxbmNl$nwt?B!OOWz{fGfb)iWe7s>MgYfNbof)?HscnLFg^0k^=!0*x`rsid~|foby4@vmVj} z6=8?pL#%xL%)rL94>n@X8{AreB-=JOtohXE8DKKe1 zK1-qSI@}*hIln_pOCfig2bd^JZD7*+>*$+WF&EBaQ(Y^IVKRxnyyjlg^y7Te)U_Y>A*B32wI81B z(;7kkTlPc2P|)MLnKnHZ-9vh;$}>Es?FYuUW0T{5Y(E4}Z;ecG+Yd!BNVSV^N|GbO z(_l(4Eh|$#XJ%x}=j@Cud>RR|9{D?q{R<^Zp-y*Fet)P}wlZO!Hj>Vw%jtpXPnAUE%f;T#jG z!NNP>6}U)3*V;PcDkWXQ9rAP`pH=@X{?eCo%I}fb6`VowVfTo+eqRnV&zmWYMW)~8 z0#a9hHJN@eBw}a!z4A&S>Lc)>m`25(WU+*U^00nzmL!Y4rq}($WnGH~nPflOA8vl% z6_@ax1Rzr+010xuI3X36;dq6897;LpSY9?$FX@FWL)*+cUtCAeIdlhP{8eUffe()Z z{oAmQSiT!dYLE6(d=^vnU4VzG4@Kd(tCvlp|I(!Xy{MbZ?IN(Zx|52SF3FoF)vpBa zpfA2$J|}Nn)YBW)al-6N9Yueh<>ltcEW4r92+QrFw!5>J% z_UB{8cQs& z@tY*6VHiKaj=nhQSKUFf99F!6Z4CjcLm9o-HXKifV!0J;_ZtonuU7wHp&fmh`00ek z5-ye_{6_a2FU_B})>lbjBU!iMGq?IEiG>bJ=B5c;Sk-^&^6L{`N7ob7U*FTR#cwsC zawH>0IcvsY#PI$GByws5A{@ckgFgW2mbQG__yaN#`Uz36kBe+*QXy~UwOkv@IS&%v zf<>KQwZkKR1CF?5FgU_jiE=tvpyfyXgkgqDkN!<=aCCBgTXH}ssj~b+$*)x#0_Zkc zL6?#@6Zv6GLh(P|W#r3TTp;t7J(q(O_Q84_@EJmr=A}x(;aaN5#JoAUgagS(Q1rmfN|!dM?N?`25b}|>tWWA^ z)~F>xx;;!Ikh+|0r!K=Zys0==wsLNd+F{66rq>2QyGA|u{+6a1H)A>P?lF)bheU2( z{_rx_`*8=3)r_^`{owqduX~Le1so~GE+_tE_3YvGwlAb@FEcCa?}rE2c(bEF7~igQ z^s77E`8OBOmoedID5d*M+eOkVSzIK(%3X2=Dm}i`))i!JTUs4Q9No$xv=~k{ah*@Iz^`wy8{3M6zO=5*){@m&y%9_+TsX}L#_Iv z8HEG$RVy4-e0M163N{N0M+LsB_dehdh=-kW@2+#mm7;L)>UxwmY*O_^;0D&-nLh*MF7E$G7CaDy|}}V#dGEV*Gn# z4FA<#$9vnxIrG2rUwxd;`1hY^3%}l>%Y4HVuArw zXJ$lD?6%~;dU^*4eIWj;(HT*Mi;hOJ>wY0zmau@`1jccyS4wSWFVUw zM#?<7!t1}f4i`1+zZ!8-1S#Y5UtRLu0T4C9f3@$}xaj-e@Lz2_6x!p$TQHd@zf|XG zr0G%pNYiA_FCG6zd_K0r2Kt;RlCNb{U?%@`@$Vk35#+z+zpCpDdOUTrO^-yZTtNK$ zEW=~ke{~X~^RdYx>KLF`lfzClBLh*^P_F#6@$dB3$P}0VO7J<`{Io`>U5?jPy)4=W4c4MDa1ncg)7?p&X#R#S+w4C?G%BqVJgt!wjwpw5`UJ_sS10&gZLFYq_FH^!<4(?*;p7^w)xY(PeF7B~+=D=yt`FCfLeY z+XOWNtEC=XKHqM0Xo?9~LO3n}Px`@=s#}@HBTE<6=D@%tfi=_pk0T<4Rr7Mc zK)u)iGKlpbXuaT;8hdnWov%m1d5#dr$2a|PPyg(GafIgJce~zJ>vgpXwxPc#mWK6L zQ%L$dB|oCS@d)Pv^(qR2#ocpHg3*=TTBCsnV0U_R(jv!yLM(hum4PIb0$=YLV(@ir z%lP{4QBiGb9bad|G;Vf(6`5ZSzWQD^_?mQYIKEzFzc?;@eS@7-iw1uUW8dIw=~fTE zzJa_Y8($|5^WtmDw=wW_{gK{Y$Ahm=R0Chl{s^CE0bgHQ3??w~@h849`09JP6?{GB z6yWQn=f=R-Az@7tbK=19b!_l-VC?>w_ifNj%EQ(ePiuhpE7qJBjj$Sj zy!bjcZhV~so>U8&l?K2CzWQFCnNb1G9jo#6Gb;jbTEf>0zibI*#@g#)^;oHcj))p2 z-^*b}RXD!VH)+cc5YniW2Mn;!HK4<*ZVc-%0oHVQ+qn@Pjt^i*VKd=)02U30_T?h1 zj$iKU8bu0M&VmDY3v_4A2K7)j!hMB;UuU}douj{|qhF5xdWPTNYs>KZhv>F6{N0P@ z(Z>+e1F63fY+Bb}ZT0oBI}N;=^#f{W7ej^k@RglYSDfR)*Dhaq@b$MyyRz|h)(|hg z-k@UOYq|aM=JeMhLtm)>j4FoupGW=G;OmSNfv*?+Q{yXEOLc9}cR+tVsx|esHWTo= zZ$J!q{qnFVrl=nmJ^79PF(F((boAF2;Pw5%gfHrcvp#PLUnAgkM0C4^StEQQzjvD| z{2AW9aQ!tly!Lh4w~v`!f!6EiM#AgEhenamomb+w8SG3ejjk=|uS`X-@h5J0P5g2= z>a&l&)`1&%m@DugjjkgHMSx99=(=lTOAr$Qu1|E1>Up@s%DexZmLHFK`uF4EHFY!K z^}1`k{Uy5U{{BwN*Lb{iae-@%+V^QoU3ZPF2yj&or$$l19sj|w1iY}iD-u>6pcDR$ zrN8>oGY4NkILqK`EB=8)q8rt^{;HV93mH{q=62p+|f80 z0kG2!iQ>guQD+d@v)nh8o(bwP6a^ zUw<0^z`TvE-?$J~{q^Gm=((%Cs(~F_qk%_nZP`B%OMgw4jv4>J zguVt}t6FrwKGz|tNpa|}<0b%KlkmFM^;h3~;~&^OJse;A+Ha1DuZ6CD4!MH_MRra- z*vH^2(qED;{Fet`A6RAMt8acC5*c?FJdcp&(I4Qtt)C#9hBeM2ov<&o_x8QvHY34A zensKyB48CsouqFKB#-LvRKq%QuC69k#{*Uz!46cghf9)#Gqki45#rC=Wfx%Vb?tw23 zj@?qPdtkn87itBTbu1ml#WViC=`%6Zw*Km`ir4>Iu>p89>$eWR`sQnVtrBivPu_`|zC+boGSVGc=rh%Wl_ z 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�B!P{{~YS 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%0De%j; z8R~Gojz=ni(yiUNyeZAA601?6tDqUICswPr-ES{HMx`Xt$Cd*6=+ zqVCAJ)G1xv!P}0)m`R-C!XfU>5Pu$`R-0PfF;qbn;;Zd2r3qhzFUEC8%9|>f+n1AI zJzE{_jmPI%6(jJmNur?HgbSu){|Q&ZbW3>hYaQB%z0!k^Zx!KLFn|Tnhbo4EoP@q=acoeAi%F z`q`>*9-gBBx8rLjubh|@+o5;@S>YC@LqVW)DMsw9-Hg#6oGgpJmXUnw@qT zObl2ADI`5&m6+}~R;e2Ku@7F#M4J#5AM>2X@Gy{3rYIEqS)L*rkzZ3Nm@jM=<&9w- z_zt70)jb$hmpTQW2zMUECF&ZS+TSev8$Jf7GBHh!OW_nAr{lUK&lI{Q0jCV04ybGD zz@r3w$Apub;~}LFyHgEPK9xku`Lr35B*r#qVLsql;S8uR zlV2=}HU?1POK?|7`;C-S!!4WfOix?bpwjyx0HXxE9Z zO0*cx^wjTLjTm73tJ6zY19{`*4iEXPm`8qS5sNSk&5=#Pu9&Sv&L!lS9!a-*-H%(! zzTlUjNWRReDaNsd@eM`$slmileg&A9S;v`Bz(?9DR8d3(9hdd-?9i)2?NGDuwR~FKX>4Vv8)iOnBl3wCkWa`6^wL^oq4=()d{$9DPg6cI=V^U(s2PoE z^#!JsDW8W#$Eru(K+`bVkh;NX1sFOJgN{v<(}CHWt%}c3bKU?BDP?w;(Y@6b&f}cp z7;;vuJU>nsJ`Vo?%)c4#nzBapug-%rj$=5o%2{Vs-0x@sn7=tw{y)_AE`AiPZL2(0 zKvbPl$4o>7{p9QyX5cF|nGG|do}AikW)j4W3Dezm+ueaV3n`m&jTw;Qrsyb7ab`>> zv(7KWdrV6v_guOu!D%^Rmi1;A`ej|QrttRrm`0^WVk1;MqW;NAKK`0YA7Q>bFvAtT zQWgL?NUdTv0FxFBIi-x)_Yw?4JU4kMU-h)&?2gmOS^2^gpWlgn zqY1`|kU!Gbprw;q!)wDz`{*qc2F%Puf4r%4l9sA@-4pXySMd`)w{1F0&9$DGb%-Sm z>#O`8q9gNF&|l;poLn%Wh9k{Y)3jF>or{HNznEZn7Am~TdUjoQti6s!kRpBN<2bH! z%zKq2W1Xd_e!=LuX*AHc7pVfAl8+ZF#R?;9iIjJmN-Qm`zDz8alyTIMK;dhp%@vgW zDkkiee<7E(9rYh8BkV9rISr_p;m*0vrOq*7MU)z{X=><}VY_<%atV+qwib-U*`K3a zagCOEC9tIb+54S3|9IFh79yDZ%+vQGzF0FX7H-OQ(GwW{zw@7`XD`HBbJx!!a(JHR z8+l_A?3pidp&c{ulzv}T8b7OKLLTF(x-pDTa<*CXzUNa^k-UZMDL!Y@UQ&b?Ve#E8 zuH>e0#%T$Y7?$d)k1+5sM)|~>Be>-mw)|>8Q|L?uY5)z`Ie7Xa!64uQ2G6LgdAKmN zOB^|od_dGb$!|N`r#Yos!V`#Yq7$kf(Ns(;CbSnx!fGVM`9!fP*G5w=lTw(JJFi8`cU8*S%yK|%LSHmt zY?d!FVF?pL7Rrdp#-O?uDjIndsYzw~*#GKBrms~maoYU6MNFt0Nd0=Zztjf4)GKtB z$WNrnYm{@fnHME-oZ5`nX6(0dv@AU_ulU90g1m(Z!Q|2N!K#i;RJCFzj?JboHZjMo zoky+#s|LR)wR0g7qJM*bU`*P&w`}ynjhp!o z{Q>Zo7bNpHnDDOHgnx=AjLms96E08*A7a8xoe)zxEbavC(2bj88553D3HvbN_erX( zI$`fyW zWnGl>`xq@JBbiL}|D+R%u0ul-h3wFMU9A-pJ7TPj8DWqAxZC>ZXwynKT%>!g{LjN! zh2PS12TxY_qF+N6WvmSpqZEVD;`8a)&~c!DU7l~>`33&<9_u5UiPxnUSoyn|7)$s) zu@pBNry9Z<8bf9kl25th;y9XfBQVk{Zio4PwUSVSs$Mz|)5F+|QNy*!`ID(Nkc`IC z7;$muIy~^;Q;r#J8R%)OB9iH@EWojJL_8=f2*wd*UEAN$^ee?F z5H&+Phl!wwcjGhWzE6HX6e`Y@eu_ySOm0$pAJ!-9z<*$gFeodl46r!=s*203tyKN> z-N?08nEzN*MoS$h85gElD`BzVdaST-aMDk9YyJ~ zOGJNy>lAmOG}Ggsn#RoxZhuiGY&_ZGMJs>i2390DbtP|~B3f}Uc2e0D&ooqlcFh|N zM5Qu>olEtWRAUxcDL)8Aq4nDW&~j5Lzo=*Ya)fUAZk8vDGv>(ehuTrq zq|jC%>gX8j#{a|2LzHxAsl1L?EfQM%cVgwfQ@RRzWrm|zAb1U zi`7_R<_3xv_iJ>$VGbreg01>^$0yid>;OlC$#$^_`lH3uVLvabY$)l`&K~nOuQd>Q zcK}|W(!XQ=sq-((zev092qq{osK(*FRtkoXJj4~f4VWI9~w;>?e>4}_8mGU$19$MyHHA+yP|GdE+6}A^C&xT zso966g!E2zdEHLsmDdzw)^ymvQ?Q!%V-?0#d4qTU#qqPOM8R#xc}zyKB?4N)FY;QRklE z;6%=J1p9dK|51#>yuqX#Y@0~TE5}qHCcWqW6%@hiC1Iey8tr(72L<;Z_egPa-JMQ& zx*fx5k!g82QMu&(AvpSUaIjAY>`Q8NVqGK2Z%6oQI45$mDC)gsR;4?L(?YS7Sll$w zG7C0CDlCdr`PW%C;P+7?uWO*JaN<_lOtiMnZ1{(H>-@-rrIR2o$!>qJt zy`qJxGPDNDF~ZG;7j7S94GRb7I)7aJSIqh7nV3yG_~^!j$z5?;=MG%Bu|LHfNW}u* z=tS5AH7F$9-~-8!ltM z{fX{GZZD1;Au2-La|_xh^oQnJVT2HWgb;V&mjzVlo22Q>q-@@7t#EhrVd2hKeU>f} zwXLUMGMKDF>mqyXOjOzG?y;O{9DF3fo`3yMb@rRvAuuvavZM%JRHNp~Xk-Dd!NC4S z=sewcq)3MTTl724z0jk8jnHi_tQEQKf2oDxeTV<@z9V|ObADoK##&L7TA6!dV`A|w zxa_E0LcZtv@>$mu>}PKEOwtTEGaSbTK6khe{^o`+$KPzM)(49U!x!N1h%lDC@C2<5 ze^dAz>zmy2mxZ(DPjHZMnYD6w6C9^q(gXvE6JaZWIn%_mI760>cUUpwS*)wvB5X*yJ{*O$3LmR%XBGRk*cdrrPnO>Qu#KxP-7jyT3DOvPD$;BFB_>{>ws%; zN&6%hsnz&vSaQTZ$%aZ}pY4|47!$r!y0nMjwxI zjh4Sb{ZM}#F(KxdPiAgl{^-Ckh+9Gm&^0c^ug(48?DhCi`UgzE&h?`i%S2omFR)`I zQ0z*=@ax_{7gxaRY6-13rjos;K>T4UJR+l)B*oX31 zE8ST%hsCN7-UJn{=F_0ogUNgH$AiA@cAF;jeAFNLYU{8s26uCiJlsM2SbHK|z(29~ zd>Inh>+!WWn7kBjG+sZ9k_-Ms8=^T^YDr}{&CXi`&rW??K+B;Jev?C8+#W;EA<~6@ zVk8{K*Vo%I059>8Sum5Jf8bxfm-`0x4($0&xXqAYMqAI!GZZyz_MpZzX-3n9bEyo$ zdhQT1!!3sRCuC!1?K;fgcyqq8f{T%rIDTIGS2}(|8W*SycmB6Cs_@P@fPQfu3ifTX zasVZ-P{8#wP(WP@LpDd9Mc#nQ)f-SC-r&?aPxaxXA^s$oRP8;KyB z_0i9D1^!D02c~7iZ*(gD|A_aYLJ@s4_qsTv4B4{UV18n?YUSWw%F$j8>VwIbf<#!S z_a!MJ_u(sR<-}ey4=Hc_iW8byJHps2wBly%jlbHB@50Hev+;xN7&m7P3U=w>#kM5m z0LL%*;~zntd3$X4V0WzY$ERBNblX~xcz`?}M<1>wNX@RGRJ{FLYc4~^fAIPbiKG1@ zeBlj_O)Lmp`jt0l|D+*iz0?a%FXv1DLBs632aH$qKhctqzs!XE#SUqe#N+=v?Lt;Z zL2z1z@R%Vdg6%V>&qx^TPX)JM|A5>se^6NcPkR&2E(fcJ1oE@RRTr*_p&@vOlJ^>W za$Q0hTpeT%ybPe|KDm<$t&1$D$XDXm_IdeA2Pr^(C~LW%zh*GG%fskHRvu@UqUHlY z`WVwxIe$2{^yfNX|0EJfmA62Kli`l`g`iP(Z>uNnfZ4^(#FAO?%IhD8?VEF~v*{$g$5sEn20rom z{;!n!z8p8u2(urM&M@}@bcTH^bZ0n%(?DbFz(S>$VG-lDGBg!l-3_#I^a0~vEL6(5 z5baeuf|*D5k<(zVQqF7Ds3SO|CNeaNTsX#O)qiHrRNK=3DgA){FV#Xk9vM02rgAnc zvG``VOMV}DFa2Ztoj*@U|M&xXyZ;~kZhSh!~UUxuf$F0l_69LKAz2iUQ%&To(QKh>-pl;3vKSI>OsKjdJM zt4e*sx5tB zhaXj^sx}-F-VlF3ItbRULmIGcf-`~7uhbhtYVEnWRBiPMC=jtyRl{TlG0y&O0WtJE zEA$Yag&zCq7g{LoGi%l>pfhS|x?$%hS>;dQVdaTxu{e#z{XOh$7hI5o?GK)o{ke4+ zTirpo8_rWfcW$^R{$^v_UeH|_MhFS_h|2J<Pm zMAYH@A0Z|(h|nWW3@4&j$}Vi7OXv#aK_p~8iB8Nguv<7rJrctJc0RQ=OHibKPcP8?sgp??f& ztPif+mi$_-;R9UTUY=)TQ~|e0{Y?t4#h(V>V>c?sCs;9P=0^Xj3KBeyg8VABAj4BJ zH2ZfBieW{Hk&I&K{%N`?i=ASM5*id?Xzci+Ji)#MuQ*JEk9Vu4ld+TlGSH&9Lx4nJ zw4vl^{Zoc7|7Cm;>A#wwQ9JrCnOIcKTF+%7$cjUKl%td}n)fG&hU&khHJSdYwo}Pu z`xbFf=7cxbZlJx(m^O&1Mu+O|q7{VLVC-gMbN^5hMJUkt(f;Eft5yCHy~OrspZUI_ zXq_2`8o3*Lydhsx*BQ}z^e%|jrH||CD55z4{W-N#@v(^ZKxyc+deb57|L3Uw-@!j2 z9Q}V0SSox>z=hj?nk9GfQn3>4*HQene=_`w?f=0)xBpA~17Tq*Sg6J}5v5*_i@TsV zSq-$sRF|xsXCis4KC=P;UNQ-1ZXo@)uNVHUfg8%|9;~hCG|W98fqxhLM)=pa+VHRE z81U~1>?P6Kihr!dGD*Bvh_Nr7?_?+YOnHqyleC83smEUIPro;#Qt@|CR6cEiTr8^* z!rxPTfC37iopS2n@8}N=e+wCP$H?dDPFBSSNG>>K8b=rh926xo`0b+8+sn>FW&u?b zu?Zm0=a$d@=-N!hNHSDpEZxdBi6BV-5zYT+-M%2-EWfUw&hW2Uok_Bz^^^Pu)Xx)F zO8qSQ#MIAIcc6Z}W|A+qe(VLoc=dw$|aOy>;pajXZ^AE15-cs^hczA zra5)TjD7X^Gfk(r=cKTH;whU5YagU%e>U}Vd^GCk?b4X`1N$=IteDW;detHQ!y^s*w)Q3I?8tQg6ioj6Bhpn= zagGCVuGs6U{%0>7PF8n~rSHcxm}VWI=o=NG?0|1isavy`45le?`8f?9r=&?@A+G^)}m<9I?~gdXWNw&aoSU6J)1hGFszk@S$BTf|0RYd)c>6SUjLExhp7G8uEawAy}EN+NfWXCFo@_DOT?_J z(NeQX!q5l_9+Hq0A;G>aLcuxKAFNsXfEulT>3)p<@STSDK@jgz>Ahwi(9>KyN?e?w z#{BiQ=Ms^ktVE3V`?;)@TirRIPZ{Lyah!{AT(CIQn6q1MF8iEqATK+{pF>{klsA8_ z!@g}lJcjHIhro<_hU{C-z>G_mg~Nr-%y z{nw81LA#Q+nAF8=R&_!d_U-5@x|~$iYo|ktLDjRDgR14L3{`L33aajkP-U-}WrSqD zGjlDU)~xA{`hh=4V(}gL+o*UD*B?$bhOgasF#>V~~WPGS2=t zCjkwr5lB*GBX!{^q{fB{of=Q_>phWmx7LQv(7n1@kw4a~pQ7}oyD>?Kh!31TiM1bR zqTa;5sMtHLi92UR?hJT?Z%F5WKutez#zqVqL`9+@o)$>mQ|aGnXWxs2$UntC`VD8@ z;SHRh4FbZtpJ$7wVVx$tq<( zJ`lAZt4K7sk%>n%8*6y~-{$AKp?N6&Ruy+APt%zi25y%8nhgL5naCM2EH7osOb7Eq z9nd{WVg%}RaP}IoeDCuHD(+EFyYNY~uOkN| z!h>OEjHjf%^a(`|96k5~6G>_A0G6`D@5U+!)&8!>yr<3sEe9?T+Jn%WF(TXq!Na(4 zi0zlp8%{$$RGQOfqK{=Z@wy((6NBT=1 z!Mztg2hcCxoQ>AJzq2gZ6XyE^fU)e+GA&Ynd1bX%TNRiwlP_mIu0HUlA#E8RCgA-A z2>pgDcaM$k;Bd^zZsHdz%(P*I#Qg~ut{I6W!B|6=Nn%@l(Jmz~u67v5p+;4qpj zUxUqX6y%CK#^<4rQU9E`f??|0kd21I@T6GN+KA_vy-LA6ReJHa5-g35-QYry!3n{I zq%`m+uk2L1HH#nP>T0Wet-89vD*pgiV=M7=M#;v|>$pMeHx}^eNrl%VXh|Yi2>qE? zb{gM8ha>&z(ItEFQFs>>UnT`34faJE=UcW|6`bUfSaga`1cwp(zBBx9Fm=oY#+p}o zSw)}BPjQJ~%rC5ws~R*^y9l3FQhXXnV+VM9Fw^?d$nn=N`|l|Eyd70#+5pB~(m_mv z0>=o}(SS#xVd@UTn%eJZ*H;v69b^>nE8(Kh+xQxJRCxz-l6qN`^WX)U8cgCm) zq+*X%)%01Eh0;j&=oVG?ugSpIl}r_Qie(qC+YZIDFrq$FzTn}T380?b{{T($HU_5HOKKV$_VOs@?kYRha*q=B#dJQbsU6 zVTJJzfMUChm^=D!6yXyk0)1Q&5pc;;nsOkNs!!tsRDHVq%2aEteYaSgvK~?sD`Ox` zl8jS~tc%ElGV`X=Tr4pc%lR#`U=OY=NF_T4U;KVPwCT(ZWECwaZE5+c)46uO8%aHNpHfH!1=F2G_xOK8hs>S( zsG?(dz@;g) z!$OG37I+MLMp=&DKpwn4w5b(LZdNu1++D1euhA{krbvXB;!DtHjn0@(CjcUot~tyZ zbe1tk6ofg4+M%O?_F6Z?0fTSF#%tA42ZAwFOw8rd>t>{@k7MvnekylV(xu+u-HGI& zN~MtUuw%lH;M1E>gC6cpJ*xUg>2PPVu>=OgG)0)eammOFrCmarQI%E98=P1r_bTKc zxtk)~8=Wx&DPc6hwH^=L!7d_M=E!$}KIkm28cUZjS25bQ zcPpH$9#wu}XFKqG5)Zw)Fq>r-axvS@mJ{ezw~HI7e#8x2Pcvqe@31O9lsEcIMx1(0 z-Woj206)zyFnkUszd3yjP}DAD_Ucz#*fiurgr51*LO~!)hUK)9799Vb`HF*11O`G# zKPh1H0|bB@8S1PMPwd;;bJtM{|xF*e+yrldE zbl=yY&3doFhJ|7CwKvxSsiSar`;X7kn@imm_}h5{8P^o}?|~Q7b@2bb_Zs-w+yfgo z^%@uu*FY5WDc5SjKlC;hpiyIwP8$;y99?7B|IkiqUsajnOC&V~$uPz6$?zpKoTwmZ z30U&KrO1#JP6_*Zsv^lq*uyQAgjw_NLe@M_VMaMj+hMGC)RR(d%KWom{SWh3Mni1h zwrwdPp+Ghsgr|{`;M=XyZHbj$s$lyDFBB= zuL8GF9udLT46*0LB6PCJr35{*T%RT{L~1c>XmT z?LvMDjxCd41tljzKo_zhbH82q4k-?EW2ibcvqPp)58W6@s-`PFWxfpem>+?ElM4ZN zHlepd6U%QVyVfNmGzHNPs9Vw;8DC@SQFJX9+U<$(VKD85 z3Xi<3lHXV(`>I8%nkhl@9Y~Aiy$Tr7fd4DwDJo+7B?` zBWjE3;MD|Y|Mnf8hYL4K+JT|2=tf@(r=jWsa9%EHZ3SCB<+~I6uNI@8IEA!x`apM} zPmMcgNLI;FkkuPxAww_e4EF!@x$#Q>+Iz8pg&aP_1KDeL6iYo#eLIRDN+9A_BZNs18Ycg|e3r7kcWCpr#=bPhpP zB)5G+7<9=?!l0$kl0mtMUwoeMX94b611+Mw!MXz3e%=#c`z`2()NKpi4#KUHG`sIZ zx_yK=|6H$iDEYQ#%|{`$jHhTx@MdH&f6nxbA!F0Y?kx2(@XSJ%+P@j&d+y&&<@}MC zQ+9geE`*CS9-}kT%NyIAw1b?`hb@>qx4+Enl=P=}ANpUr?`^U_rdT~Mz;injj~wlU z8K>EkCOF$Uv%~Zw<}drAFKAGz=mTlLW_=zFl}#6Th%vmkIG^PL(a$81LjPuz1rIRQ zg_;N5-CU3#jDnj=HHM*$%u5?FIaL#g9GMxbl5ZzPzAb-C9!yo|6X%}Tlvq53 z{?xM52%evjh#l5aJ~!G&m`GvG)eXvO_IGvlVq>aq-?xT#rtf;a|+@O_8Lu! z>^15KU+Sbvvy5LCZYP_KPDXsGUrA!6V=kN%XX%_jMbsorqJ$oWvK6C=rG$ehf*yo> zm`-0m2Zh|$X_Ll^@{D5|{**w~79ZPrWc856v$yHI%5cNaP@Dx~ zszg4k;%7_wneOsAZLt7hD6Mj}#-_-@7Ep}eahOBNqxP;(q2#cli6E_dLIcy#NtOp+Yp<|Ng z6y{pIB*SayFHLzDfHMqZeJ}9DpWa)iv%g- z=txlu;gh|~kU#928Ir^UJc2eV8#|tJmHk=3DW9;GpKLDoxSjF?|Mcog`{Y0}n^}P7 zbR2+a`QCAg47}x~$AZUvz}q?r`mYOiHlmzTqpO+PNY8|g=aQbA`NkYq}hj!%h5jS`vH)>8o3KdJhs)X6&do1dx@ zh&5BhQi{M#!uS06JeFZx0G`K@^5CcMKIBpQy@vLB>KL8eHDN#H; z2Npt-s%!2;WwZQIN+a`!pcq-OBgOu62a_AoO(M$VKcYILW<}&m@z-HLrMYv~7f%5X zRR6|Z?#;mRR9uvF)U46P5&f03tJoFEoppk)C|U!skB~18A%xf(J`3sgJ#64Yvl6NL zmyVKT-xE_3kJDmO^#2P?(DISZ38^h?OrmQb2!-}Z3?3*FLRuCnDYOsr85#`K%{F5q zNuYeZ&9d*aPS*L3B{F_q$rvVZ8`m#tRqV>_=sS46D*v{UYwcZsQ5nEMlTtE+b$o^l zz|cqrFxb&y;S)PaWkCB(v5!mF%!i^_h~t5^{{bK8te5DVvbqg?7~B{s&JhC=`#0`( zGKW)gX`#c>x>o$@0S6<^pD~0h55q>#29UL4YDWbBMNfays@R6-;!^MtKcM~WJInnq ze9TDk<$Da@8pG^S19=f`tCQ>c-A8{~sR-M_eVhUV7$ z49B17&!}I~rmWeWMA*)zmUM%?n418HEZi4GEyI(AnZ(XGD08Dj)?0WfTFkpWtk&ujP|PmyjL)T(M9BkXTloD};A?W3b` z8;1b{Vl=)Zk1$LvG&N>^<5XsxS8QZyvM?=JbY~(UH&@^&(co*86f9Ml2`E{zdRZP0 z$%VTl$b>;NhYw(TXR}aPUE%_jn38wkg5GU`q*{CbpH<0GR$X$jZ}74YLVnvHI?j#(L5@qy_&zvV$&ISZ&^YaD zEPFtm6$HGyQ#?7fFk%CJzQ%ELyLoWLiq2e@!#wRqapzc{oBg9zem9!8sj&a{>!@q{ z1;pa87vK-&BvVWrY9$bZrlgodUBi(~aH%k-6h6}!wl)34joWbYC)xOMCvI}jMDQK% zoabimh<$|d4}&42&qDy9eqSnY>yK5+kC_st?{(_@J_L!Yg5O>m4stW{<1y#=O$7#z z-wQbO*ZZ;%PuRIF^Ykj{VWEMasPcCIE_)ey-y5@}E?D+ND@@@QV8RI*FTk zm>$6(F*hq8B~09Ct(1MDv;T%9-X7T6UF$yiPiz&1%WoaLv+&7TFE+gU-X!G8sl5~c zDsLCYqIEpVZU<)Nxq1FNSO^KSpV*bRO8C(vZr{=!j7LE;^3%mC=R$z*-IbiwrrT3wRR^~y$Y~5 zPo7rsX=C%W+Afu+`gE-Ebia|2jnY4(@De-pm7zKWFDuzxqkXLX(MU>`F;-Ov`vz!K zCX{3U%H@qC^9%dHJPt{Y$uEK%;@3WYC3B*ilc+JgUWUgUoVa2_GOJQ&xkG6 z5*?h0ym(WF-%vkUlTm7u>q$%S&>QU6p&&Q|;e{~x4q+k_^(RZx=rufbo9dTVSP)Z2 zcm&}5Gb}IH<287p^-Dp{_f{|oqHg)VV23Z5A{gm^A+zt#Q=Sw?Rf3=pYr-c_Q}UMC=A)( z;}=y!U&e26>1b*8uv?w2EcCirWQkpWERIg$arKH^kfkpOe74-r)zJgi>aFyZYHD;h zr$*H=U=)d5erx7>%jHu}_v)o8-(#3jEZ-^9Ys&XPR=M_pD{?`ua*dh~+VdLKWy`N_ z@Oa1C;6Hvx63lllO*L2U`7RB=@?Eg&#I^ThWg$8I;3oX2$aoyzO|3hNl@P1KM>I6W z<@mM7{)u&5o>9h!&?abJic;H)H!A9t7HqK@5T|9-5057(S6#FsF*RItJ1@T7M8E2GOF*{c8D*U2rgUw(T_BeC=@y`z?*pEGlHU+_AC@0}9&_j1m{k&T=iHiIa**ymB74E)X=_+&6`Iigq8v!UuH*QOYeD_LF2`a5 z8l(RBiwCeY^k5^FT?IT*D@NI%0=v@eV}3;l+jW$XV5{Au#z-YmuF3S>_~kzo;Pxl6 ztdjN)(xLR5`3$-7yYeQ!{*OGw^$sjmn+W_+c$n5r&SawN+Hfr?zVzr82HUicQPz14PU8!lh}lj8}~Hqs!q zb_r)7z9reC+9`r9!np>Puy$e%jC2cW3^eK=;NCP~7&+w*baKx;Q--U_%{LAxbomAk zOAI%jGZHOEvDF>u?D*g&e$a>?+#~~zKq;;=kpB1I7zq1;b{$C zf-wCur<1&tW0xpmNST7Ee$Av!d1?s`{y(c6O<}`KX$rUVnKXr+GgVU%Aq^&P7`qAP zK`!F6K|ioLRI;$LfZF48iyt6A-7{bkMj?cyPLVY$bvXpk{8b`7>>rk+r%_8hQ=%r=W=PZ6d~25uYKrE)8&A+?E~Xa8=n1_~ zHO%ecmD}&#nxKM89?Q4hZ<1>**oaf_5$-dXyaKQ6+ftP(WO_-800dWNASW7gyspGo zR1#%mX;21}Dv~L4gYj_XCqp-(Z$3Wlc6XrvTf7e5h7e=23ZFdn6l?3aJ#-bFmxgh9 zul;;}<8NPyA7B5_IBKDGc3Uj8OF*P6$Kkoe!1X8J&MzTJqzxGj=PeHM^$iw_aWiA3 z;qhu&| z8Ms>^%a#EiIb-)2PP$A0pP0yXmBo}BxR3?g58QzttTP>BM!H9K@fw6@@`ZH4xB;09 zq#s72vK1=P2(lB2#^4ur0D#JMRH?UgW_C(tI$2lf{SVYu7beW^n!|Sxbts->L2Yz za92kAN8Ay6x%cO~@aNv(gp9O;oJ%uGzVi4pGQxjt(B_>F*#4vO4SV4*FVQtKk7Tn7 zr2W%E%%3w?SKx;_1ohg;3Ezce9V*z3Uohx8C8@O9Am0OV`rJKSchTzyH!@a^YF4SJ zB(Dp9o~Bfzj}TvijuJXep|Ot5BTDy6YhZ&?g=`;{H#ntO?o@b@N4W`Wi7cbxoGa!u@aE2L>$q!k*9B#5gI8B3D zjOHF+6;8ayYSot>?n^leatZ<|1%VL=lG{CWIsBt=elCuz!p>W7@K&5$zkSjJY#EQg{^pYu^4O5VK_n57VJR~7@Bk^9 z1uXLQKYBO0f=vqc;evl9-Ivu?m7KD8r^gJ^;Ih!NBC9X z^?olLiden_rg$)UBp%z(w$Kiq>G%NOeu`?Q`p~ymkqq2s%3J*y_gT27N=!sE&PSJC z2)wq6WM5}Ra-qEk69FI@QO(-FI~6L75$7+W{lSpn>I7u0V}fFA2Zn@IG7t2vb3iHo z;j&U)fv{Gev8Yf~e2XTZk4wI#F>T}5o*;y4cLvxOBkbSe03)ip8h(Z+MHt#(dWQ~n zbXYLk*zf|=BN&UK?;Ph2bU}}%$B-IYElYm(4QC&VKcP`Y8VDfjJ*ei#)P69^IMcf{ zfAE=N77owlOoHAPfri2_&=IpY;<}dc!*GrO?S;R`$glTBG+mUQz{qdY02vlg$b}5d zSZWGz;x>zWP7=I<=KSQ`G~|;rRm^L*6p*{Lxh?j7P7t9%k~`Rsq8xUGD+Cknzk5)) zgDBw1+j`6Z3rs=H)IoVXmWWkizKmrF{LjP*u>DAQ{S{8)fJKuB`F{+;gr0MsPziB& zGrnO8SNAlP8%gCdypE;PrKtQ6;?!NJ)aMLR8e=8~QzT8htLp@NdXuoZo%O^35Zd6B&r2sPBCzCP!6h z=oNeow9);%4z#ZoTIgXc1OVzWfkJ(^x|2|+K>!Sp;$(aIIs~b>VLkr5fh*KOT`JpP z*Ua|tnfqgw_#qxqkCO4o692?ScwTAW(w#;(xN;bi`l1h#AZ)-$5@DY~LE+;}k{NsRnK4>pyoCI)oBf)mWAccd*~Ri>1Uh zCl>;GCX-wkL-t^P!Mpnu%9?AxPEo~k%x2>`lN3^N$Ji}P@FLjtz78l6o?=|n|Aoo4 z>#%t~`O8t9zdDHlJM)nGF%I3+E^;_@!yX<-vz_j-XNIF?T!jM)FzSa187z`n8U$f_sA>9(xi(D)>7ggqhDjDj1 z34X?wJbceab@~s6ge!6pco~6c<3=rlHvnog+}0aRO00~yJN`v0es)P5fsUaGMkUyD z%bHwdzyTyP`UKx4V2>gidl{~xHg+&1aO|d}Yc5R>H|FvfdoQkPNQZ;YJ`D-6bT^{c*u0bL5yz(dV*Mb? zQ@2fxFTFW?tO{mO5FFVUF{UTMN)YPMkAf#xb`k3K+I>Ksp@oK=$^tauI4p#pkc`co zs>*omfK5pqF28)h#{3SAF89zg@z~4MPmzr<*uW=U$1ZNhTPwtd-Gmy!e&H1JM{!vO zPMb<(^m*;jEWoQb{s3Olksk+o2vgM88X8Rs5X6q~Lcv2KEN~w79GbZOigpOb@Yp0& z1Nl%L`UtF0$^2N~|B>iI5`8Ql(R678S2YYjdNu zAx>>fYeNcm*1*Kg-e77XqMUE`z;|;t_pEt)Y+<}_MmgtFEu)-oDM;KNS#_i#;PIVG zEP>bXI?PY(oRk$y?H}4GepUaTA_ps)a>rCcH>lr6lGDStO~1(-yjj{+E^E3{J~`%S zT6Y48O=}8}Xs_^#dWh1h{M*oqI;3Z^747i)cR+jGz%>RXdm>1ft%{YNdoZA)$}Z*j zFNR8pA8JQ60-5IW=2Tfh##oWAt00hyQ_icV-|r2MY=rpEdnet(HY*kde&;kO#S1Ac z#a{dUH&iM3MNE!tk1DxokEDx5Qi=iYN76n=Q}rmiyqKA}YZ03xt=V8|v@OD2N)I>e25mp&8b`c3 z6(8AG+sT?;L3)Gjt!6yqV=EoTY`Dv^-^*}%E={1#?^^+jfW-7dV^l)njb__pW&5caT?~1>H;$ezE)) z#4UgEHV3f5u|Hdg@^_Cde+NY3vwLI9wLN5fr2NfI`C*w>D$}Mg=UnA~JzD?iy8bKm z{3_xv7sFYtHkAkOAXac2XBksa&HaV8^xM}Pa&ajV@`{oWxurR)Yu}}7KSkMRsDCNH zOWDTJ`Y+z%05o~1g3Qj=1ws6s|FXY_{v*qjag~TJTN_t3WZ=x~GW<-&lA_v;Txq|z znJwPzO;*!q?wNh%vs5r~w;kjcobJ#s11@*t790mtm;0*WEmqjR4v`Ud82==9#dfP= z64X9?eAOFya+g>`W~rCci@s79946s6>B8dp`O>Lxb61Cfy1r@T*LU!g=qd>KYY=eG zjPG4Soe*6oUCyHUrn?e~Gif^)QQfnf`~R4G7x<{EtN%M8i39{EV2~)FL8Aq=HYnOe zr6w431||@dDlORJ4Y6WHND$>BFbOgaqiJg`Ewt4>R;k*jwxx(ll>h=>s;Hly2w}^f z_)hpCh^2o=ga^K)`D8iYBeCnKCL*1TZ5U=wzrJYvX;+)V9&ZzdJqku9vB)PQT@1a_ zCQ&78yQL(|+2BR|NjlT{Rq9PL?@xIwMeezISIdTqKKZJ6VmO|^p`tI++cJjP{MR9`$?9MIYO?$1T{U==R?i7pFA-f8-h?3w%Q97=E+ zAG4Og%W^RXnJaErU1)OSa1uCVb9*O&`jUD2o*Z!BpRUUCp5}yodgt1$FSp%>@nS|F z2jUv?#w!t(n-KS6Vuo5WZ`=W}LUOIalt|_cbDw7D(GmI$#dY> z_j3aOzJ}*Qi#GsiG%>ok8h0J^9+m?OoR>WvzTJ<>ZqoUTdkLA9Dpq2!|{BT4n4#anPRO zi+U7Ak`Y#|n`Zn*5hy}`V*8_id3E+%)p1g(#nA_hqS9QFmH2adv*B$;+uuhPw)T4nN#H7h1fKlF`Hk z;Q#r^u2-rx*t8%JepBO3AY4$KI5nC)JExjMgNyOiV-^1_+X}j0V{K@GrU&$s+|YuX zc|sjJf&t7iUVILBM|N$EH0?g4GPXUpI(rl2bNVR~7!}fI8JoeHho$z(J77ldz+WS; zSix0DMI!^tlOT_jMMgA(cB~fmLvx}?TCKMBczsZ4oHhxsGWbklelYLC#&xT-f2duI z=e~=Z>WBA3Bac6kSkouf@uwoYUX3(;33P9V*o#;M;n8;$3a`f3w~>(aY-VWTZ`3mv zccM5jZJZ&1zrQT4W~-QF;D)N4mYEK}k=UM4Xn{P4qsj9^Y+y_~KuO$3!5EuJV~>Um zWhZ}@M_mU|mo%Rmj<1AFM+MJTr7d15QJpxdI&o#!Xj~EdrWADz#ZE*jr+(QAT{iD>3J)^LEh~=TScBeCI{r)b~!)64ZwM|RhXtiFU#y!_Z@L^jhB53 zsvM(_rsO6PPGaPv;K4s-BDm}&&FV%B_V~S>TcnskEsmNJ+SI0XN&erwgaPw=m!kC9 z)I5K^I?kNn4%lBEZarYn%9$aRch%1YmGjJT^UK3OFoW7yeK1FuCw?GD7?=H#GlBYh zugU{vf(EPN2OLYAtTDYeFLBLIW-4;cTK8{PhrrGK{OTWbW7!ol(D@q;pyYNX^S(sC zOuQ0gdY`A?WZvM*aQ}K+&NYx=kIUWEtit>ux7#0Hs{wL-QQ3l zudnvU_h))jZ(*uE@F20FTW7LQpg@>4BNBFS|KJhsQWHDM7$G=Ea#{Jrydo^wDrc}+HV0U`N|y+s6s(r7AHSTMV{-IZtB;fhJ@ z?HG;g4weHI^x4L=%!buyq;`MwD%~%_+Vm#c>#y(g_XzvaX>nzMu?FE5@&?{bB7SmQi5m7%YAF6SFXHwb-b){acdcA#bK} zOPonhR833sv{CWX_l${G?LnnpUE-0>iG#`2$>D_a!@5Sxa)(!bEs2V00AJzi_{SBC zYD=!vNrFKnX?I29j9l^8BJnLF;{W9EltL3u2~1DACDHGSOku3cRc)^mJ+Mtq+E=Q`Z05Blos z$AmXpeY6^4Z`B%hJrlaZbVs7u>W%O7zJ>6StNdxoA6s2Aky=>o{C!$ zAS72}x?v)pB_A$3-v$kNUP; z44oV>%bOEy%dU2{(6lxxyur^%$@HBzlDV97a_3Q^L0CWWM>ETMlpViy&1M2kU))YY z)xHUke;xkCKWVKE!=r!J!U}=~E6CLCSkO1{(`T!Q`wyhqY>ud3`=lU_Mkln%)dt<%Bm8#Y!8S%av4Ds+Z<( z^4zDc2hU~A0|WhhH^(gPD=UEAoY}Nz7M*K|Y?iL{kWl?o18tF0Sl2Vv#ADDj=Qg?E zvAZDTaA~MPcIx0LSY0mCa!fkVi65inR8*e4q#vV%+a7ffa)sT4TxRzm*VsMC<1+3+ zE^F>io*E8@au>3gbdDr|Mi2V)nz;u~ip|aC*j!)0lHiaa3G7QOHnKyvykATT;Y?gK zlby^zTn%|XS3|y--rxH>Su{ph0Y4Eap`GN9B+4QXEcsN#d#daRCHh0yPgG`QN`0e$ zYu{_nYu|6(0)5ru)_xDQet+#P(9GXNW})W{_o?pitKzNS0E__!G7)eqUhn||)bY6? z7^8;u@7m%}!^M33H#m?Ny>PJn>v8ZW9Lm2E2fgfLO_}PsU&DncE*j+;37z59?a-xG za6&~a<&eJEZJmH$;Z-Bi(iuo1f~vN3CM3;{B9cZn>SJ}`L<3D?BV_&uv!3Dj(Y9KG zOZb^$E!m-lm;D%B$~Uk4hqZlDOEOZ@d6Rix9!!OPJ6`B{>e7z#oghg6fOEO+Py-E+$wOJ#xTB2{|4po!re!brF^WB6nQI#>5d8$0wW4waiHl@x8XFnT$c8^v` z)_d%~UrZpjGy6L?VKUq%Fzf?dU^OrqsD{c_NAedHXGHu7uVA@W5dlPDAezMavZwa7 zC(9s5mP6m1gMDG!rvDwfeD=Ac%YljiExI`V-^Xg}>xdyaB7uon%;LvNs$v0~a{-HF zt>4NwPd^)UFA=(1y-P&B(GIP=sE?c}x6|~PF1hM=h}Ra<4aZ&hsWvueHNZ~F<*$&ZMhk<`sKYszcg;? z?&QR<1zr3r5uS4^5#Wj@dsf{v8I%!=ml9EI61$bmd#T(`=|Dn!*UR@%f`pi2_FoFfV ziGT_SyaV173E#v>wTjCzQ+H)#(#I+rJUYD z&mcye`dF%8#GgQUm^w&&*$ZV3S)*9^IYo*ct#ByHR=HE16!fQ;jx~6r zESQ_02}W}uVOIn+`P}8*)54LxcjW)ZWyQiwnE~xeOp2eA%l`*#tjuT3y8$lYM*RLC zs;wOY$sIn{?8Ny2cl_9CX z_TX51aEQTI^PSQBTL{3Q)~>4c$bVn!oW{g#=?R3yY%zEEU2~jyzpv~d4TbRZYs>_fhJOYQy=SGfu)hruXv7zD7901fIUdOu1@C*$wQ;ZD8<8m?v<0aG0xS;7Bd&VLFJ zt#4TC^TD0}WG_5OsE)IF@S`%FU#N~>TqckGEQXhC@S{Y{nH0jFpRvQp`RD6*a`yb~ zA*z{OQP*U1k(Wcgb{x*7gcH-SX3EQac&U^-WWnv~R5I^(CvN0t!1Et4zavPM>K(Jz z{7b*VSeX?iU4vvSXNTluZ_f1yMgWt4{onHg|N3*Ns1yJCQ%Uwt#s+QTJ1i=3`mBf_ zVDMiL5e&T6*jGQ9_o<8xnY`p*FOZixkUt(`AQ$@}E7hCcWFWI#>9c8+hIc)wG$PR7 zmJ~~1(N!>3gq(q%I$o*T1>jZxc--zkvJ%QUL=d`@gIdM&sIMY}_%PrOuixL@th+{u zFs)Ut?M!&dG&<*GZ=a#3KAVa2Hd;)pgTA|cg;nfEtqmmfyYYWB`{n(r&%XN+j<4J| zS9epd(VAt2JKu;^3A38I(}Ei(`mGOA7FadIq1ZzxO?%;64sn_AK7YMzj@U8VburCu zUT7u;_Iq~9`s%m}1G|oLR0%;k6>aJf9pki-9bm0se6i*f>}3WFv3NE97oF2*(K&|% zM|-KPNN8cg?;cutPGRhc>_z7kD&rKz=RsFTL$Kmp`hb-IDCxJ`-%Z^`NeXe}@S}^) z=?e{Sr!V>^(k}O(jrHzVCz;EXVaPUb?YDTvh^6GL+H%3D?6F}>PVmPPK@(_|vGf3^ z&hdB_&8-`W>BVj=jVfm4>!%X`R|RzfdQ_2jsb6H{nQ*!wM5#oltY*MPhA}~`ze*EC z&wsLvz{epr?5K8)_V+HPhM;baKf1Hrql!3I&aT@y7+Lz8GbUi%&8|B}Z-%Bs1T07V z{r#rm+8&{mqx!}kFJ3gNZ!-wy`Hk0kR(>%HARWGEE9YRwpX* z!?CqR(PTKgF(S8^aA?GC?aP;MxZ!mf>PlUs^H*P}{ZF}k1(35=0-GYR2(5fWS}IqG zK$RA>0blm!p5}p2Wh5OY;{AIb2(rbgt@A9O|jaAwEv$G;iA87NxUf==Fm)W6( zgaekRwt%^;9WZ=>bSIAm81L%;HCQS)RAsl!uTG9FX-Vx97_RYS?dqSVKu>u6T^ijx zyA=Vl6#Bif8f5=^d`1O69A9!Z82#1ov3q8ouBceV^)SPZJ5FP!z#BWnpRTU)hgM}V zo0Ry6Dbk6I_f6ij42Zy!)WM;1YD-_kml*+(4W!5@zJbS zTm&2(G%O%hk7jiP@@ttPRm*OZ-_nI`Te?Cm)&H-xG-A=%?3Pp(&7~PK)`TG(`;1WP zPC~h9YjY_1B$1sox7au4M90856;^`rpJq|Qg^~%|a9fu?cqGDmxBR!wWxr76%AobT ze^KeO&uuz0r!e$XE6uS4hJL%5%Rek-Il!cHw9Z_1A|zG9iI9@-NUUH)QBAQ8ZTge! zbJv+DH4IYMEly3H$}JzQ-SUei*aSR_ZduTCcdD$$0BhH+Re!W@H41;0!JncxeU_f0 z)3Y&q7lN3nIz8PQ&_f0E)x$I?(Jsr=Wbs}m z2P^p8EhTzj1dQ@(NQ%?(Fv%U&R~`<6jCx%eJn9)8_`xl}D(Em)Fy%U#kr2H$wn7@x@jQ=b1Z{bIxEnFo)gE$`x$ z`|uy}W>wH9+0gQ?p_q5PssK;(KxFgAD2K&yqtC5kY%HeGS@FW|dR}DDW4qgjdjBPV zc)Y4R$}>^~He+mvjZC~lXUC5(+4hES*wygl?8+zjrrQz(YY*kLvDPTYW+GZ{)O7W6 zdm^*Nt+bV>eIl1tMG?ls=odTMbi~Tf@*De#&b)d6ow?SvQKM!2zeCnZ zZQJnreNAUXA>$Qz4g4(v>urcHZt=d)g(r>Ptm z^+BRK=bb~MS`?RxoYtJy{~TFh&jaF`_XmWXM>#d3v|uhi__vp5c|WdW{)w;Uld`D& z)GwJo?c_aO*qb^BX#fknyUhmmm{%FpzuL72<#w~S4dYKXZ;2+yGbG<)+N*-c|HA|r+yo-#>@d4qK^UdQGw=k{@E6n{`V zVs^4R4nNIPW@g=)_KpXx@wLC4Vq}WX6Ne{8=Ry;WKX%I4p_rYR+XI`!Ovda+&yB}T zWc0p&IbGJ+eVeSpuT`5tQNd|BH>X-@*hoKAchCv%uhiM-{n2GHYBsW0K zPrC0$Sbd+F{_e_O#dpD=E(SDClUV&s&Bj+GgTzV;NL>1BNSv6SN#e#-l>C@iIMste zBXyGAuy4F#^u78O==;zYd;BotjkxOYG4-;2T);=<^HM&OxWy$_tHdHD5!jbWm*vxc{nY-EBBH=oSkie^F?ZzyXX%-@>kqxd_nd4Q$# zwZFYA9WVI}rIb|`19&dQynQ(0Yy>||%R`H(8Sk)zp96aO-Z5BjPxh4V|p zRpXj8%cc(3X}14-BFW@h=>pszsd;TVR%rpp&ixe} z`|{LGj!m88SoD&Yj0>N735M(Y85&I74?z0smDs|K;fnIqi z1-&ghd^Plm$yaB&QjF=D0IqSKMNc`t(SPby7!vZRQj4*zeAINciH}|(2jIPDP7dmP zY>P~YReYF5#TtT|!5;2TQ7^)Etq;no<2J&nchGy;hW0qre6(y{G=}R5m9G(9s zn>ty(|K}jNN#cDmLFX+;Qv8}S?wYNzTCwgF%XPV!2?FERSSr>XF3PV4)KmodSfGAc+7{opBit^dm&3~{h-z(ZaijqYmUp#>`SVX z`x9hf^5LH<&3YdFQ3aEwu4o*#iPu0_7WjE&KQmI#5_i6MPdZ-1aVIk@WR%`ZvG(yA z4&q~*cn!pV?hvryia+2qUVkMcFxlsyLxX?~!YGF##^Oesj=)u0GC2|-igod^L$R`G zdtkLe+kB|^_7Uo{dnIlXVaW5@b0BmCy_y(_&(6;W?G@+;+lGi$s&r^WC%BY%hKeP zO`|y6PH{e(fr^;O9IP>{sSv228jkJDo{P8DHO!9Vu&!Rx(wr}C>1})wG!(+o_@z3w zV{G784gHo*SLL(0v*VgyyC;ZP>yGbm|CYD(SW;u_$C*zvR<gc_HQGDw^4Xz7eLY%6c%|u{qq0E{p*wNUo(N*+taUayZ*h0O5dS> zf7$o{q<@NksPpK~zg`z@8K2Jopn%7Dt8F2cRU6VqP#Gy%p@s$gXu(~qUlhRQ8r(_t ziR^cUImV>T^FW#QZ~1$PL@NFl)U}4pS#>8%_ZXyl@QPe`gjKxSDh{peTa`Tbx04zx z=j}Z-v~V-I=k5JrsD2|4Qq3wXuhTlx21xH)+k}F^KRe1~nAAYP)7lzo1?9v56ciWh z2WpOGp>T~4hO|GHbxdYTh|Mk;m!;6I-mw$p$YyhH00$egR>`(;aNCriX&#%TNN z#`lv{@<@%nc|`jB{N6+B>bUTw3{g}86dTvUO@v0|D#C2pHSq>0-!!K4_RZkRzbBJha%1NN4=$!gH z{rvN*-cq6qJ$MZ8Ic?MMaNJH5xh{8@eYM|l0Tz2bLBF4Rhkl!A@CI`5&gRinUm$MV z?ev?*M{#<5JcT0Zj}KcMpxxNIk9E&XQCX);ZzYeG!IqHDQ11uu%)D!pT>{`X+h-A_ z?ZLPZ%cv5h;Yyn_I+Lbv`X?5jtmbH?RKJWy`z23VM!5=oBTdX{6`H?(99=#u)bLLS_UU*!5dBr>1K-v8 zKvm_KvZ=W{u`8RreCan0Yi4v$Oe+|&Ej5i@Ydz_LU_UtMg{y=sRq-Ju@c%hTC@AnQ zFZ53sI-i`36NZt*5ax;*hlV$U(t&@lRF!Tl_Wt+6pV1L+KdZA1afit%QESeZjS7m*TzwG<~1)8_x5e-2F+$E^N zLS1(o8+LCGy6Ix+@3wYb4b8>g+TNOloX?y&f22F@?@*5{4mut5Ep;~CVx--@^ujFf z%~88r9?n&r+7!n;C=fn;R3JFM1%34KBis&84L5z9BNO5xWyg_W;b`FxTjD$=#MX7e z;x>J7;CL{3BZ5Arey3~lbJC2en6$Af2S#roCC3MLoTI2j^W$k> zQ;*Kc&nHGec<`=ha!gC=87u<~Hm*6;4Qv(N_ADBS7s=@2*sx0vbex^+<$KCp50Vsx zRY+om9v_+C{LR>~VU~>zgOSDFa6jwD;l+TAARnHu-vF15;lx3)VLgHZ*B5!ctiWkx zEV2TLxkWyI{X*qYf@_3BPcO;5wtuJ$FP$XM*F=CMw=Zc)KEGuiIj3_?EjK2H=3WX|5_;%;02oU|g{BnF99SwM zE=c&aQomjoUkkx2@MLN}Pk z;IHN2dE$Dc!R(S^G(0Yv9*fP=88DfSET8F?mXScoiJk_WoaPE`5%<6iU?g^DiGx*Ma?OFUK$E z=sQ}cJOngZ%VWSAFVlocg8NqH*Xfs~@1MXF`;5TCKR78}2A`&kYBKsCM{Be4 zCYe)95`(q1rKe2{g+UeEP7k@9 zudcaYP?wPFEgm2RgE&?lDyuEYPeYb|fXC96KY(@@^v}F4a#%PCGt$9K_j1>+G0+Zp zh+&$2W)P^$PnYY3^D;?vvxr~1YRFIF1k;S~gk#qgWQ7)@Ffqiqq)9|>Y99&Wim(*S>`(PbLd!-cld}C7|8mDmM zjnl_u&w&kdz;R}XuLEHmsb*FRsi{(|?A{xtZ4)rh`Yu@9nR1vMaNDA*vOMo+`&ycD z81}2*6J~{ob3B!6pNa||s1L$~g_CXp0@L=LLD3I6jh$Ydh(ElCN3t?G|8ci6QHNNW zfZ3<=t$dk+o0jxnE^(J_h;PFJDx3 zA2P0l(s$HkLQ0*9#DY%o;l-VdA^Mc&j|mo81^ZSoL|ATXq^Wk}The#yoe`L2!UT-! zx3!9~=^>c+){~cz)44KvJNvp$4zf;iG{~ySYbm=d%X>xNk^}y#{Iuk<411eTZmVJM zmm9LYI)p(d;8$cezN}|3{(Igk3?R3^ z@|r#z$_Lq$&N&M{JwDB+W=Z`x0Q1%E9~m-~szMJb0+2}1BWCDgmkoCtzbcP=q?k%E|New{JUpIea@!}Gmvzh*EP zBrOl20l2-J73^s@Ki6S;W`4Ugh_7}5lZ>lq{X8TM%TUHos6J+}2S+`F=ta(4;|>lG z7;|sowfL{>?NxhtG&%euTca+NQP7{iZilR?J9sCSLoAcT`d$=Tc)Qw&?L8Fd|JYvc z{%+*Gxt2Z23Qg@Zi863OI7YZL%!Ta9kzN)~o<4)ki@gP00*j)smyI_*KI?odqX|$e7va)uqJ%hja-8`Q9ga_@nBseRcgG1J}1c=T`{k=6)E+@Sz zU5@zk79y~M@$)R!ibR+b2Sd9P-Y<0TYZZ%z_G-zpctA+zezebdg#zMaOToqEfk-rS z9>k)G#)AiA%Q^x&5Ire~ChF)y zJPlE^xcq<)5M5#r6?lu;7w-g|i6WcG$91QGmHM$7gf*tJ|6Lj;erM=Ud)c>!qH^H; z1|$>lr<(Q{(BEfWq=qUAm!DH{!|KM=fo#M5&*;0#WKDbe-b`v^1{WNd&Q%%T>=+@m za4QW)A@W%SW$IoT+un6V=-#y>78UkN6tt|37x=~hGyWhNO$)Tymz$=||Aar-FNCgX zYFxMyYRrtb=Z_cmruk!ER;L81$mEY}+r!YFKbk>u8~$({Yy82!YbHcb{tbxU9n~J9 zGYz5wZ%XIjaCL&%H8lfbf|Pf4>7N@kj$s{}ey2Scj!j<>o3i(x$);6+VdH;%2T)e+ z5poK=H`osEgjH+Wv8oOtwBKvousw6Jq48Ffn#R=~9p$rIKm8Z{zXMb01Ln(BRWcRL zVV(JBaf(3Vit`Uk2|7jOy1dYhA4xLN_(XJ+cZSNn9R1CkrLu6vMAKq7RurHGVAp+q zCrn;v7ne+J?&-Z?o8wV}g>sCKb;`zyVzOa$tk4P!MKoL*8}?h3sm=G6liBiB$-yUF zWNbQ9YVADBd&A}o`OvD|UZg?G{x4hyuT3^}bh8z37lkVGIC?+3ClzeFx1Qt}2a9 zADVXAq$!tOQhP$UyjR`H^RLT4|Dq{%b;nPde_fBuPN*wkm-C?7!!cPMR55RV<+Q>{ zjr@N9+8)h?;dDs?h&3oEUvm#d=a|1mN42EKd=v)xiVI{b%;B-Nn~tq*f^;tUG4U80p7cQvdnZP>Ve@nptV zO+9+>lRX1HxamHf@0+y=SHx2^AqS$Q0$4}<{Su%5_Q?$j{zJ+rJoWg`#dk+2rNS{< z0d0V0^>EA-+?|e9g(KLNwmk4zGwWLoscUR^pQls@`O+O6W%Msp|4Zt0^l=@Hh926U zKRxK~jTn5|cK5gav|D~y(A{5OPIoV2OB(xjkD$NL-pkCjcq7oA-J$#!gWI6%LX{tA z<(H<*|3u}ZD&LjzZP0bdYF4e!p4bLcLp}pjjde$Lj;fL?f9U3~eH*Co5ZlTIr9v0c zT7<6QuLKfkE8LX95^WxBeQ~ajyJ9yJh>$kR93vo$VsA_g#~x>Y3=5q%R#3*Vzw33Z4Yq?!3qdRHk*KPXS{>6=t25RMlz549jjulP3C>?A&6HfH$X#)v3cz$VsmC~uM)~c@E;47?n z-3jO|rOn6k+(&!9HD%3*OaI}W_0p}B7j0w2s@7Kt*WUK@Q16JyPIjpp6EkzOQdEP(9 za&}?zcloo9Cu-{NS~yuPY*seT&$*=DB*9+~li1jv^as4yk?DGODn;D*$&kMt#}DYO z{~Gju8w~ZX`<9{bIG+1(ON7vSgwG%U9=~~=;8(+ybNhE0e$T#}-apsm@LS|9;)=O8 zBls69LHD`eY%_xY@*yLb{e6?aos8lCx=aEX{fcV6+dj(}#7_SD4M<|F+R_o5>wRpt zVqOwA^wTx#+K#Z+@AKap3s{frL(MXloxjjRf_MwDYT}>1DsXbq;7Z%X0=bZ&b`|GxnPS+t_n@GpYbr={GZk)tgSQ2@n_S7sd zRv5JxSYaY@qSUW_B$p)ZlP8B=d>S+3+31vvzRA#tHGbIJ#TJvAt`O`s;{U&i|IOjX z^aN=R13yTM)Ea*r0BDmrMGXR#_>1jDs%<~nW|W+2OTB*2cOXtU z!RC{UOhm^fOKM4{obTxL{{{XBiGTki{C7*^|EV8hDW8Hv& zD#HIA?|&WsZ@n1&U;PO9ziG#Rg#V?_{=dS%)=x8;k=^>~c7mzcTsZ%OEEaiMJr>yS zvXUZx6~j!y!o=Z<*d-1xwcphxgZO0#cAHjYYh=WAKQdZUVXxPH(pzhx?2RA~C{5lY}(zI>bfcYmM2J8%#Z@ZLcLk%SsrMOt`zzt5!H-yf4zClMq+D9RJn3k7$V4JY5af(2ihAZ)>&9*Gdpqp9rINv>72l zIug>gkF%D85TrW@oqkhY{(9)<{^}c=$HI}g`U)EYVpOvK_()>xR;~*#+!{$t*lLby zz0hE~O=GL2&pm&c%ly-P30Jkr@cpx2sqp})uji(qpB;fpcUv2GoS<->53L+mxN{vB z{5>27was}Cm+=#NU~1{4#z_r3>kiV?o@=T_-`+9q~Os|gYI|@_*5sI z0e)N|SDaK2-cu>y@+%#52UHq(VsXJYqTxf`RrsL@+&hxJE;9dL4#ZojnEN@({}oy| zmq(5LVxc|Je;+eU6hIXIApVS3ey^a#ksT;QE2kA!?A(xD+wBpd0{rJa;*fED>7<4h zP|?C>Mc;7ti^2RUuRLMoAhiKLH5Hpv*{6z#n-&=eA`=--bc{^oZm2i@_qLTId;K6E z58U4xozn-31vX5Xc3h@w>g{kJHH<(p~?Qwy*|c>g`0=94|| zR;rAteg^=?s&JS2s4r6R8>0y*eyfQcu2BlrKch}^xIuujjeiU^>bu~t3>9<<^{O|2 z2A+o(=%tMOdMVaRm>1=iy)6>k+a+|%7a|jnggaixqdrQ~5m)uxz9Zt#bB)*$jrv|# zH>AFczDiD2bJC9epEsGSYkNyS?Z=7w>Nv4lkF1Vg!Y*3x)Ih%_iQ-DcP1orsF~Evz zznNJ}@7S>Wt&))UGAH-j*6=zd>$}8;-K-pS-GjE9`+9#QZ}8f-%)OMcel@&~4NDSA zol)c`HznL>;HQ?*Q?lg{rQYwe5JO70P;5g+L9lQMSa^q)$tN=g3c z_?^G6Q=Pbw#+Pl;(9-;t`YYXV4IWy#b7OJs!Q`L~mxK5+KjXU^ zP=VA!*ZbU1!$UnC#cN#eL!sDGOL1uP+tr0(u3dV-ee2|{PK>wq%jkUbsY><9{8rcL z{VI2^FRmpfZ;-X0;INz)mqO)(lt&VB^GLdlz~T_lFu zMS!Vp0zoo!+O-antksE;FgMYIcqXXUhqWO$|3-E_Hj$px&QyrmMl0`m@4YVty4~Og zX6v61h$OB0seNT@*M~|9f*J|>*xEPOe=&`*9bFII_&Z#0LeBqUPiWy{-onYk?`Uok;MxH@__XgZhAQ02cLG<-=Thw(wh2s!l9XXOiDUclQq_mg{SkAGU7+oL5YDE;cZ6;sMWc83_>L=AJ@A0pedBdu$!aOfw6}brs z{$WDXl^@F-@8V*3ggI)E-Z`L>2OaV%bsdOGF zs4-3a_2w~|l@AWO;8j_bIByAy$pLjsm@#QVNba@{ErGSC-;iXmC8^YNyg&x=$ zDc=#gu{Tvl2XkY`C&b2$G;Qay>HYA`j*-csUDNtOL~8dxA&FKJWrpmbuZ3gZ!SUsN zd&41~p0f|RFBH3nd?LzrQsmGt%{*HEq&pbCnM7SGKZ-L0&x96ECvPM%dn?D7!Ga2K zlHkU3RYUnpp#{UNs>SBu6&?K2m}LKRs|T-D;Gjs;-ZQEPzA`46+so+J5?XiwnNb9? zLg)dTfQsC`s*~djNXt>$*4DJ*Ak7o>C>zS3U3UroGUE+&UfsbFOt1KMn@jg@#Ji(S zb@ry%u$NvDZyxFBf7%-wB_~A_g}bXc6(fJQXkzSc9?rv*I~2)MwL3p`CfYjH{($o+ zXbQEX5~ufa@--Z5VXj_E|3@We_bTRcnu$lpC#=C0Z@jfVz+2A_ zIn9nv^jM=~^*SanIuTu?GxkLz<3rbsjL%*JY8}+6^|rsXqGX=94Rh31I6^~fqP_3% zc3umE^S(;&6tZ-fSov7J+xdrN-nif6Lrs|F@b8rCR>uy>p%zZw*gqcK1&FI&7J3GF z0}VtxXL5Ie6+j#hW~z1xMPMd(7Z$5s=&rldqlTLoeSm}I1oJz-W`MRynbby#;4|#k zHp#c%?8oKLhmu!7v`|5|NWH`!D@{LK?w(COT*b5Ggub)>?-IIsEq&Ae$o`zVDt)mW zSO!8dZ3K%KZg*uq7y4tv-q@;c6?om*uy>eeh8>j;va?czZv&|P=p8@w+fmy=9qQE@ zrIVwspWO%HWiAcH4^^-w%@_#b`H>XdV?F z$nIS-07x`D8HE0^MhI=+fn51nv0>J7M_Ik+{$X(bYcRXe5FPvAizI-+nbhcw-C|$2 ze4DQv^vm*&^1oXB;D56c4iVT;c&w76&?jD%#9C}U!;IJGqXZO5ew#xONYC67 zjkDbV%}Z5@jkJ6^Yi~Bzii9fEH|61K2l(?QEZ&ji1>6$HYV5`j>5AzaXA^%5`6rbL zs}rSoWBmP*awFr*OzgG&vXC!atf7x?fsmEr_^i=kDxVa(HsISV;Xir$Vb;LmrXnaM zQFt%|g+@-Ws&2KxE&f*X#(7rG4GOLQPTTFqh3eP$M*AhmH~FOLZKpGtx{ulqbRWv6 z9$?4-1ES#%ez!xh#a3o@iO{COX|OV^ig{Pwy2C#M&$u5}XjF%$pF62CG*=g6d~S;k z?zd{muRAuHIQ=k<|Il>8TDVW(CUus^DEv(1MdX{e@1Ms0V;38v{E-Ekm%kid^K*FH z-1njG`-e%sdv_Zz4s=QHE9nI#1%qTcMbMeuh*_HXa}lW3e+jCR>wt+Sx=*s@igQHuJ5GEzil=xDlR89ixt- zzDc5)luPFA|I{>LZ^n`GC}M{82ZuiU`VE(P-}oN=ldQC{DZ9{W-w1~>3hY3ozfqBQ z{|u+&yITB4@Sl(UPUVw@6(WbmpD3WZBJtYIOfY9Z%gkKYM_)x*O%|GdnzcUkmc9g6 z_+OZ|nSC~E_6aia%q%o^v*~LDGvZ@(Gn>TDu&X|;0Xa5<+OJz)h`vjNG`_2^srAiV zS<;BdhO;))S+<@OgtE%<%K&ig@AS!Q})!4IFl`C4|7Y*~{noSpOMb6`|9wH*fkW<&!FD{c7uNV*zI205xbhvg(63LKZ=tss*1P(>0K1nh4C2f6`L+QXZ(%TBpwvV+9^^_<}L3e#10r)ux9J8X*B-(W)e#v2i?e{o68F6mN|G=F(Z zUGf%}JWM$kxuhnSbeNLrT+)BLq+JV1y4WQxbxB*4G=?NB=50Kq+U-aC;hx44wQ2qe z4HjiiyG(@>vom+5b;^_wPh?Jg{$}SsUfLgB!ji-7k5*%|^!G=%!{yb9NyXI-?7du0 zx<=0q4F!m_+kVl$Wk+DWmCx_IVNYy$oE1b*FaKpH=PY+3T&zJfNKzqDGssL-Jezl? z#&RbWpV3U)(%skvxI%*9uAe?xfVmkL(Wj~ zP#Nrop`xxsKJ*ql9{X;jd~4|D z?Tu*5?NRdM$Nf4J)oNQ}X(R5&-;f$9|3_%SO+1Kg(4K&Lwb3au_#e^1dz4?P81-(5 zG`*J_ZrXE3bl{$7^7Ig9-O$1_1qga_zF>^sSF+tOh`K`=RQRsZ%)g3~K zCUN|+tnatw3y$sH^vlJ4*w}z8tkayQn#Q0vsI`geG>hB7(!H_HGWIO~rB|sO`hewh zq$+{+Oy1Ra2({Uk3Q!j3$ofqS$|7w5di^ zR@P(Rm=Y=`MQaLD#w6}*UPIfdE`G;;H3*%`A!k~{Ab!% zeam~h(d9A@(;0782Pzocb}87J$B6~PN~Zp>>PPmtb{zEbRE&QTgcGPqp=8~AsO**a z{=cHDFX^R~17TJV@Thz=nS1WYcy#0L*s%9EN@yMKo%giN9yutT8$GvtA1{m3#vQz1 zajM$rjf_v&xFeO6eFh#ZRW*sOEZ))j2@PJ^!or>{0g^)x%ssI(zI*Md z(Ga`XR5&cL68y5nZV0*k`*-JT#KiS!xcsxw!hc(llv&< zZ>Dh7yI$B(ozz&nGQA-rWgS>kY(boH9a|6uFb2ZUJM<^?4$!s=4hS{~aMLnap*~}} ze?ThfX8rnG5z+FkZf9`~iL$$n!|wV@XyH0uQFzxfE4oFj?J)dasoG)q2@m3;0{eAb zA%VJz_c6)iFRhNh7a6=I()5n)FjNoxU{td3sOrIcwLsYfz-i&TGnM33jZ6k!L8n1B zI$6@&mi`As;{AK$vI^r()ORGnHNSKtS^W$02h}wr2VD&+Vf5u)gwqfbojI(lU53rp zsAC1m*VK7h4#(DF$k-6&EaNJFBe{km!9KD82)2=@@~nF7JLT^3_c$yIq3Ja;H>~F((0$>?)Ecv2e3@VO4Kh_HE*&5XMQC~t`;7d)o$oRR z$lT!F{0~UT0ry#^7FNtcXIuIU>7V}hAG_}x-S>HO_&$s86j|Yt<|t{h71{2V`=?O^ z?vN>Ahdn;)Ew^7(+Gn-?SCxD`Sig)8$sO;kqO7cpqsZv9SBG@K-~@m)Rrk+(e(d(w zyob+4yFKOAKyf}EIK206b9Mr&Yj5B7bq%^hy0I2pR@Y_J<<+X1kGBQYymNh^e=k*C zy3+4uZ|YN8y=>+>0`DC`OZ+&pvHSDDY5y$9-UFU(LI}? z?RK8c1j}zEwi~1NLjc87PTg5@MsOx<-eJrJ@DeOnMHs6^bi+%=qAH=w=?J_cB-6_{&uqUyQuSyUnW z*I?tx-PpC?B6E=K37%!pCZk!i^HbR_AI8F8@hvUitXmDWB()AET>fk@t?-SlY{%<6 zqebvBm=55$oA>5hZX~&Z7nEr`?`j}wB$;8moz~#bp!BlXYWKB2N@!00D(ykCLn@54 z9JL%x&PDF-)wNn~r7E4vKIkZJ`kd+C-e77j=BnCK>(yd&7xbk!#qAjIGvfgmWMVD@Xo(_8A$TaxJ(t6Q7#S3OT=Ly zce%aWAxAcJ?1dd4elr3Xgc`IB7%i`?2rWEGNGA>v9_)k~zz4l%c%uJWdb7#9H^#*d zD;fIrBh9GgUi-fwnXN6})AB>x&CjK((-n`L z`pf((zhFBasDZY2Dh&KC9PZ8kQqsJtWU?+=DRWI%({yaui>n!1b$0l3a&w`#d#$O) z0%tr6PqPw%>eCx`a%DnKao9 z@=cq?_8YjIR}=>p8tK%;D=3vvmuAd)Duw~!SwuJ@p>{*MuoR$9Ik9`}uER;o{OxyV zh}1B=pQ2{yY3tIN5hDxCOextBM)lm`RcsU%WL(_J^`fyA)R`zG5EC+xwq&KLu-~t; z?|l0Szr3WTa!O?v@RZzazf6Xtr^ik^`_3-Ow6Ah)&46ZT_o6 z!|iGeY%kI8S9Kxq4{q)MwSN23q67Hnv8E9Gi|qI7;s16}9^avW#cvrnFzeJs@dkUaD#sFV(K(O~cWq)m4@ zn`Lwf&EL9STw{T3TyxIQ)eG+@n(@E>R^10u%lcDZeEy~;^y_`{>!bhoyZ)m`ZzCl@ zUnU<|%k-p`3Dksb3!kCXR&o~`e$C$qm(?JD?{s!L?h=C(z0ZR>LO0iP={&=#FpxIq ztt#UOd&~D_nBAu10^4*`F0qByM&|Ex9+v|IFcM{^_zqcTdK$mWc_(Hu@yz=)Uc+cZ zRl=g0e3fKP)*ip|oWy~QjlSo*sn-}KRSDsSBZ=C_P&sxx6RCuhEEzM=sPXDtMrKT; zkC};dtLl-7bQY)V;03^u-ZI3tFfJO zQG7(6X-5eNEToH62oRSruyJ0%o9)sj!uC8NV4TE}y|$)H1b?-KZ{-V^*}B*?@ZOvU z(g5Y9(2bAiBaXNW?%_dnmaM3bzY!U{1@lQnF*}^U=9cQg&qR`ixmarJ`WgMIiErF6 z(J!W*r_^6%&|vb|PVLATv&N2tZ=%T_Ty!6i)0=rhO%^XDhkiSpoKYMqI3R?fcBZk{ zYBK?3JN^zeyh1%{W#JBXseJhr7B-W|=gJUFea_@N&Js&VytJg4RObjXnN<1FsYrHh zUpx_fn*=-FfQ!rNt9k0Qvjc_8v4D^>)Nr4lI#K1(b*2ioY>w3638Gmy+2cFHl!$;8 z)BF4a315s~`UX+ddrd6M`7Xvaw&PuFmuf^A2=rt1>=fGad*;zhBsnw}tQ7cI*-cV) zvVFhu)iC{1f$X{>E!#F*n+^s7bq$1w*dISed|4m-4?9!CC=&R%3g#sSBXZHXy9VB_ zjXFyrZ&!7{NE0$)Qn+c)_ghu(q#$_L;ff=)Sl6+Uj*1QY?q429>>q)u@#P7ZgC9=h zVDY93@A&hzx8!G5z&O?0I)}dA6wJ+j7EtG!4yNP$@Ze{0ik)$ipqfY*TPczYMOHYM ztYrT~I00KlgAX@2!l;uXj8vu#*^D|z8*jW%xZCwTIbiWs$N;j5ZkqqR@fR}_2mY;~ z$QkNB;wE6O`3m@ZH<;(S!Z{m(UcK0STEt5m*d+QC*yC0eX97?I(Q+mNeQG$EzZk~4)DDwcDdPmv8 zvWkyR+_`-X@0i8-@(53(<9C|xQu|UrZ&RvdyPN-8x=o*^5;imJbJn)px~MBG(*sS0 zrnB#`+U%X96PIoen+dL`N=fpk9?P`Bb$`eVW@-PQ2cb_gZ|r2#yOTd+b&y~0OmfJ% zEN>g%S!lae_|x{{d-gPCep%tF>FKIDU)40lOrzg>xz&88lKz_{N5i%L_=}dmA4+E7 zwHJ_b5Isthvdn)mQigdEnoISYgC`d(qF$>6Bt42wcL~+&JP1!Ybt8o#=d&eB zhF|%oVIQqW6zpeKR@KqO>>XIQR2=?K^>pR2Z#DAKWt=|iQ%qYs!e-h!D)qieY!~`l ztL;@bRF?U+UEDHg$UEs--|*W;zyHNsSN1BS{P!mreg1kG z^f_n&Bnv#h-gv;ipX$C(pUn4<=4Wt56W>{z;#u{8%UR%Z4pz?f=z3%;-Fz?IN1u&fvAC7E~CrAF)xmq4O{^F(al^8Ps^fbZ4r z`;19^&*rvxE?hxvMscb5vt=(UIY*Yvo<>|d7A z*}v>@H}?5ieD`MXrz-x6b3M6&Zzi48KX1IsWB7rb3~H=ce=*6i%ugrM@XeoEfXjA?Iv?2Ktz^E)frUQ*18_6ZNZ{Xq7!8Q=D8 zXP9-Wh({5=h%Ho(oF1h5_g&0OO!vRhi~c=)v!b6OR~2v1PkacP|I)@ZXD?R&$$tG< zxvE@Ly3&mJJ$-e4f+)H%g`Dw5!5Hqbog<9*lc1eee;4*of77we%oJxI{1fA;a~S;i zGj#;r3Uiyl5ybPcxGv!e4!3baWs?s}Y)|jHlQ<*FU>dE#8JiizM?HgAJ0+=*06IE4 zcm(*c&VWDaJA`;$;`Vd{7Cy!`Lns*Hn^1Q;zR8~U@lEz*#E;q2Y5bU8b(2(wg3|cF zm+CfQYW*frZc25VFtrkdCS0c5gsHHbrQ7)u!rRy<#iV(>)g0PO=D$cqV_PgF^FEkp zd^~~y==7tdvo#7`SemP^AuPnPa)H}ekyaeCN(bpkRj^w#_+DS z6UkLeOslbq#Z*PeLqd)W(pJk$f02w*3M=9wvELxELfzrU2DN?LkbmTvM*cDzFn|A{ zq3alR>zY{(Q$^l4?$;7$f)G-Lzg9Bul&K)@lXpR!k0#FOo^v-7{8z`9Ir9h?U#1_m zdZ+wR$cdH|x5oGK>yI*?$KBikb*Z;~w6zYhM&tgbPnc5nWM6y0D%d&;+ikmeGwsmp z$B$dsir$FWl%nt+{J7I(%@ryTynEU(w~9odHXS;>x_Zxv~sQ#Y<9rod)DujKCB`P?K zhu?lhDe=>S&{Ex=4bOjk9#w-O7>Gl1+Ymzb>^=7`=6|mE4v7h=0N;Xh^BW1f5WF_* ztYu$e21D&!1bMAkcdTRCLAv5-Ah8Sj#&>bICO2$`Ll1q_wNd_orJSWJj)tl>G-LKy zqi80NS0noe$o5#a|`g z;k`raeiSaBSux`rvt#2p1~vBQ&wulFFpY1^eon5r<2{&$vZCFdsNA`ROJ^eSXCtx4 zE5flSiW?hA%8!IbJR8oLu%BB?arrSGriZVLx1OK(1A2b*wXMSN;wi?z{oZnY_oH<6 zuIsGtGy2i@b12-t@8Cnwji|&we5XgQ;5!Y^BK??X)hysnLy8D6=px|nUl4SEwO=)8@ z;bsZ{h2&+bL^&n=7uO#V{;N2!U;g{}Uvx=#5=SL$v0xIzr%*p#rxR%O;N~2;iZMP; z(Fvgsb@#UVBK%HOhY+b;%n0l$1-S<1)W6hkV}S65jpF^S-!l%lXaXFtxXy7vnK%3% zWt*UBL>HbU^UnDZL!rkTPRNt0ph;8iK*+l|fEE5MS=KsB{_s%P;#6w%zI(SgAnF1* z;%$PvP^1%!9NmURw1&}! zkk*7jHW-Bgc7}HayFm(r0<%m^Gs{?Wn;XkMqjUCCz49?o1=08hEpn8U!8%TU8vp#- z7}9*1eg2U|%H*G4cEUg09}NGLJO0s2^EVy;@LbkBFq41mE0>rmKA$}kB@O{M>@x+(4QR4mf-YN??;~!0eLw1aS@Ph_jUAit|{ns zf;=OAhOB`hE1tfH^}}mz7;@Wh#E|HR?0GkbH2>ZyX5x*@yTWlU>a!REdDG@l{{|{I zA~PIXDXx(o_RhT9v44e=H{4HuIqculZ;e#3|5er+lNkZ$efCE_1u@$u9s>KHHVyVa z-+-{F^apYm=-0FV6=t#12w|pWx@8J6X_>+PMC$d0ruI*>pse$Mm*vdH!Tb+q8qZ;% zwOKRgL{VUbB-y2l*i`j+QWfKfKc#$`^EM^<7wl8!Qa~c zFu#2LnpzB@cucDdd~CKuhH91o=l6C?_oL{u^jBxSTgCMA*9&WDy(M^+HQzFQ>-XY` zWhL`e1I82^A<4Y5%ixU9&=7$sUpEh1b+tt>LE5Edz#3X7a%d+08! zwBSu&$t7Oc{42hKK~nFhc|+5v_@gMzA3CS(^T$MCgFZ~PU(T)AZ`6fWbo8&c&KUiL zL!5*~3PWS3^j{v(|9NkO5x<9BLu6&s1v81S`L&gPbME!agC*CVk2uOMQTv$7)%aJ^ z-!BjSPZRyOstoks&TrrjCi>6gT_zsuB%^Dl_X`DloWEWu$soRa?TifGhWP@uBLz}K zhG?tJv=;Z*C!hW2>ysJRchn8FHu1-A&)Nb;@j-P(TAw(zj%CS#tVpEZvQP<@w~ZIW zr=wnOqtE@8NY1|GDrjZPyL!Qv^RMct&v{SH>(KKQHx#$+bO-(I8Zg_j4-!L8f$CK^ zQVMQp;ZSiQYYINie{-I_l)5`j_xZtfS?D%Rgn|$9e_E%1Cd|sC+b4c^H4WAT{t4x? z@;X{TM!9ccV$$(F)|1CPNU3Z|ZXYl0HceGZl23QOd-(yL!nXc$wM8x`_aDrV<5-r7>z7!en zKH@(ZwZZsX4WD04wh=Y`LI`t$eBvMsF6AQ3)7(fP;n;>SH}!y5E~8NU0ml8KCB@#o zvpQfcw2}|0=h{yVhC+wGr&{qhNccmEoKRB3%sacJ%(p@n)Kmruj7GOU=o2Nr&NG|l{8t2$) z3LQ-^nfCnk#h%0JjpGA>CH*THFYSNTTliK~V5I!KgSpb-r#3e|z9y=~RFzG8dx#U?k6U(J>=V|9$cKYz-c;y29iZ>v>UDhE)md{rzNI!a&E;Is5MBeX zonBgP@p<}qT5jv{|GE&9j-)$l4nX6uth{DrZyKN0Niz-fCx}ypAo9jA$e%pdqI{l9 ztIXk+dUhHU8EZ7azT!uUnQe%yxbNw8OdKG%uQk>ZsP|DObqy zF_aa5dM^SGqo&5g!#Gql2B=yGFGQ`Cx|X&s{||0*inS&5WUZerm%bWVt4i0>dd&y8 zAS$-jXAaa_scPNFS|z%cWTFV9b)ONh)-$YCg<8=oobkRVR=VN3?1a+Iyq{+`=%w|8 z9I|CTB~+2{Kc6y9y`Uo)EqOLXnyf#K;D4j}VXRUhrmPyUhTv=Jje!YpQ7HQngx+Md zkM;V4(UfwV)^=zYq*v4R4#X0oE>6WW%Le1`G?oQ-R&ZuNG2Cd)& z`=bvdKgu?)%ENt{{n_JR?5|#k_zLq&>k4#)Oq>Mv>AFENxSkm+?U_M!0snIuy|x3` zXY^%p*yo??@mJ(9 z|DJNa!{W@Z4(-c#*1Uio*hnQJWci@t5#;_Gw2b?2VEo1XHjA z3~JEh&y@HJO<(ZeUnYQ4uWD4Bs>S2>F_xeUfm8oDRfOu6BH0o=G74LQJ5*7< zDjHOTB9AKin=0zXqRUZKYx5`RoM}9FQw$RYx3$9JO1~QbeMR$6Ia{1b{+Vm?kM?3{ zcLgKVXbv;=xBVHo-iIs%k0nH^srk_j0Q|cPG9JHlEsl`lzSt2}+YuSRFVlM-u5>^a zPwzOlzbwCaQQ<-~S2?`8qvFToEPllL>#Xh>!Bn`U-oGH(cq)f3V#wbhjT~r>c_MjE z5xcnIW9Q>^d@q!j_%`x@{Jses9Zb(5k;}i0)BI)JJ#{==$92SeQA3H**07xe(Rp$dSDF=Bv=67;?+oU`WwbWM6gaVryRor2@NG>gkpU9e5C7Q|-|r&QC8PL%}0KqwvNk zc8m6$4Y?tP`^35v<~s04GNT*8;x8)aL2r`@7wu>y+CVWep@L%D<+pj;6&Q{I2fU;T zp69VhEV&(6T~&^cMu=H%gjm5!oMYCPq`(HrprbJsQ&pc4!BE`2Fewl$CQV){n^^s| zZcxr>q<(`4l9Y&!heA3;0`qZBFEaVozp#3V{~>^Le#UX&P~iTzr;q`S%O?+b-}K=D z&Qk({GhR`^b-viHCT9*WeAyx**9yZ-t!7j60@|l~Tfz3oyg)Spwav9zf z#iIC%`BvwXEhX9N_-ZcH_Z!RM0_Q62@3Oa8^1)7lF5}*dtgGWQgR`(fRDH8gbV-G$ ztPZnsrt(qQu-cBjb~6)D>Dh}Yct%v0!nZ~yluJ~ zKU2Qy@lR*Pxt15G>b4xn$bRH*IMhkpI_wfp80EANgy_ zB!TY%Rr)uS8ZH!B{Iyi_CSj`lC;4mZaROi4`0FqJL-JQX`Ku@af4LI!*G+eY@s}%{ zzlsv@*T;8*zcRs~7JqFhj^?lbB5+l5n_9qe;xNI!_Y9N2n$8#e_f+L2C^s5W6raDk zPW$)x>kW)h&;KlF#_E3Odr_za7#Ac;H7d7I%g;*oUhS${klfC5smnh%+0@9-hN!|( zAj5YIwqA&|#r78Vjb{Aff`WEOQ-9=7dHPblfK3pounC%d2d**WMR&T279r}NxBmOHF_rTB~N z>jB4ETdqS>&BmTAZgR!`Beok>$0CaL70UxIIgecEcgxxYgaSzU9W%ht@STUuYc?UZ>i%w{|nc@Qm%hGBS2QX^-sCd8m>&hOwWV~ zD}~?NZT%b!6FUJ|9v5G%fXG4LEs=v-76bK|E=Rx*o zg?bs?^@uYuVkuL34$xF7_eQdnH}}#aaz%efe0&TPG54?Dta&2`iXOONAA_;27Bh{^ z>L}bF&mn*Lx;VRKN4voRGiS1D zD8jw>EZbR(O0`kMR+IkS%VNl_G?X4;lRnIfMfz7a zB=VnrxK!59dBqUQe-Nj(7Rs^r|4xkoD>zz$yu(R?1Vx*`L=20SEhhHRhhTnXy63k_!B?W%B-RCZLW z%8jVBp&|wUe&M{|cG}U;%cC4>&V_|Wd4~f(xyu!q`wMfW-SMs>Gq@&9&iHqL&eL46 zbcP)tlNruh~Xd?cApN9cQ2a+mBy8OvlPY~_C-nAFGQ5$I)L2%ZV@1TR%yY_wzOclBM zY4ujjL0jAI|Ij8(h!M>buD&SW41$EAUfzju-z(U+>u*f)~LHsO{-zcWrekF>GoN zcYTg1IsZJK8(84K-)K=;e#r;rUU)%KPP^A`y4a!|q^7Cpq#EGKZ$?S2qf}#m9t=fi zvnuMWiacifbttYSG|8k11R3yYbetSR+TbasNHR$)e-(Y-w)xk^w#wL6IVq&#H@kaB zno*D*96+2(-CI^E+I3;yyYLpQM?fBIE-b-fT$HE$2gXw3RgUFQXU#D-RH~&bi!J10 z1^#3hF!SK^zzpi5lvd1NZ?txCU^TIxqaPDP#<#%G>XG}=1N>j&vPOIXH*(QS7xbg% z3t~~x$!2f`{{ox81+r4Y2qa*HjQWDQEkmPT7jXFQL9WQJ|E30v&BTQKTCfB%=w*{d z{S$I|kWB)2W@0OM0zvU48>eENazsJ!mQIxqn1QQqc5htRo8{@~3X~>?+}s!%otflr z*A1vx>%}owSP4TJMt5ldtj+DL-HUt z_7tOf4#7c^5;YLGt#JrzHUo$0$ta_JtBB4p`dO;hag6NAY_;+osk2 z`=Q|Xr=C^pgHrOlV}`}=U_D@w9a#Ln?=F}NEy9jjwVxP+Ia#@E zXA$O4ur97xuw;b7?@jjn04fAWf-SA61G9GmYnG~^~VQY#diOL5tMoJOil$HNjR-#5?44*%i+J^5u;-A{Lou&T+XvQY`jOWn?S2!k z-gd^trz-l-K~!zV4-3}e$mbSsH{Ci$V-$3Sz4mlf0ADjlXgJbPb}Y-vszK|kr&I7b zjk|Bu$_x#ipbo4lVz+LUR>s`(4n?BiA^aaaPN?;-T+*jVrV;&rEU0j)Ay=(?h61--oW*9Y zS`Z;$gu_WkiE#K9!om2W0FpuI^3aV@ba{FR=yLf}5p-#|x;45i{}gn&2Q3n}9f=m#qVt*(W6PH*_Fjr|kj+mFn zk-5`3FZYtaLDF;zUmkOV1jd^f38exNUHQ8k4@iaKVBQJ9 z!Re1H9584LIC$y8csRKCW8h%MX^C)PyyQv%eULf2ER8YpLBStp9}MFUGNdaGV_4wJ z{*Lp*;th%(7r++^Yx;MP_(q;@@D=h1{r(Q#ld!Oba6z>2N0Qeu4R3G+V86qggeL^T z<9Jz$nxAUde!(DMDSes3l6D{b&sp)Xbp1A9Y3$HgEXnjTmYfrVBoUXv-LbquOey^Q z%jS>V@b#TbJ0?z)KoscB^}P;vABT%WdwuWirTwB{UixgDP=Mm97W#l=U2l;^PxKT2 z@w`*bRVHsbT0(DNJhl24+%;lvE}b0IyYW5e&Ktpp3a&Z5p*xxU9!$h zB4~Q8UO!d*lczVgXeX1yL^V>IEPTcw686LF6xau@D#tUk*lskAi1%?(uDihT;;9ID zl^o2hsWV_?I%~L#aTllr0M43|_zOGH;zegH#AnVs7zDxYXap$srxyEf!JK#_`!)P* zht*uHjQ5GZQi84Tz@ugAGbXi2nmO6l(@P7{C81l5s2nkN>|r+=W6358P^28hC)~r< z%ikq}KI~!hdCycO_OP^2>pkrA1Bpi@ndGO~!%7wGVc827&xQOGSgwklV|J@9WZ-K7 zoHmcv@sS9&H?+`j`zmV>o;ZAnQEVTv|2FC_VMVc5V2s2KvltMuRxX9W@P`;CrpIZd z=s_;yHyEVU!62oMIY@O41kPF`YnF-Qv%|*Q!5;5E=_}EAjX(ZRIOef=tXAlNPM(VS z`yVg5^$WMivGl+A5W5^<5f{Di<(qXPgQg)iyB!3 z701Q#&$~iNq#{neahxjq=12|X9^F!B82JgW3aUY!9(VH8~a`5YAiVH2>At{UD4H$pj zA0pPqerzq_dE>6UI6Qa)I5A0F>8xYgjVg1C~|~(*6(e zL~BGv`#(f~5R#V2~;E)uI; zH!mVzzD$<+?X3D)mLpdYVi@v6J%KM6SDG=O-Ef-u$K%|}YFs?&T*7mju7ZQkCCr7& ztXlUx%?D9MMFrM-I)B9!_~#$s zj{j`r2l$zJRi~-8)rgI*VyL^z#6yQuUG>sH=QvB#K&>Pb4hK#yWVcRWd9c3b|D9zG+U!*N|M6P4MStfViT+aApB;^L`~Yhg z1PYt`<*PT)y-fX~ko5x&k7_i4MvWX*bh#?Jm_->V!blUCw2ceTXpK4N#yxqURtUwP zZ-7~t>S5z%4<=-u;`P*mdha72lgM^H|p^CSk5A)f)q_BmkHx_cv775WRE4>qfot7oPM zP>c#{MKEfXFzQzm6r*;5(>{h#*Yc%e)GRQnA>Lm^jm9u)reahiE?HF$2wG=UMjHhj zOH+hf{+R|Uo;N`8N;=Aq>#O3|nraoh=uPv#a6^^WFw$*yIei@@RyWoTIL4_4=b%CA zFU{GlafUcMjA8k$u!pD?!Cw;a2>GKTU-JeS*o;k5zHP_{ru|7{K!AS=x5$}@({quy z@)*Uj#`D8s1`_&jQ&oxkSMlc^Xi<+rCbx_HSt|Uux8Z2K^jrw~dwMe7Zgy7{t9)I* z1+XuN9L7c5T>0-5HQBeVWs}54spNU?fFt*%890^I32h+GFwno}hx6MR*L;q1P^Rhe zi+wZN)!}|Ef<$9v77Kq&d;kT2rr+Gy{c~df@@0qPU+#91LJ|ah0{`*|A-ysEOF^0JMX~oV z=3b~!CahHol-t42C_^bx_C$$=veMWsz=LlCWiyX~;^h~waob$XoWDzl#^8_3 zD`?}Cj821H=gB(3H#tdQ!GBKfA^brcLvci2*cyHQ#X=mifv2 zMz4VU9Lt=W&3NpF{i&vZ0Fl|*t^!w4#ceqFknf+mKB?B2)*VQZVL#bhhHV*S!PJ?? zcT0FvB6b3_KW)HOFT5LZYI0I7=SZfJW7VD(R+~t;(Ec58v`-SroZ1nR`IVzZw*J^b ziuO8C^n@y!*Au*Ox?c%tor2;Z?&c&9L|+M$^<5Cvtwj zs)6Bd`yGdwKkQ|Der2*nOlB27O2smrEv8h`vfD`#ge6OYuoQ2x^HrS<40&&~z?MiX z2yuLz>dB&f-``n2@8a!i=Myu(GXDa#6MFzpUGIv()A?QFEoRrQ0-{DA6$erG_&`&KZqRguqaSBEXTIw#ETU`_gJqP&IsQF_nWJ#!qlG z%UPT>FUpmRy8m@}RKanGK?k7g+Y68M0NaTDpucd=r0xLU=~LimVmRo-eNh}XxxN9= zk42>zHn}%927262-6r^XKq7Yj*%5-m0vVN;f|`gBe1OAagy2|cbt$t?0g)3#2u`at zv)Xu~V+5}}kJ`6#mGDT;$k05r*~>db#R#5C3P2U>U|jrDvjhn8j4LNC3YlREGuqT2 zJ+vS6^}^fN<|x52?Su%=w_vs2-%lv8IUN)T+@UDYPf_5x1@Rcrcnc(0t!n+&G6kgS ze?byv{EMn6sEW=<+gM+hqA-S3-wuf(Rd9A(DXsLEofwY2{;8Awrlpuubf$L2S4ZUl zP%EQpOUACw+Xr4Pg!Lj?!)X7*uPwC*Hse_%u4TY2HgY~?4pdfL@vmb(l#?1|`~r)k z^#u)%@W1<#kcM<>HeXn`to2QrpD2&GAG2sN5N zI?!UQxD03)dHvi$=KTWyN3V$hhzZ-jnj z2U=poYU&a?tU(ME5EPBZYdG0#X;)ZySxa`fR{UmfZ)fB0M2w|qWf>#SRaygNtx~im zbOi%;sR1Sc3`(gr%ot;74Y^utK$oVXb=g0_h-dVH)^NdiVnb_LAW7^-&zOB;e1rw} z$7MXNO)LI8XyXUNFymj8e1z>lV($F#{swwFd1PtHpM~I~u)Y@KcG19n_-U@(OyG{N z9VBqao*g;25ex9|1FXeB%%tFlaP|v(q>q z?sf_KNL7OQ2oOWLn(}{>Is8&P%;6oqMHmcFMR&94V-(fKLn+}m`VCHiRvajUNk`$2 z_chu4Wu?{!Cd&v$J~tm`@ zbywkh*6oUW@W}*BjEgWY;AX}7L|+*&ar7u+BH74+8yyB_O-Q_4y;3YBY*xB5I%4cZ zBYu*Z+v7rK4ncjUc^G4q^=rIhW3Z)S!L#C5|Z%joxQb4y62Kg4Yu zuuy@`C4uf1ZGSPuJ)#v%9=i3V0s*5Jsf9$Jsq^%(77{2}Cg6{)1mL%12*BqH zI&0R*`{mj%roO9n`N0-2x9`u#y9*)@AvpHQ1JOUTm;h-1UGOxa*+_cRfro+e;qdd|-8`BT6y<##G}z;Gh>8 z4t|fmb1LGh>5fL~+-lGQ)=KSCA4#|L3uL^*LKz}-CuNrd8Z?Z5%Q1$p0n=~YE00q9 zUpxzB<+-6#S?)c-?Z@-+cow+I1+L!&E|deV-vll^1Fo;#zN@ll0tQe8ED`(^BStsp zp_?y`R`Z96#(+O&8FTy36Z|oMnLG>r7`=yI(hu{O$s6>;xIKABKe#gJYfqOF-&gLy zN!^nX#F>KUF?l~=1SMn%cVKvPClmvzEp)}>zON0insvc&aIv1-_nq5!umn8!<1a)Y z*^CSviOIx#r;zCO15^)c;g;|z$!`Dk>13VI8MVg4FR4~bRjX!JE5*3QxXOq$km|+0 zw@Z8>GcewB4EbkYZ*Q90k8p?un9yU>L&bbzfp1@ExEp6@ah5^!$Vu6AA=LLt8m~>p zak|sFlzBzcy4#PBi=oIsYO0yJ#f|%LeLuN%z2vD|ca%5w8{2kjqR8d>v5yXJIzq1y9z)ZElHc2$bj z%F~WLq-;AO!r`pe=jrCsRJ9{Z=@Ft8srWPrTd!3J+19cd@xG8^$D#%$auGy|bBP>I z1C?B&eQpO5%=w38PtJRoUIaX~u^uYYvo`}%kQ`V*XuR}Ka8VZLquoGSr31#If<|v; zbqDU)K^T`YWgE~f9pPuDi(%*Z<-!9rs`m=0Q8|r0a1x7d*+U($gXSR0P{sghaU(J( zvyw}G^Mjn}p_?mv&qPygSNr05$IDg9y|%P}8ziF#172kL<`fFhQSW z7_gGt!RQkgak^0PKMkC*I8^&9oQ=F)_%~zQ5oFJe-Yc0)s#d9Kdm6I5V_b_0B|kD^ zrX<4?{t5PG#V01q!oC3k)6y6nlPqYS~XATaA{MKH9IGcT_{JFZPsJ+|QX9c5*ZwGjyaI!qhVw5NCg##K4ZdCzt|D4ftZWdD#|r*6$nloGAJJ#<#G0m3 ziyD9UfD_O(j;SwKiW$`gOi*gw%A&r}ce3cXeQ_7Rl|?|EW6UdAOoZ4C0W-$iH-phY z7_8x9xYJm8UW&D7Q}()gHiw8q**XM~*hpjF>%|-D!-&o-apsJrb>E{MaXkkE5Jb5~CIzXnB*B{9wvdJ;!E} z*b6Zd@}Hv9^6X{uTU}!$e0+kw`htF0CNT^+?ztbQhTn&gm1#@md*m-s^F;P_Q;93? zeEbi|;^f;2l>mHOZu9{=hsxU_4k04Vndc72y|Jo5F=W|q!YefK%2v1f{u37GVPbQ!NXMkPSIG1RJlMR)h6{h$}K~kQ>TWYJJr|qEYUC7wv#NRclH~ zcFKBnJWZ57IiaS;c#a-`hC&a3BkUzGAg)LTNS#!@5gT;^X^P9~kxqo%phtygP2_Odml zBREa*SGLVxU?^=BE$0*1L6jJaL^RhO=;pj*H6W$^6Xxb>9`BLTnt!m=|1~p z*BqvNXKcC?EzLknxC!DlJx2Tf25FmE@Xt1{Q9oLy^rO^NOF!Bs zL#fU-~QG*!1tELuY*y<{~Qq(dc4ll$}qLWL}F*8J2Fpy2|c z&|v(w?hnFq)crvy!TmuE{2H#ZsskM=;pjMU1XbEzp)(}@4y{dBt@R4!;AIl>ojKp? z6*^MOCx_SJy0TXY*909vQ^TdHUbL%3juK(~=uBTmRD{Q5uY;En!Qi?NR}ify$Knd2 zf%uu~O~w^O(msBf*AU?m*AP8{@6=FJD)VG~(qymDSoAOV8}*93-{=4uA1aOa;{8Sk zQgOdgFWzr-KpIv9N5kpTaMZwSiQk9|j_?~79Q_rxb{s0jHni%1dfip-F`^9}uP3P2 zU6C}b0cdb8Z8)YeoMQ3sKtj{F1Lm&!uP%K|E0-Hy=Hcb=T*)JR&fC9kJ)Gqp_bO>2HZaei+jDN3&mzBZYtsqQ5an& zc{ea;&Cgt5)CLhav*eB9e_3BXA%D6sJ4LI|3mMh2CmX;@@4{uScQp{C`7xWfXWzbbeix=?)x?n!vqu)e*H{h8ST!5a4>1_Xf0 zkz{@*3qD@13g!|JP9rMW3+1oc0UNLK3oMLtu^SKPTC6Z;%QPcCh^wraZ!>>=_(w$8 zbe*)moY_I|Udpxs%=Bn{>5G-hjKzyMq-yPtc|>oTbx?%zYU#~+)Q}Cg)O-gx;iV72 zNuvOwn*d;xv&KN&rmO7#6g>#;YzYG;nkEq3Lhp+}?+161-sbtT+I<2^W6S21+497G zvGw?P4`W*Cxq{zW@(fPHc~HXU8hGB+JbpH6}L1^;y2zJ0*0xlSp*F$QiU{2zxN zA@XKw41q;0iTXUGq4*W@MMgv&$n?#ikG{{y|sN@rj>& zo1n`d|A>m~_6U$qpd!}KDUnqlv#Un-`7*2Ct*TzbK9AKEyD7xp_^$+g-olC(sER{a zF?hLxQdd09t{BI2J(X?JH0r zym3NNaSFyP9ar>oRjtD4543mQu|zffT<@@PzYzZ8kJb;ZUv#g$4OP=ChngK!t=eVj zud2~us?l?-ssOGUd;=&DJ>;zE9X32E=*R+fKIREp9lcI&HPl`x800dD_+6_tGy<1W zHxye#IFRY-n70n`{|NdRm1}ruIO4T~vP)L&Nc+`L#(95^P3!KJeb8PvYFHCZ{3_$m0h6!C5eKGi9m^|SawgSk2s$paS@5zETT&4*G!+-+>EB`eL z65v2w?|ZpjCy09 z@a~9pWdz&_GHBoecYq<#2;)T(G?aJO^F#22-%&h)<5Q!B|C7D_Fm``W6Lt8p*!%(e z%{pVQOaW(&K`1#5BJU?twx@JsLL?k8m}x#&H`+LkKJnTSMMD zR6WfYiG0fxvd}8&uQ^qIVmSPnX?*=S+&a)7Fg4Gyr>61V!HH#RTC!n1-`lDL-ou9yYO!%3%j5W4!f@`t!Ua!U5)x zKoFRKg2#$aOTp)hfKL*70sjJ@W2kDeJ?RbT4 z5#@6-)8eQ%-7t&W28nbFT#L^gr)!Ou+iN(at#oo40KuDJK|<%8reDR?Htix{LmneB z??%J+-K)(l*pA^HzQB|L8Le?oB?Uf7NC9aweB90L^th$L@Nr+xaVz{YUN(G;K)q~? zz+XTFjCcvCFb(=2#%eMe>5%L_S}=qv7uVwnVVZbahjAt2|Dq(^jDp41%Y5HLtZv*` zLMEVxA{)v>@R_2H3@wv1!Yn{PhSP*qnoO78K_tEh4s(LeSV|H8idh==B2KI6`b0Cc zb)xAqHeIf4L&ozkrW)5WiyS5yCZSk1(X!<@DL4ELc+1{EqFpk9N?j>1jhm}Kl&PZl zvqhX$#&{+g!Plr7$5T=g4S}NHLYscrD0{N!(%QyCjuQ|_#4k6DfNv&_A>+`s@g)qS zpx@G23L22y@||FQmeUOc{~OY|7<0Mf1xUFTNM#zNd=9cmTYf2b*a*0flN?=vEFSHD zGv*v@1upiJ8_bOc&XRuwMboIw@ExJxtDAX9_{t;{>UY9-Khu;XqT8Y1TW`acLz0=q zFb^2h7Oaw9Wg!%DRXIMVDYl(?$b1zR#}1Xy-1m!>u16@31;|_Ne6vT0r&E-Lu15%} zA(CLFx~}XI>Z;doq{8aWz+%K<;8F*K()zHu2T60lrO@|2!;WX~q=+5Qs1K~@E>PGE zNIgG*ebPz6*0wgrjlZ>mq~OjtZa~G~?*mp%|9=}lDV4_ncroVn2=NwFu@CkLA@k4v z6mP!s)gBUNP4it3$x|TayB<2h2gFDiil*(;D8l{U0Y~Piz|oe83P*Yi+k0C)91U3l z9Hkho;%HoRYdG2wg(HQZr`v>|gsc;8fJ_BCx_bLUc6Puzf8sXH6do8YG*e)9X94PC z|0VnHrt>5A{3m}A5AM_bfVWjD{jK5Wmngm< zZup<#j}O{}AIj~+k}sp%C||Hu>A|bAUCtBW2Bmx5NV3s|`1g-7f$l4f5Hg?HfuLbR z=7&3hsK&2bMO4bZ)({nnM3lnMZ~qJUXruIe|DCwbEY>aEK4n*6Ba`)i2_^Vaom%4==&k&ebpK= z!M}T2!6x=EZ93m}0rt;YenV@b&lP$CR&q)bJVB;2@C3?2d1Tziv`@r?K6w>j)E@M^ zXv)Vf2W}JD4Z=Pmob*o>K_sLS^-y`r*l9W2Hwt$P{&TTf>iS2h{^BmvR$b#O zyB>Yx5U88Bf_O_xBE-e^rg+5rt_HJU)fcT1&gk%KD|8E9ZO#J4|Nj6Y;?c*Vis&B+ z*AJ&R6L{-^|EJgcbX19e0FpH^jd|nMayuQ6vJT&ia1rOlgW)l-iUPk|`@Y6W~|3>16{0s*sG%@UP zsEHxPQRoyFIBR$W(d~S*16_pB#**F6w>pG+$@z5nH{Dlu5Iv)#_XgA{zH(b}!8T9V zIv5dY7TPpj}ZpF|r-W7y7CU_7+_ z#ku%S8$N8U7?+A?9uL+D; zm0PrJkZ=nbJSDCMO!`&a7>{<8 zMb@%v^z6eW6v^H{2Ij%dqaQW7IZRlX3*y!oQbB5L{_)U+y8Fl0ASjIkf#Sdaefm_d zh@sC*!h;Fu^T1C6U90qY@rTx+i%%cMf9+H8U!|6iTeFbyzL!!8<)*%b#j)l;A*d-!caV`nI zh!UqVx?@^#g0XR<0A(vrkd|p(!|X4GkH6bv3@<(g#bM#aS00D(;%gs-r$75B2uX?X z?)wjf7k{{oUVedvU`)FOL+~|(mJmhgIM(Q7blA}vu`K%!TGgXLW&8(5GtnY=j&*38VDQ$K0smH|E_BYM*|j zN$nHsK<)3gs+f+2=vT&Oc;_mD*CZx*_wQRHc+UjOpprjf_LGS9L6!ztB*dag<9$SU zK1vbVlFS6_>p9DELnAoAEMvejVjKo;S?44Qmc`FMt&p9`@13vzoJ^k1VoiJqsf(b? zUEvq%+5#CS82VDhkJgG3+q~ zEwCeJ4De;1OxGgpADN#XHGo%fRH-2OjY3()_}H)2)O&G#7+pTlWU)g`#rgMkIQfF} z@9^niCFA{Po#@EGGgC+SFUHvyB<%Bzld~_XQSlJz*~GYYTIX4TT1T#N-y;h5;7fh{ zPj?UFJV8^7e@se5IVD5V0{;xJ2Po(^j=;I^yVmgkK&$-M(Z)ZZxA(`E{-yL2s-^U? z^sMaT4vhSf`ekv|zV;OZS?1{$TuiLOfm@M*e|y85r|){s!q2|Ag_VKnWY|t~aJf~F zPzRUKy5ZT=*SPm0iX2lxGrmL+GhpV%R`xX#9c#S%4nLya7gui(Hf5E7W ztEz!V<7Li~DhZ^C!$QWSZ{kB2EKD$QwGyx9?^7VW)&X-!Ef?iN>B8ZcpyzfTEbWrp z0)~n6k?_J%iqfj#_x=x{<^5$V;gZIAGPmDxHeQs-%{3WA@d$8_lm><(meTDXOK^Ki z-3wS(-S0UMwM%>*T>gyqctvEPhdtlDErQ!cekxV+LD{I{z%EWAW8&BG5x`X>Czz24 z3kv@G?D+%HDq@#27Dy;!>p+M2PXagZ;PDOIlYTVRmR<gP}alB=E4x32YD3e z3LMlmb4aA~5P#3gjN(8kIyr#p%-^1Fq4Qwh!y~3M{+0I6Y6r7cC<{OPdh<1G zl<1 zUyR#(Vz7aXDVYeogW$yaBg+<^s)j#!z~bLJ_>AQ=rK5Ng`Iq-LWt@dah_KIJVO_FQ zz_BH#L7uV3p`dE``D|jE-2W#n0Q+f9X@UBYBT2Pz$=_8A%*%7kU*<~-Snm;mQZ+nX z2GPSPu7Zz!G)qJ9s{ME%Xt9POSuhBhjx+CPvJhf;y_f zJK5l(HSFq=)$YJ^QoE$!#BA@~#lGz9(4Cq#{L_Z<-OPj%k>gujc=+S{8Fke743(jx zP2;2ds2HkcXC~sF5G6dZl(`~H%Vho+Of2(uS?LCY8Kp?uiFsA8W|hs|#zUWnb8_g} zF!-hYF}nS9mp|E6(AkT7Rb2?97yD?z_+%W=_QRxEFg_jUysGLET(&yXKw5sT7wLNX z;%``o10y^9V_1h#k4ipnvF8V1l)hE?BF=}8$K}d@!F%jRGF=6wh&EI4ishdqeJM5-lVlEP?;x=78<&yvtiZK82qlo#Li?K-^@1pbz6Kr7^>G@eW34#uD zy%78l*7#30XU1S2OK`gUj9;FNeN5GwWK6W&JxE9>Z5nTXs+$YF=?=`u&J^xmFWkK* z0>je&DBXUR+5Ti|h&q34J#v=%fgWUOXQnu1g4u0+b+PoDg??ZA)$G?+ER9j-2yAsH zbRWl(D`R<7#`3V}?-l<}|5w`m=f~@R^}oUqN)8YuZ)dtVdcs9$XFElfazqp(S={A3CuPXYSe=l^6X_%gQA3xCG~81_%1z zJ8A}2aGc+(qSX!;&cmnHNOx`(BOi=x4oC6A$|jA8;7#Bv4l&;f&#dKOoi(_l4U0&2 zb`Y11M4n_8{y0sKKhqrlX&gTcDqxE;jFkS2jYeL3nekY#ji+~8y%(CjhnBPJ9KlY# zVCQvkqO?Cgn*YYLeOMOQuvj+P4Nre{Cx<}fxpuE_e`50gqc+d| zReF6gmjBD6;e#8m-ZR>SuOQ>cb+8a)7DJNE0lf3lL-4jKsOKGlad1}1Aso(--3&Pp z#YO1zvxSOWYfwHx1?97#<6aqz}~-N3*`%6VkA&R{S&VEA_cZEUm!tU#$i$`o1HLHdu{@Jw))oB_A#$ z_(f_bgg$Z37X&T>fraN(ZU*g{So)S=k8?hkJ=<#vt7jT@%n1~^?F`*Tcp={5zdRKG zwFdw0`0)Q^BD5{=x7Pka)qYYWe#aeF`+{H7zmRTn!Yoqqe3`;HFP^S#CrX%8Qwcbd zUb{ls_v(hIJwsoL-#}Vlorv)=^QwI<#@~K4NnniJYKmRh{$vVe z39_rn48pc#gK+qd;i#|>xYA*yhH~m!w4Wv+3=71a$d+wB{im?h`w{h{`E$R*pCb}~ zsa8X6p^xBi97hRrxh4NaJ|p@*NW>?Q8aSaEJGpBuR5#eY4hrw6M^p%3+~-yClT-u^0{A8UFG)8Y>y3txjxc!DGJv=HLs zOfY`R)IgF)TL<~w^066?POTHATcfa77h@?C8~yw8QO4Ic{@FF!qVMAGEqwGd`)`Fm z&(*ZG*8iIbfQuw4rOY^l0+6p5iwZ!R)v=8Nr2yQ&DFzQp0f4J2OaWLda%Z8nf(iUZ zdVJRYLF5BALu%U)wrcG*o>j95`kJgi#=M}33K@~nIbs}IKBzrILizCf^rM2YLKmXv zM+toX*5;R~U&0HUNd18SjcIJvp5w*u zVzFlw#t!Uo^pC^mFXq!0JGJ7kevyMRo_#-@kZs~G=i((0pfU25UPZ|daD9|)P4jj( z!|-ZDDjqov@>GKFB4p`fFF=-FJTSs2`TX*Dvhyg44(_qPeZ6^A1~#=9f?FO2Gc z!@K_mecy;j-#SfSXSK@iuGD@S)?r*rHtz>!xLjYXn{sd=HADk@2k$8eEKUs_NBfU? zb|F;)xFi=ys*aVzK~^|kwUHZ3Ywh2_4&$>GJLpihhaQc`4o^=7J1lw)Hfp2rYZL#* z#tkMb3^Z9m@9$4DdEvxpUJ&}95iP&Z;Hsj`KGyzTF1#|HV>*4AUPi-LR?iojJ%?T( z2P$!0CriaE(Hs}~Tl$}%`_DJ^^9x2hyUmyTVL1?-W{fa2Oh2!s#hIRzEvL`q7#5#g z7*;-H_zC8)aKIDst##`aQZhpiaA+>k!I#O4vb!rV3$70wKId7Lo}Tp3S@_$lqPOf1P0tE!e@COZulE>wRZPdnm*V*7 zrw&JlF+Vz}Y^o0qm*gC1)Rx^4TL->Kh~LBa!Z zRA5fB#t^OFz5I^Gqiv6Evwqh$`c1glqTkb>Tc{{B`;AXOHUGlS2b(q!XU(H}{&^Ot zxktgP{Gfigg5*#nZPFgt19<@w9yc04@HXIpM}arPplx%!1~IwdS0{?p9XYd^M*g>NypJI%Mx& zw0-k%*0<|nfD5 zgF!KB|4mQ2))Cd-`&#GZ%{Y~{aawIf7ifn4Z(Ph%T0gDk^Xu|FWOW7i;R8miU)yIp zwf3=eKs{0rNotS?RQe}`$M zJia8me0BY|UVr22U+?JoAEAE{pfv9pwKz}2V{Hn5X+vrRe+}q2?G||+(ooTjzmn9i zMxvw(P=Yy)Z~ihq>;S(?sdI6C7^Qsr3Dic)d+BI2OdyY|8b)W~cGa71kR z$`x?cyY_wzV2fORHoN+?xQ^N4+WV0!Wxs1nv#a1UtlzTK;`}E(*Km_Ndi;s-_fhco zQShJhYdmFR(D{V_c@zGRP57038s88hpX7d>Fz^SP;H&frn*K~c8Z&=hvEX0K;lR0} z;O7mENY-HZV1uN7@;|E1}ceEs$# z6G~%V8`}S!`pdrSq+{wYH&`9pON=tW?0z#G&$7<6S%3MR<9itHQLSISx79>U^!O(J zj`79pzed^nFQ_=meuk8szTL)iH_BL`9vCC6vD}G(LSyqkG=g~9O?v2Qa$&CQ|GY2B zb|*Zn!&35Pef)j)vp#SuYxF$-VIuSlHAfe%ezwJab~yTzzrsY2w*N#9$$0jSa6W3A z{$$P{OMfaMeWLx}FU^vksVP1EPZJLjtK`XM-{Grd=n+y%)JX3$LZ~M!>S+DZ?BBAl zj)>R)1m^WnTl0ZY{Tr{;X{c4tp=X3Up#REt_)z?DIQZXSjY8pn=@t_eYJC`Nj^saN z9}3}=j>3Ybe^md^zJB=hKP>pqkL-Wx<|z38!~I_$h5vq0{XZ*-l}tl%+xY)_y*9hF zB>?$dxgui^R!)6#IyYf<$`(uw1l+=6Tn>lzbnL!1;=-{K-v$IF6ytaR<=FdfTxI18 za{txOBlvP**38@#fhybjE)lk2*C2c+xsyy7?6p9Gxg_#Zu0as}lkvx7_A<2+!D!x#)v^1<0Hn_HvImc{aKS5kNE#1ha&hh>LkBW1g`$0_V><} zk@#7P{LspjqvwCbc-n>^Q~sHIE8K$=NB-uGl%B=^YjtYWtWT zi@JEq#`^2;M*yg>KE~|TUhb6rQOWs8`(wpu-M{7EyNdlE!mGCmE2my|hs7C!Xid{_ ze&v;Ld1ud+Pz`5=it0I3{L$nn-Q0^b`}Lke(>n;pAR-n8=iU@Ky{n zGCqwIs(#PJn$gD`p^DE_u>cYAfo-FIw*@x+?bhp-ADaHZS3gu8Q-A&2yCzuC`r)bO zIBbq+v;OLi#=o2R&lUW`G>#CK?hK}%-39x&-47u{v2RNV&IOq6VG{e~HVZ9IYjnnw zFPmujZ}Ndc`d>u-_*0nrad`G|eath;KZ3;O*oR8uqSO$sYQS;#6z2-KO2q!ej8I$c!;^*5Le?-oNvB3$Dj)=ee3BWAND=7cRj~ z#sQUiukeJ+sj$5KeKAAr)8?R{YWVW?4Dipu{B45cS+2%QyBu$Hbp3^R#N1EE{URXw zYqz6jpnv;2keheLqjKC~%>5>Qno|^hGC77oTK*>rKN0aulScwQr=X_s!#WE+x4&ef zCsQw>62IiE$-HE#T<#(JsgqZr1SaiS}5Chk;U z3;iN2a(9D-I7UY9mSWECZv@Po1m&U(zbTX8H9ZN;c9Dv|C3HGp`VaRdTyU>~j7<8c_hPHJv3UgAGp@K2b!qE_?D=QV0<*&XEh z2I5Ii3Win_OF@{+!|nejemaA`J@+&u!SEJ_rSAo?Uq>S~?00y5-r*PvL1$O7qS}$Kp&)ZhZMxwHCHLJ4h39g zxR#S8z2slmtX-wh4{$&u9xv4j0C!pP@&Bs)Ht~0Xg*MzLO^2uA;#}rO$9>Y&1tmW^ zZj*+t1T0zk(Rrt|yhToA-YG55F>}w}k=VS!r^NjG#pzAT*Wca#6rO_fJ1-f$kl)PL@-dRTbA=Hau&FY^VRX0(+XUf)LHZD z<6q;g>z7*f;nv2f5}qYK)A_0k^~Yx-oYL>Yor~kMys(M6a`2Snh4;mk3;A0xK9}Ri zy;=q1^R4r>R(}G&XlfB0g8#t+(E;nZ(GsaAOIUYeq8|iZE zb9sEMDEdx$A_6t{n26DTrT;w5JZKT8l2`KNkWnRmRVE^-T9wWy3z%wtDw8P<`Nx+(cQ|D;X8 zz@|9^U4fp(#r`ul75hD#uwNX#DIF&XjSD)$dVr%OkJN+LVCZs5tO4!!O^p2Db=RAW zjd+Y%`wAn5FZRbE9NFd`iQ{uFz5}5$_Dq#AI;*CkkSDhTXHIeZlMce9e-I9ZNe4Mj zXH_BJVyw8ja4UQb*<0QI8C#LNW9mV~dU;pUe3B*O1D;EK$GQDy9xUvJf8){w`bKpx6SV+~{U>w&^vD zvDVYyC_rx#e3sPA^bN(nIrw&TGag2PVY(pQum>&rCT&5bM_37U9BPCvf6^A#;RxA@ z)WHam&(DpHG4z}FSUCGB`kiyoqMtkP zWH$5SsT5>EWc(C5F4~bp`XFZ)vl#HI=_3968R7~~qnRvR#vc(k9S^ONjJX3O>yo;2 z*3Oul;jBqwGYH{BbvYP}=#}Y`EC^Z2%zLR9B&)0Vq$|Jb#n_F=3^_i{oGJlF^|tHV zG0(<+<3J}KpjMaXp#*L7{Z)7`_Uk6Ru4TL+yUFn2@?V|#4&r|%@HY<*CZ<5+X#hkm zzoF9K1$3^pz->FjEKnaxloTvbW~w?|DgPo-fZu`&{8nkv1i&RKPa8*+hg(B75WJOf;K?+fE^flaTq6_u?|AQ^8iG48!H6>>+f%MMCNFRz17KeM zT@pO*3Y?bq(e>?&>4I@wGl!6+_lY~HBt+HJVo*{Uy?*8HK+^f+eC~JlRSjSEN+Wpx zC?f@4bXY{k`Q7grw1*;*Ryu#c6O36y6&NlJMyXo=w$6s78HvI|=aIDb z_)Yc%o#*mgy$ytGD}eY@N3u<8K!gqbo8=g~v-*6@8)FC9fvLbTj zQokraW?J%NR98!Ws4Il4vopzwphcGaeIq+p{w~*Y<&Es^GTPFN48`)njEA=Dl$w#b`Ut{iqjElhpY?PMR$6#k%g;TVH>a$+fMPn6xQP+sul8j zi4+&*=Xs7Rs@~)2`Wi@uL(FSPN~jF))Pv4UyrX`L1kIIM1AZs#iOoGfe%ic=mMHmMhVP#jslf?SCboaXO`Z#ohYNRFO34Q8O zI;zCABe+!x>f{58pZwiJm!gRG1tSp$i7sr$TS>-h{ZWs@eDhY1(1|h*G@{FJR|yhq zaTtFMZvo$OzdmC z-?v$~Lcf8p4aZY(&o2x`st7(e4!W}!`Q%gyd~Xbo$M~ua;O^hLu=+f-gsy(3B;P)rmZ;f;i>vuH-=QYMvFp7@%uCT^44sUEbu5s{0sG}q3}dda-aGNLp~6lm zVNDkd%*kzA_<+-kd3L*A`j=~|oHbdx|3=k+dyJtNqCR5yx*a|IZUEsT`wTc!zvIT_ zhp6z|a4?qoBHo-F0nAA#*bHFwa0$xBNKjUVgMuuX4Q!P{eNTSk#iFAU7Y!AjlZqqy%{8}ZgSRiIwBsBddv@W#F)dE zH?G~^Rbu&Z7~3x6yLu07{6)!paC4#DN8DgxWr_(-X!%{U*^}*DF}t^KZ`HR)7b9nu z^YtG))$+P{epa;Soh-L=^x9C5G00N4c}(6q*x$`ZO43@i$vCZiH#FIY1^JO{hKWhz zYb2!+`4TOs>9<+`ey1;3&LkuR>pn#c>Ha zrz=zKXeETW6+Q$i7E0?0Q1NjRD}~*4n?n@5oU+ zBkf#@4JVTYFabRB7nzb7HkI>}F~4$5rZ$<~NZ~my>gH?tN;Sd;pg0sUo9;3;%bmtY z++Qy}1Nv!A{rusPA7fnd9W?7Aqf&j7c$te4&zREz8GYoOHcrat*d&j(UR_NDV5r+s z!|2Q}uvwWYGqX1F)QssfW~GJZU+!wDC(kZK)9kn0mM&^!Mzd^=m}t3RpYv`Xzl)jJ znuIS3p{v!d4&3pYG%C4&Szkk7(!rW4H%IeFy>z1MQ;RoN@Dd$n`e5!1i%V=ZVl|8d z+`dJ?QWgWt2mOgVZVnF#%bKqE6g(zliG~F&C*bvfR14$vSXjR2?H;Ydf(dmeQ4nxk zIunOh`rw4W3mJNKGLqqU>j)tIm37<7tfLX-;+`k*F#}N1Df(*@&eMn0ZV6cNL)i5( zzYPWH>8#p~RqejNyh-u{FV*#Re&C-x33}gs6q$E1zmsj_7h6yBwfu9lQ~>R_a>% zM7pCqL6_ZFamUR9;oGRF@H;QE_B)rw!|&GqsQMDC$~M*Slf?*3^djiovT3D|*3Nx5 z?O5?|-a&6EF#pUb+OS*Jq%S+NhnWghJXe#KtpAVm7K0if4xp2d~DhC$d3R z_Q@l$^hVflDN=LUE+nFzpO?7-s2?J~wJUJ5Ei>oTuC z><8vw#SHLa9uD@Cd-Y74JvfPmD1vZ6?rQ8Pjb_*0+wpm zUxq~rc?fB&GLFE+!2Sv99$Y1*u;##M!DXB?j8}{?O(a$btIW9fbakalJ~RV-t`dF9 z%28x~A8%qA7y05tC-c8;`M<9Ow`utD*@u88K$f`+-kCp`I^|3PUQU?tLOv0rm?wL> zXrg2CHV3Q7v;O}1XCjZLKdk_N0H9=rK=!;$*PyMgK_3+(KjYrdTnz^i6t>mX{(Z5D zGi9UO_qp6lLYGW?W#{Bk0vGKuxVVHG1(rta32?El+gI=M9pvxw65mF-D`-6ti-ixv zD=yf$U=G!#oN2WsHS2JpNx?_XDnyL8gl6#_qNg`6C{y#tU6A%)g=^Z0;|X9QD=ke) zSs4CZD28RnjjXi~jRg;51UVc_7RQo{B(_Lto^}I2@@L$LKcSA$$AJYnl92V0=^q7h zaboQ^e)(&xZ9iHr*4`1HkYRGM#J2n^ZdLplc77EMDK<(`p<{0&t_7bOb1}oNM2Y~S z4D?Q}8ouT+D7#)5VzH-!Nph|DvhmE!);x$W==YUEx&pyvh+`c+hsmhl$=ieNM+r=F zq>6DK*vQoVJV)Kyi}sJ2CYlub4?RP8;xzuLQa2cHg!;eE{K4Q1uvWU5GHt}bzQ4E? zq_pk+wF)!8L^N+}js^=$7$WV5osGMc;LV4{Ea3R`LJ931cnOTK_s%|~q#^I*8;v!s z3_1LG4E$5UDPYTZf=8Dr`aWT=f0%~qUKMWfxIEL?Dw_mY-evcM-wO$YwN+T6c2@z% zO=~HjaDCo>?H`*dVtEtqlGGqU*i&kOb-`Smcs2F60bb}N z!9@U-4V7XilXgX zR_KrfKWs9VkC3F=I6Q*4oS4X!W3?lNAx`7rs_V0)?oLczV%67Rd8)jl;h zp1ZwGb0e6f*JJX3#pQZ!%2Ie{umB|ZX=0x!*mPS5VFp2MF4MHS{1qV7CM*)uYFoA{ z{0$nJj?v=SE`WIEG{N6r@JH4smVz?LQ36Qm&&`YC4>)**Ok5e?Ew*kzjR4^b7)F-V zFD}@*prClrPIp1Wf=*aV=Qu(|#dO|NYv3V0I+f0cR~y&FHG&aA?0i@Ik%%yq3$*?H zn}^C^f5RUcEVKrE?D8EjE`Krs&W&>tjTyR=DSd7;XQF906%hvozu_0zHok zrPKb4%v!Kj%*+n23V^5gUGp5mBxzU5l{r5IS|jorI-+!BnzIx$qaQEE8D;bHmLokzA4l zkpS_6iWNAr2hEFGkrp%R_BS8|WR#FB*24RoP)Fc|tDaU{aQ!XTC!-nhBXJR7e6b)t z4uU+OVv<`=tZl*+W?|UhL%o;zb)7Z;1C9;LFGl`T9KC1F%)0-_+?&8hSzUd=2_z7K zIAMtd0Sy{7xF!mkh^Yw#oPmi1#To@P3dYnmLIzM!1Ct=*FdAFhTA^=UTUu?kiV(yl z0fYcnSyVu(qSgA0xK64hYZb3&<;=dDdLvfMvn&p7>dR#MpNYEX71$lv^C`bSd| zixwyniW5t48U#dVxd{!i%-Ii>h$d}{Dk#4VyJ{gKpm4HNi`gQEU+SK@;M>r^W7rNg zH?c458jZ%$L^cHcn|ToMxC|ow4ZP?DN3pSUI7Pb;V@F~(!2^n=i-E73=aSgq@}dwR5m0yzVyxrHti`Za&#M>J z|2HRF@~N8oR~`6)u+CbU1kDVPeLrp@+*ypXJ~_}PN%>nNT|`VnAX1+|UxIPOe#xWS zT9e>v=zwS6PEX5$i#&t2j0p_@x0u@70lgY>yF)`eQESAyW{+#$+tM`We2n2=HX_Y8 z+8r9u$sL-Qj9Y){Oo3)1P_cxoT1?N6%K)KqE8r7_0aMVr(#~y3EbsE;$b4I*R!W3N z;~lJ2e->D241up;?^9v814*{R;4h>CnS^x^7+B;DAQZ)+kNul0hoZ7DBk~eMLyn)f zfc>h;ZeM!?tBv1bOzPJlULEqrn0;py*WDbm0K$Z@^Gv`MOn(=TcrQoQf0x_(GdRnZ zuNu2@On}&!+3KoqLr2r+4ZH5ZK9u=h4VF2D@Zjh5Rgo_0YFA&L2NJoAGgA;0seyAC z1Dw_US_zoHK17c<4DUR+lHprY|-P0P8>9uKT{w*2RC6BLeKUFy7-IQ9wY!gyunM-j1&Q)JA5n- z23zs@5;Q(7jWH5k^XS6i4fgWl`V~*xCU+aw;L`vne(l@kX*qOJiT^(tV?#ra_ZR(L zYIGUz{GKxNToj@|o;v`AK+heJCBP;Ew}Gex&Qe`pL_0}v6(}5d-Wgb8>)&Sr$FuO; z!qF%=|NA!o9&GZ;U3;jG>NTpPe5>Ee)dG7=xG0o4_BQkg+C-mWifjy*&|#-=;9IB5 zB7Q5cEX{lqKkVvvo~Ks23RGQp{Z{g=Nlq;P)moJEUvS{PEFVl?fQP6UNEM@8{s!X= zIN2Z#D(`ggg3S_jWur)% zmvZXlDK_d!v;t|DH7c*=U>nd-3?I89p0Vpod#52cxa($!EB|X5Wg%~lbnGnlS&i)# zr>fT8WeyD7yuafI zUpH^SFwUh6J6`p=H}D~B5~NE2{-s|TEB1g#&_uC28H=l3zH$6f?GBEiqi9Znr*Nao zzg56EzAW&Tr{$xRvFlT4=7ietxBD@uT=k3=HZFK`Zy>zW_{$=W@Y6kkO^x9+%1c!p z#us=Jj?nvN&hZ8zv&Uq3h8%DY`ALm0{6c`NmQPbC?!ANF^n`}uDzP!FA8N^T)G3z+ zUf_Y7EQgqXZ3X6M_%zOff#zh%2AwT~0GuM3djkMBqqLDuqG3rH2-W>GK+c5-@WQKk zB?hlUqS}mVug#21Ut*ROeO62s;jQt^3l38J^9O)n^RTF{79(r@6|2tN{AMgMKr6`C z)fj!07~B$*!Hmx`qTPji?kd*OkvW5qH6uXS8ClSe(07Q6%c^nd`U@DTe?L`5>Oc61 z(q3B~0~!nsf<_sajGWrU2!|OUO-6?Lqwt$Wn6ccCp^S7iC`jL{W`92+kJGehe_7LJ>+m zY1uXKKQtEqMeH-aUy-mCn8bK56(<;w3G!rfq%XvkZr0k;JSCgXlX@D$h-X$5M-RkU zo@uGZ2Yjt%m4GJ#`K_(l3Kz4|xSVQzf-W0ux_)>Hu|@hZ1$J=Yw}YkUzT-ow0$L$3 zdrq{2sGc)!n-biPxlxMf*VIRo@G?i)shn>+}@WRcbx5-ph;`ae+K;$57aB!^Rwvx#Jx zxP9ll16N@@Uv?jdeNWgo8#(S_cNvkPE)N`&p#Vbdpm-;kgM_gYCZhjWU5dSyghIdM z_IPT25lb!7XU1SXcCGX2@N*iGrq+MM&j-4Gx!{u~*I0roTryq%7A+Yp&7yxvSyd zq?fkKVp2+TuZKQ`H2TZW;iP(LuDn&s-x|)jHC{~In2|B-bB3=Zk?{xfaQ=q;wpXA| zCzXgwWDK7VodkySYe-i&$3!_L!XwB5pFp>392REE`s*&-0ojBq3yf35Rapd-m>;x- zI#`myHu8-5ZmMh;I7*7kJ@Kf8m>L`DYlannK<*`t`t(fvC-!5k?9aV5ZeUQfWrrV# z9Uc1o?F>CWz-FR}aPJRtjRw(|28kGZnGf<{JywI|d6W|{bhc^!4rTgC4v{6ms(?AO zAw{u%YS@ZucxNN<#{Gw27QGP+QhlSmYIvFxt~LJC2<_Tl+!GTy(B(foEZ)Iy+nEbL5bXf-xz@B zCz0t2@Ix_OH6{_wsK-wh^TeHv`OWlmV}TM`IqVtb`e)A)*P_*~Z79ihhJjqlfz-qI>mx}qv z2dh)+*+Q&=d3>m|clrb#iW}zu4#6%Gw8fi>uaKa9wj%8hk8Pij8G{qH|4e^&*1%`^ zh-?438`^E(l+W25`(WWDBXvLU^S683dzD$2-BZH7k!KyK$*a)UtUn7?b4E2zIUv<% zQGSuOMy6R|t*9LJQ zVf+{uuq7^vGGtM-OBO|Mn@AkK{K45rTD~Wn?n3zu1lL3t`&gQN-)z=;3jGQ+{jA^# zm1HmoGTE7;&Y_p|)NKy91N%DKMiHx#@$q%eP7_kf2o!@+MDEwkQ}#K8897{h%OSDw zU93Q(Wrf@Mmu7VYkWtYNERo0TkPQD2`Yg5RV!k;0CyKsP?u_b||F7v=f9?N&=)1o% zF)T+yU*SJ%|5lGASHs=Z1#R{NUl&`-FD5|9F!)7q%woB}^3iLOj6RE~d^)!LAcJJf zPx(f2=k}ko;)gu$=ZXhj;vWcWz&}v#YD4637-0}St~yp4I{9ND$6qf@@Hh14JfB{T zhg>;)K3ld$zz*THt-@l0|4_}}mVITIm^{=f2a6o6aj?Vz!mY*`C!6Y|Ow6zkU89Mw z;^$_GkZG0{cz?Gko6ZcT?Q6mES9vm?fRm>ilCeY%Y=%jtJ7h2XeC-tZv_Zrw!xJr)?W2UVtmlT%W_=}58&0Fb64izr}0=f`tM>g!@>rp(crW^3b?$& znR&h`!D&MaXAbpEgqaNH{)-EI<1z6%iAtFmzu{Q>98+R-2W z)nA}HUC+~hXr(1V{LEaj@jBFBlDRtjIhcL#?&Y9ik-a4SMxFKYCf=o zkO#`7%jQ8_v-TgP?R+)6FWAisqhr-%M6ZQnetseM^M;iL+Vl)I*2yJs?@BzlkC11D$WMjS-ivky>%M6H22aL8g z-oiDm&~Zq?iMk&BO6m?2`NCn|TVs5A7Zv7q6!zH3l>9zP*)}Cq(s2osL&Hm3()@?McQnCt(zW0F~s5YLO4HbGhni zKx`Cg1-H%{fjUP1ac!$Pzc*~X>v+^M9*MHDIHO20hN?o=rv+G_{uT^C`xoE)Aur#H z-7wTZjKlCj5MjB^{D&K4qj%c}sIz4>duf|-M;GZK@GNMVe%T~sfze_9Hvmd?PWt&w z3l2aHrO9d7dl@I~Dr^ONQW_%>wglI5Zw|JIMYCp4``4CFR)zl>HU~&iL zf#`p0T5P$gP0)a2ON=uNWoLs0LBEE!#Xu zLed!hJMV2)WHXFAcVb-xMTLT(=p$?fzgZmmRoel?pYZ04 zhK5m&@%elO$0BwCO!>UUHNRFy|2uAMtb2p00p#!mCS_n3tn9W{h|vsV2DYCOljV|N zk4^}sgorXJ8DU=k3Xw2H>Pw%Bhc`4L8D}m$d@XF54(X;Hz$?k{*sW-V7oF+vbn>Ya zVWGhNg3YjO2GVm-$Y1mx7$yl*P8Zc4s{i2%Ys&c=uY|k;Ax1nrt)m4YDo%Zm*+MmK z?w0?i0QP*q{vhjW1n?`dl?>p^f+_iB5pTUqZU4b40ca0R;o5R`LPs8EBWyV z-V`m?EB|@?rmT2LOy&?5zqwJwMQ@Cv1$d?ZuIvafD=(zEi4DwOaaMwPY-FNfs;NSqV`#%4`GnGrR3bT z>^}4U`9tTDGxaA(7pWA|g_S}GtE`6aQm8z8qD}Kh#((`!xA?Dd{LkaRR>gl;+x$n7 z$k}PPJeR514M4tGe)q{CAzI~qLJoTE2^|$_DrV)Nun>;Z@uJ2oS5LJ!>dMeh{3ekg zOkr(O4i-k!U^O5yGpQ6RWeoxY2qo?K?%nPU3IbTzfSQ zZ^pQX`C0GNp2UV(H-fs&T}x=?yrcOF(P&(Vc0%bp=VE<7;U2ws&!#NTC1>Yxrw00A zt@4Qx9xvxkA6On+WX84SiY(cbX;6e@Cz&N+5-qkE9oyS1fh?60+$%j^F+_y_M8@RlMACu(Brz8~EH4FkF?SOsVLvDBV5UJW7mhlE zG1D%*4pOA>AkT;v?GWu3kw9c_e<>#kwMUL|l+>R>MeF)q$5OtY+)QM)vf!Yypa&kR z;)?e%H~(f4Has^2F1qto%Wo5*`kZ3$bTvYb4hkd0VwsqSWZG?R^VkMP-v zh~6m_6mfNW z(f6yV*W7Y#jlkF)HF$z0<(}Y`6`r7{(iq%_lu|%(FcAql4^{#QG_@}4I>4lGGGSxL zF5>LvAi=ZbC3^6ALr)6?9xnF~bcLXzU@_}KM)s~3YzF3-oVcKoJn(0Dq6)tUA&KCsy6&w3yYVY}#8!YUV z^eCxYS%<7iwf(^{Bd)#q=G&_9GJ0mxD_m51Lr9GDMM}}s>ucSEpt#iKe2 zCdyEK4u||IWJA84uO=m>B^iGhjvqWB*(?FIbS;oNvn(LY+Jcu9Q|wNI@AYUmBh?Ln zzy90}NhPdK?ef>X@(9UMdy|a&N638WnWgf)XS1ajmv8*4)KK`~e~eg9bkopr#1?5Lc#)MS z)s{5<5sy`z>*O|Q;`$TZjN!{^JpaRY_@(uA1XY3&tv)9g%o5(sIw71CKivs_f|hqD zCTb;L)}uBuN&)gV;eQeg4}mw0&Nvg7xV}c#hjFa>5&@Wmm`j8+ISlwazgcEv=&!4O z9bFHcmNZ;$)YItp?@zaqv$Vzs1F<3~CTGZjJ(w&rw6^wd z@WD@n#Sd}fs{a2BVI9YcZdYveTBC*_ zypYX2r0eCg=~31v-0Kb5=u$q)WKtt_L5~8q*nY~8qh{*`^Q-V<*NiSaoQ1h_FKf9bR{5c9L&cQ!NVyzRs8U4aTm8{FP|l;oM9NSYPm}l%^X| zP67FscFPQPmN~xZS5}eQ=pwELh;`Jiaq>4|&{A2x4Q*jA$wf6MrKV+bn&LarY9v~r zWmW*;1^kVkmvl^9{M~dH8*DSWM7PF0GcAjQ&n-X}Z*U$P#Qs_MdpykhVe7I&2EscoYJ>NnF1kZz{&oySQEo9{vhnjY)Q0vkOo;Z%ee?lf&hIFIw8gY0#L z0>ATE3ee3G=$7P2I>^r7P27$L*&jgc69+H(PBY2w4gOllj`9V_?+rdo@^iJ=%970y z=-gUs_y+q@{LzdLa=J%#99L(ms4C+v+;P_k$`R(neFv*oosE~3s65G>l|Sy z4q)@!ntp-iP(M1x(PyrPdy#DClpTWc*aTQ2$|$xnc)ALc0&+Fw2v2NL%NX{sqaxoh zcaTdM|LRV5Z93+m?sqQ8i$P?r#2-O@*m<-0;4}Kg;e)8a?>T>L=8ra-II+HlA>S2( zs*g%~yn$d%b3XAFZn%3l0jWc(J2WlXUHGosRSJVTz=;AGVU~bD@O6THkr`h_z$a(~ z(G%#iN5al)fyKjDnh^u*O!(#QK*CI>4i5pCzzExp8WimE;hU1-rWq}o0D=rT$O1pu z=M9`CZo|$<;T9jf_EMLe!f9!nVsysO>mLn&ZDVA(Msiy|zaN?(g`cbbW@vAb99bz~ z4Xk+k9b^h$M)Rx*{Y^N1VEuqo1Wp3h=hOi-DTsX%DTw+PqbLc$Zyuh;i$>Ao-`{!8 znz~s7l4?hazMH>m+ zkqWqWWUo9HHH&5{P09Yqp@t~@9rZ7e`mLItQ#HjR;2Xu|-40-fr9~qpA>TO!szpvL zlxNc;NL5`!D` z!>u!J=T};y__acRt;TQIZ}|OUey`Nu%jNqLUCTn9|D_zJH^CB-WNfHsP3F##=H`h2 zh6jUMjK9H)MBWtqi}4dXXTp%iKg@4Nz4dmd^+x{_RY#TihW!!q)fkUAIeNO&7>(CP zF2rHDv3v|^X49rBoH5|pqDoqGt7*-xF@AFamq;uDQ!UnB;+4n}u;#*s%MwVdq?%hz zYi>=rvS^8l_HYwnM{T~=piPD z?%Cbwu+RJ;zE7~vP??fqW(;UKXr&Ek*tb5&-EOsiYcBkO0Lm@OsgrVQdLX9gFmqQ! z?=(QW+l)+70AQ=Zq<2C>ncr_^-8v{VvhFdnhR}iTkka#C?INulkn!FBeH!oREgb3t zBRG2ox0_&c1^qyu@Hm;}ClL~JlSnQE`C6PrhRx|Q5e;rL7CpvoUIey9FoSnFc!dH| zFPOz0PLpc(OH41G-XVuT+Y?(6sE#h7gYdBhiV4wOOhfUk@WTmqo$O5n<$tpVwQ2vG zV%AyC?yqK@mE?vRbkk}?*<1n%&7I`{?gwgl73>OK$9T~T(&IGQ3>M5~H&?RtYPMd3 z`GLxXGZ^a zCbNL)JR;;E64}Dd#`o9-Wl;xV*hASe5W@RFT$?0OZycZc{Nk4uk=E8NP@I7IXX2GV zwyjhQ!LY=LXEAWoO-UsyyCJt*am~Q0zu>}`tzZ<;ai^vmhO4HiF>9>Q!_`oSGOp$7 zloSFy^n(#_Bu(kuk)63RRcf4&GcwW(A1+0XWHcVVI_$YdL;~|7#J<;UB~G zn!`VaOOK@l50wmfw5~ywXcNA(ED0kEVwOK^%7V4Hb4U{gUz-l1=g+0Tek%9BYPSy_JWOa@3u^Qiw z_`?|0SUdr4Vv9CcW8Z!+^w!m2bR9q0GL zO?O{OJ_GZ~$X9;PkOL4&eS`zkz`hwtMz2r4Yl~h;_~+zgwbeEVstkcu^uUQ+l@7}Q z-7%nffIc)9Ucj76L#dZueBJh2_g!&|7e+Bomy@p?iHj~Dg zKD#XNdfAW`#=s~WgfJbil?~bL4PM|$ZYe8VQ|9un@fV#xwiU|SiQ?E`OvI*rSpc!% zQa+#~0)cRI{?GOX`g}nD?KfTZw^H*(-C#aA9&sxV`+2S2z#)iP<3;Tf479W&5A-k| zWU94sV~s%;4BniR7akxr?pIMKvCp|z)02byYvTquvPc6hkY9L*STfm31gEhs-^o*I z9(gX|JR<%x=KX-#kQKlIJ7W18Rzcrme20mYEU^Ccump8B=dBj(@)+Im=WE<-J^``7 zmLoFUR$O}DN>0pLMZu=#SC%(ryc9KM(jXH^C6lHBS;gYw-lj zi-C);D@4rX%U(n6O2;=g_aiCVYP-YW(8oM~3QPL@GXR!!5=_($(?n5LYA+Q50>)7% zO@Ia1q%jzB!o~F`ZJG^dNfGVV04PMe0+iHVs1*sc2+*KTSB=Rw{)+{bTE9y9_o$Pj z+ydrDIa4XB)8#kI6X9X78<7HO@k_X(g0to zk%?^#D}F&w3 zdUk0@?Gr|C*M2sT1jnqmi`4+ZCOqk*!(R5{5D4E%VagHA5fi8gn(VYh^Mo0&Kx^V4 z3p>DEN7E&Nyg;KD$wilh-FO=R*rf#3EGm2_l2w*6c^`V5Z4eUUGw6fiSMbJ^XPL5t z8lw4m6Mh)$qyWYk_V=!)^>N^$esNU8Jk`utV?)DEWjWU<#P(aJ%VfU(`E2QaR^@Sx z+DxG(Ee^M8VuUf1^ zAnQ#?QRl0BfM}s%Gm#w`E0C<}XLdOMU%#ntz+fL7B&Jy zspqi$%rDTszvxW7(|sV6`rU|DHNPKX`L@(P_#!0bAjosX4MN^lbDK!^!=lRBY>r+>;%4IA!0 z#~r#7isQiT{Edxuq4&cjpjK+%t3GC&5XVFLAQ0Nrz{FqpIHPT%9uud5ODh@vcY_Ket-gux5xDJ51I>j{)`wvM0+@K7y9PBb}x@!f7RaKxS z1wYfKUB#a#;b#}fUt9(_?INrZau5d-KQgA}(l!>T=`o`>ucbVrctK4@U>jB$LO!wU zVx2bFbEr+-!@ZbqJS+brl!f} zQ+o|3^smvp1@Vv?oP_wnRd+-FlP0MDM}|U!%1ncTEQW?0M2@KsaFI#I;abCuLkakg zAfJmNX&A0=ZK*!A=7=I(a}h}CXWVY%HMs0X{1AcEpEm;>r9bxpdRl*8s>K)9lU$3z zR^~u}{uABBd<@|a?| zO2r7koATwPRscweN7VZ^B z