detached c0d3d4c

Upgrade: update dependencies and refactor Docker client usage

- Update Go version to 1.23
- Upgrade various dependencies to latest versions
- Refactor Docker client usage to match updated API
- Update container and image related functions to use new types
- Adjust import paths for Docker types
commit
c0d3d4c97c910d13add4c8afc40d386bd82e2630
author
bamen · · 2024-08-27 04:20 UTC
parent
9718915
signature
unsigned
8 files · +226 -358
D .iscontainer-bak +0 -0

no textual change.

M go.mod +55 -79
@@ -1,125 +1,101 @@
11 module github.com/bnema/gordon
22
3-go 1.21.3
3+go 1.23
44
55 require (
66 github.com/AlecAivazis/survey/v2 v2.3.7
7- github.com/PuerkitoBio/goquery v1.8.1
8- github.com/charmbracelet/bubbles v0.16.1
9- github.com/charmbracelet/bubbletea v0.24.1
10- github.com/charmbracelet/lipgloss v0.7.1
11- github.com/containerd/containerd v1.7.15
12- github.com/docker/docker v24.0.6+incompatible
13- github.com/docker/go-connections v0.4.0
14- github.com/fatih/color v1.15.0
15- github.com/gorilla/sessions v1.2.1
7+ github.com/PuerkitoBio/goquery v1.9.2
8+ github.com/charmbracelet/bubbles v0.19.0
9+ github.com/charmbracelet/bubbletea v0.27.1
10+ github.com/charmbracelet/lipgloss v0.13.0
11+ github.com/docker/docker v27.1.2+incompatible
12+ github.com/docker/go-connections v0.5.0
13+ github.com/fatih/color v1.17.0
14+ github.com/gorilla/sessions v1.4.0
1615 github.com/joho/godotenv v1.5.1
17- github.com/labstack/echo-contrib v0.15.0
18- github.com/labstack/echo/v4 v4.11.2
19- github.com/microcosm-cc/bluemonday v1.0.25
20- github.com/pocketbase/pocketbase v0.19.3
21- github.com/spf13/cobra v1.7.0
16+ github.com/labstack/echo-contrib v0.17.1
17+ github.com/labstack/echo/v4 v4.12.0
18+ github.com/microcosm-cc/bluemonday v1.0.27
19+ github.com/pocketbase/pocketbase v0.22.19
20+ github.com/spf13/cobra v1.8.1
2221 gopkg.in/yaml.v3 v3.0.1
23- modernc.org/sqlite v1.26.0
22+ modernc.org/sqlite v1.32.0
2423 )
2524
2625 require (
27- github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
28- github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 // indirect
29- github.com/Microsoft/hcsshim v0.11.4 // indirect
3026 github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
3127 github.com/charmbracelet/harmonica v0.2.0 // indirect
32- github.com/containerd/cgroups v1.1.0 // indirect
33- github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
34- github.com/containerd/continuity v0.4.2 // indirect
35- github.com/containerd/fifo v1.1.0 // indirect
28+ github.com/charmbracelet/x/ansi v0.2.3 // indirect
29+ github.com/charmbracelet/x/term v0.2.0 // indirect
3630 github.com/containerd/log v0.1.0 // indirect
37- github.com/containerd/ttrpc v1.2.3 // indirect
38- github.com/containerd/typeurl/v2 v2.1.1 // indirect
3931 github.com/creack/pty v1.1.18 // indirect
40- github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect
32+ github.com/distribution/reference v0.6.0 // indirect
4133 github.com/dustin/go-humanize v1.0.1 // indirect
42- github.com/felixge/httpsnoop v1.0.3 // indirect
43- github.com/go-logr/logr v1.2.4 // indirect
34+ github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
35+ github.com/felixge/httpsnoop v1.0.4 // indirect
36+ github.com/go-logr/logr v1.4.2 // indirect
4437 github.com/go-logr/stdr v1.2.2 // indirect
45- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
46- github.com/golang/protobuf v1.5.4 // indirect
47- github.com/google/go-cmp v0.5.9 // indirect
38+ github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
4839 github.com/inconshreveable/mousetrap v1.1.0 // indirect
4940 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
50- github.com/klauspost/compress v1.16.0 // indirect
51- github.com/kr/text v0.2.0 // indirect
41+ github.com/kr/pretty v0.3.1 // indirect
5242 github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
5343 github.com/mattn/go-localereader v0.0.1 // indirect
54- github.com/mattn/go-runewidth v0.0.15 // indirect
44+ github.com/mattn/go-runewidth v0.0.16 // indirect
5545 github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
56- github.com/moby/locker v1.0.1 // indirect
57- github.com/moby/sys/mountinfo v0.6.2 // indirect
58- github.com/moby/sys/sequential v0.5.0 // indirect
59- github.com/moby/sys/signal v0.7.0 // indirect
60- github.com/moby/sys/user v0.1.0 // indirect
61- github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect
46+ github.com/moby/docker-image-spec v1.3.1 // indirect
47+ github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
6248 github.com/muesli/cancelreader v0.2.2 // indirect
63- github.com/muesli/reflow v0.3.0 // indirect
64- github.com/muesli/termenv v0.15.1 // indirect
65- github.com/opencontainers/runtime-spec v1.1.0 // indirect
66- github.com/opencontainers/selinux v1.11.0 // indirect
49+ github.com/muesli/termenv v0.15.2 // indirect
50+ github.com/ncruces/go-strftime v0.1.9 // indirect
6751 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
68- github.com/rivo/uniseg v0.4.4 // indirect
69- github.com/sirupsen/logrus v1.9.3 // indirect
52+ github.com/rivo/uniseg v0.4.7 // indirect
7053 github.com/spf13/pflag v1.0.5 // indirect
71- go.opencensus.io v0.24.0 // indirect
72- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect
73- go.opentelemetry.io/otel v1.19.0 // indirect
74- go.opentelemetry.io/otel/metric v1.19.0 // indirect
75- go.opentelemetry.io/otel/trace v1.19.0 // indirect
76- golang.org/x/sync v0.4.0 // indirect
77- golang.org/x/term v0.13.0 // indirect
78- google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a // indirect
79- google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
80- google.golang.org/grpc v1.59.0 // indirect
81- google.golang.org/protobuf v1.33.0 // indirect
82- lukechampine.com/uint128 v1.3.0 // indirect
83- modernc.org/cc/v3 v3.41.0 // indirect
84- modernc.org/ccgo/v3 v3.16.15 // indirect
85- modernc.org/libc v1.29.0 // indirect
54+ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
55+ go.opentelemetry.io/otel v1.29.0 // indirect
56+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 // indirect
57+ go.opentelemetry.io/otel/metric v1.29.0 // indirect
58+ go.opentelemetry.io/otel/sdk v1.21.0 // indirect
59+ go.opentelemetry.io/otel/trace v1.29.0 // indirect
60+ golang.org/x/sync v0.8.0 // indirect
61+ golang.org/x/term v0.23.0 // indirect
62+ google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // indirect
63+ modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a // indirect
64+ modernc.org/libc v1.59.9 // indirect
8665 modernc.org/mathutil v1.6.0 // indirect
87- modernc.org/memory v1.7.2 // indirect
88- modernc.org/opt v0.1.3 // indirect
66+ modernc.org/memory v1.8.0 // indirect
8967 modernc.org/strutil v1.2.0 // indirect
9068 modernc.org/token v1.1.0 // indirect
9169 )
9270
9371 require (
94- github.com/Microsoft/go-winio v0.6.1 // indirect
95- github.com/andybalholm/cascadia v1.3.1 // indirect
72+ github.com/Microsoft/go-winio v0.6.2 // indirect
73+ github.com/andybalholm/cascadia v1.3.2 // indirect
9674 github.com/aymerick/douceur v0.2.0 // indirect
97- github.com/docker/distribution v2.8.2+incompatible // indirect
9875 github.com/docker/go-units v0.5.0 // indirect
9976 github.com/gogo/protobuf v1.3.2 // indirect
10077 github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
101- github.com/google/uuid v1.4.0 // direct
102- github.com/gorilla/context v1.1.1 // indirect
103- github.com/gorilla/css v1.0.0 // indirect
104- github.com/gorilla/securecookie v1.1.1 // indirect
105- github.com/labstack/gommon v0.4.0 // indirect
78+ github.com/google/uuid v1.6.0 // direct
79+ github.com/gorilla/context v1.1.2 // indirect
80+ github.com/gorilla/css v1.0.1 // indirect
81+ github.com/gorilla/securecookie v1.1.2 // indirect
82+ github.com/labstack/gommon v0.4.2 // indirect
10683 github.com/mattn/go-colorable v0.1.13 // indirect
10784 github.com/mattn/go-isatty v0.0.20 // indirect
10885 github.com/moby/term v0.5.0 // indirect
10986 github.com/morikuni/aec v1.0.0 // indirect
11087 github.com/opencontainers/go-digest v1.0.0 // indirect
111- github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b // indirect
88+ github.com/opencontainers/image-spec v1.1.0 // indirect
11289 github.com/pkg/errors v0.9.1 // indirect
11390 github.com/rogpeppe/go-internal v1.11.0 // indirect
11491 github.com/valyala/bytebufferpool v1.0.0 // indirect
11592 github.com/valyala/fasttemplate v1.2.2 // indirect
116- golang.org/x/crypto v0.14.0 // indirect
117- golang.org/x/mod v0.13.0 // indirect
118- golang.org/x/net v0.17.0 // indirect
119- golang.org/x/sys v0.13.0 // indirect
120- golang.org/x/text v0.13.0 // indirect
121- golang.org/x/time v0.3.0 // indirect
122- golang.org/x/tools v0.14.0 // indirect
93+ golang.org/x/crypto v0.26.0 // indirect
94+ golang.org/x/net v0.28.0 // indirect
95+ golang.org/x/sys v0.24.0 // indirect
96+ golang.org/x/text v0.17.0 // indirect
97+ golang.org/x/time v0.6.0 // indirect
98+ golang.org/x/tools v0.24.0 // indirect
12399 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
124100 gotest.tools/v3 v3.5.0 // indirect
125101 )
@@ -1,125 +1,101 @@
1 module github.com/bnema/gordon1 module github.com/bnema/gordon
2 2
3-go 1.21.33+go 1.23
4 4
5 require (5 require (
6 github.com/AlecAivazis/survey/v2 v2.3.76 github.com/AlecAivazis/survey/v2 v2.3.7
7- github.com/PuerkitoBio/goquery v1.8.17+ github.com/PuerkitoBio/goquery v1.9.2
8- github.com/charmbracelet/bubbles v0.16.18+ github.com/charmbracelet/bubbles v0.19.0
9- github.com/charmbracelet/bubbletea v0.24.19+ github.com/charmbracelet/bubbletea v0.27.1
10- github.com/charmbracelet/lipgloss v0.7.110+ github.com/charmbracelet/lipgloss v0.13.0
11- github.com/containerd/containerd v1.7.1511+ github.com/docker/docker v27.1.2+incompatible
12- github.com/docker/docker v24.0.6+incompatible12+ github.com/docker/go-connections v0.5.0
13- github.com/docker/go-connections v0.4.013+ github.com/fatih/color v1.17.0
14- github.com/fatih/color v1.15.014+ github.com/gorilla/sessions v1.4.0
15- github.com/gorilla/sessions v1.2.1
16 github.com/joho/godotenv v1.5.115 github.com/joho/godotenv v1.5.1
17- github.com/labstack/echo-contrib v0.15.016+ github.com/labstack/echo-contrib v0.17.1
18- github.com/labstack/echo/v4 v4.11.217+ github.com/labstack/echo/v4 v4.12.0
19- github.com/microcosm-cc/bluemonday v1.0.2518+ github.com/microcosm-cc/bluemonday v1.0.27
20- github.com/pocketbase/pocketbase v0.19.319+ github.com/pocketbase/pocketbase v0.22.19
21- github.com/spf13/cobra v1.7.020+ github.com/spf13/cobra v1.8.1
22 gopkg.in/yaml.v3 v3.0.121 gopkg.in/yaml.v3 v3.0.1
23- modernc.org/sqlite v1.26.022+ modernc.org/sqlite v1.32.0
24 )23 )
25 24
26 require (25 require (
27- github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
28- github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 // indirect
29- github.com/Microsoft/hcsshim v0.11.4 // indirect
30 github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect26 github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
31 github.com/charmbracelet/harmonica v0.2.0 // indirect27 github.com/charmbracelet/harmonica v0.2.0 // indirect
32- github.com/containerd/cgroups v1.1.0 // indirect28+ github.com/charmbracelet/x/ansi v0.2.3 // indirect
33- github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect29+ github.com/charmbracelet/x/term v0.2.0 // indirect
34- github.com/containerd/continuity v0.4.2 // indirect
35- github.com/containerd/fifo v1.1.0 // indirect
36 github.com/containerd/log v0.1.0 // indirect30 github.com/containerd/log v0.1.0 // indirect
37- github.com/containerd/ttrpc v1.2.3 // indirect
38- github.com/containerd/typeurl/v2 v2.1.1 // indirect
39 github.com/creack/pty v1.1.18 // indirect31 github.com/creack/pty v1.1.18 // indirect
40- github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect32+ github.com/distribution/reference v0.6.0 // indirect
41 github.com/dustin/go-humanize v1.0.1 // indirect33 github.com/dustin/go-humanize v1.0.1 // indirect
42- github.com/felixge/httpsnoop v1.0.3 // indirect34+ github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
43- github.com/go-logr/logr v1.2.4 // indirect35+ github.com/felixge/httpsnoop v1.0.4 // indirect
36+ github.com/go-logr/logr v1.4.2 // indirect
44 github.com/go-logr/stdr v1.2.2 // indirect37 github.com/go-logr/stdr v1.2.2 // indirect
45- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect38+ github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
46- github.com/golang/protobuf v1.5.4 // indirect
47- github.com/google/go-cmp v0.5.9 // indirect
48 github.com/inconshreveable/mousetrap v1.1.0 // indirect39 github.com/inconshreveable/mousetrap v1.1.0 // indirect
49 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect40 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
50- github.com/klauspost/compress v1.16.0 // indirect41+ github.com/kr/pretty v0.3.1 // indirect
51- github.com/kr/text v0.2.0 // indirect
52 github.com/lucasb-eyer/go-colorful v1.2.0 // indirect42 github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
53 github.com/mattn/go-localereader v0.0.1 // indirect43 github.com/mattn/go-localereader v0.0.1 // indirect
54- github.com/mattn/go-runewidth v0.0.15 // indirect44+ github.com/mattn/go-runewidth v0.0.16 // indirect
55 github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect45 github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
56- github.com/moby/locker v1.0.1 // indirect46+ github.com/moby/docker-image-spec v1.3.1 // indirect
57- github.com/moby/sys/mountinfo v0.6.2 // indirect47+ github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
58- github.com/moby/sys/sequential v0.5.0 // indirect
59- github.com/moby/sys/signal v0.7.0 // indirect
60- github.com/moby/sys/user v0.1.0 // indirect
61- github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect
62 github.com/muesli/cancelreader v0.2.2 // indirect48 github.com/muesli/cancelreader v0.2.2 // indirect
63- github.com/muesli/reflow v0.3.0 // indirect49+ github.com/muesli/termenv v0.15.2 // indirect
64- github.com/muesli/termenv v0.15.1 // indirect50+ github.com/ncruces/go-strftime v0.1.9 // indirect
65- github.com/opencontainers/runtime-spec v1.1.0 // indirect
66- github.com/opencontainers/selinux v1.11.0 // indirect
67 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect51 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
68- github.com/rivo/uniseg v0.4.4 // indirect52+ github.com/rivo/uniseg v0.4.7 // indirect
69- github.com/sirupsen/logrus v1.9.3 // indirect
70 github.com/spf13/pflag v1.0.5 // indirect53 github.com/spf13/pflag v1.0.5 // indirect
71- go.opencensus.io v0.24.0 // indirect54+ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
72- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect55+ go.opentelemetry.io/otel v1.29.0 // indirect
73- go.opentelemetry.io/otel v1.19.0 // indirect56+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 // indirect
74- go.opentelemetry.io/otel/metric v1.19.0 // indirect57+ go.opentelemetry.io/otel/metric v1.29.0 // indirect
75- go.opentelemetry.io/otel/trace v1.19.0 // indirect58+ go.opentelemetry.io/otel/sdk v1.21.0 // indirect
76- golang.org/x/sync v0.4.0 // indirect59+ go.opentelemetry.io/otel/trace v1.29.0 // indirect
77- golang.org/x/term v0.13.0 // indirect60+ golang.org/x/sync v0.8.0 // indirect
78- google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a // indirect61+ golang.org/x/term v0.23.0 // indirect
79- google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect62+ google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // indirect
80- google.golang.org/grpc v1.59.0 // indirect63+ modernc.org/gc/v3 v3.0.0-20240801135723-a856999a2e4a // indirect
81- google.golang.org/protobuf v1.33.0 // indirect64+ modernc.org/libc v1.59.9 // indirect
82- lukechampine.com/uint128 v1.3.0 // indirect
83- modernc.org/cc/v3 v3.41.0 // indirect
84- modernc.org/ccgo/v3 v3.16.15 // indirect
85- modernc.org/libc v1.29.0 // indirect
86 modernc.org/mathutil v1.6.0 // indirect65 modernc.org/mathutil v1.6.0 // indirect
87- modernc.org/memory v1.7.2 // indirect66+ modernc.org/memory v1.8.0 // indirect
88- modernc.org/opt v0.1.3 // indirect
89 modernc.org/strutil v1.2.0 // indirect67 modernc.org/strutil v1.2.0 // indirect
90 modernc.org/token v1.1.0 // indirect68 modernc.org/token v1.1.0 // indirect
91 )69 )
92 70
93 require (71 require (
94- github.com/Microsoft/go-winio v0.6.1 // indirect72+ github.com/Microsoft/go-winio v0.6.2 // indirect
95- github.com/andybalholm/cascadia v1.3.1 // indirect73+ github.com/andybalholm/cascadia v1.3.2 // indirect
96 github.com/aymerick/douceur v0.2.0 // indirect74 github.com/aymerick/douceur v0.2.0 // indirect
97- github.com/docker/distribution v2.8.2+incompatible // indirect
98 github.com/docker/go-units v0.5.0 // indirect75 github.com/docker/go-units v0.5.0 // indirect
99 github.com/gogo/protobuf v1.3.2 // indirect76 github.com/gogo/protobuf v1.3.2 // indirect
100 github.com/golang-jwt/jwt v3.2.2+incompatible // indirect77 github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
101- github.com/google/uuid v1.4.0 // direct78+ github.com/google/uuid v1.6.0 // direct
102- github.com/gorilla/context v1.1.1 // indirect79+ github.com/gorilla/context v1.1.2 // indirect
103- github.com/gorilla/css v1.0.0 // indirect80+ github.com/gorilla/css v1.0.1 // indirect
104- github.com/gorilla/securecookie v1.1.1 // indirect81+ github.com/gorilla/securecookie v1.1.2 // indirect
105- github.com/labstack/gommon v0.4.0 // indirect82+ github.com/labstack/gommon v0.4.2 // indirect
106 github.com/mattn/go-colorable v0.1.13 // indirect83 github.com/mattn/go-colorable v0.1.13 // indirect
107 github.com/mattn/go-isatty v0.0.20 // indirect84 github.com/mattn/go-isatty v0.0.20 // indirect
108 github.com/moby/term v0.5.0 // indirect85 github.com/moby/term v0.5.0 // indirect
109 github.com/morikuni/aec v1.0.0 // indirect86 github.com/morikuni/aec v1.0.0 // indirect
110 github.com/opencontainers/go-digest v1.0.0 // indirect87 github.com/opencontainers/go-digest v1.0.0 // indirect
111- github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b // indirect88+ github.com/opencontainers/image-spec v1.1.0 // indirect
112 github.com/pkg/errors v0.9.1 // indirect89 github.com/pkg/errors v0.9.1 // indirect
113 github.com/rogpeppe/go-internal v1.11.0 // indirect90 github.com/rogpeppe/go-internal v1.11.0 // indirect
114 github.com/valyala/bytebufferpool v1.0.0 // indirect91 github.com/valyala/bytebufferpool v1.0.0 // indirect
115 github.com/valyala/fasttemplate v1.2.2 // indirect92 github.com/valyala/fasttemplate v1.2.2 // indirect
116- golang.org/x/crypto v0.14.0 // indirect93+ golang.org/x/crypto v0.26.0 // indirect
117- golang.org/x/mod v0.13.0 // indirect94+ golang.org/x/net v0.28.0 // indirect
118- golang.org/x/net v0.17.0 // indirect95+ golang.org/x/sys v0.24.0 // indirect
119- golang.org/x/sys v0.13.0 // indirect96+ golang.org/x/text v0.17.0 // indirect
120- golang.org/x/text v0.13.0 // indirect97+ golang.org/x/time v0.6.0 // indirect
121- golang.org/x/time v0.3.0 // indirect98+ golang.org/x/tools v0.24.0 // indirect
122- golang.org/x/tools v0.14.0 // indirect
123 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect99 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
124 gotest.tools/v3 v3.5.0 // indirect100 gotest.tools/v3 v3.5.0 // indirect
125 )101 )
M go.sum +152 -260 generated file: collapsed
M golangci.yml +1 -2
@@ -1,5 +1,5 @@
11 run:
2- go: 1.21
2+ go: 1.23
33 concurrency: 4
44 timeout: 10m
55
@@ -25,4 +25,3 @@ linters:
2525 - unconvert
2626 - unused
2727 - whitespace
28-
@@ -1,5 +1,5 @@
1 run:1 run:
2- go: 1.212+ go: 1.23
3 concurrency: 43 concurrency: 4
4 timeout: 10m4 timeout: 10m
5 5
@@ -25,4 +25,3 @@ linters:
25 - unconvert25 - unconvert
26 - unused26 - unused
27 - whitespace27 - whitespace
28-
M internal/httpserve/handler/containers.go +2 -2
@@ -50,7 +50,7 @@ func safelyInteractWithIDMap(op MapOperation, key string, value ...string) (stri
5050 }
5151
5252 type HumanReadableContainerImage struct {
53- *types.ImageSummary
53+ *types.ImageInspect
5454 Name string
5555 ShortID string
5656 CreatedStr string
@@ -110,7 +110,7 @@ func ImageManagerComponent(c echo.Context, a *server.App) error {
110110 sizeStr := humanize.BytesToReadableSize(image.Size)
111111 for _, repoTag := range image.RepoTags {
112112 humanReadableImages = append(humanReadableImages, HumanReadableContainerImage{
113- ImageSummary: &types.ImageSummary{
113+ ImageInspect: &types.ImageInspect{
114114 ID: ShortID, // Set the ID to the ShortID
115115 },
116116 CreatedStr: createdStr,
@@ -50,7 +50,7 @@ func safelyInteractWithIDMap(op MapOperation, key string, value ...string) (stri
50 }50 }
51 51
52 type HumanReadableContainerImage struct {52 type HumanReadableContainerImage struct {
53- *types.ImageSummary53+ *types.ImageInspect
54 Name string54 Name string
55 ShortID string55 ShortID string
56 CreatedStr string56 CreatedStr string
@@ -110,7 +110,7 @@ func ImageManagerComponent(c echo.Context, a *server.App) error {
110 sizeStr := humanize.BytesToReadableSize(image.Size)110 sizeStr := humanize.BytesToReadableSize(image.Size)
111 for _, repoTag := range image.RepoTags {111 for _, repoTag := range image.RepoTags {
112 humanReadableImages = append(humanReadableImages, HumanReadableContainerImage{112 humanReadableImages = append(humanReadableImages, HumanReadableContainerImage{
113- ImageSummary: &types.ImageSummary{113+ ImageInspect: &types.ImageInspect{
114 ID: ShortID, // Set the ID to the ShortID114 ID: ShortID, // Set the ID to the ShortID
115 },115 },
116 CreatedStr: createdStr,116 CreatedStr: createdStr,
M pkg/docker/client.go +2 -2
@@ -7,7 +7,7 @@ import (
77 "os"
88 "time"
99
10- "github.com/docker/docker/api/types"
10+ "github.com/docker/docker/api/types/container"
1111 "github.com/docker/docker/client"
1212 )
1313
@@ -74,7 +74,7 @@ func CheckIfInitialized() error {
7474 defer cancel()
7575
7676 // More stringent check: try to list containers
77- _, err := dockerCli.ContainerList(ctx, types.ContainerListOptions{})
77+ _, err := dockerCli.ContainerList(ctx, container.ListOptions{})
7878 if err != nil {
7979 return fmt.Errorf("cannot connect to Docker daemon: %s", err)
8080 }
@@ -7,7 +7,7 @@ import (
7 "os"7 "os"
8 "time"8 "time"
9 9
10- "github.com/docker/docker/api/types"10+ "github.com/docker/docker/api/types/container"
11 "github.com/docker/docker/client"11 "github.com/docker/docker/client"
12 )12 )
13 13
@@ -74,7 +74,7 @@ func CheckIfInitialized() error {
74 defer cancel()74 defer cancel()
75 75
76 // More stringent check: try to list containers76 // More stringent check: try to list containers
77- _, err := dockerCli.ContainerList(ctx, types.ContainerListOptions{})77+ _, err := dockerCli.ContainerList(ctx, container.ListOptions{})
78 if err != nil {78 if err != nil {
79 return fmt.Errorf("cannot connect to Docker daemon: %s", err)79 return fmt.Errorf("cannot connect to Docker daemon: %s", err)
80 }80 }
M pkg/docker/containers.go +7 -7
@@ -93,7 +93,7 @@ func ListRunningContainers() ([]types.Container, error) {
9393 return nil, err
9494 }
9595 // List containers using the Docker client:
96- containers, err := dockerCli.ContainerList(context.Background(), types.ContainerListOptions{All: true})
96+ containers, err := dockerCli.ContainerList(context.Background(), container.ListOptions{All: true})
9797 if err != nil {
9898 return nil, err
9999 }
@@ -167,7 +167,7 @@ func RenameContainer(containerID string, newName string) error {
167167
168168 // RemoveContainer
169169 func RemoveContainer(containerID string) error {
170- err := dockerCli.ContainerRemove(context.Background(), containerID, types.ContainerRemoveOptions{})
170+ err := dockerCli.ContainerRemove(context.Background(), containerID, container.RemoveOptions{Force: true})
171171 if err != nil {
172172 return err
173173 }
@@ -189,7 +189,7 @@ func StartContainer(containerID string) error {
189189 }
190190
191191 // Start container using the Docker client
192- err = dockerCli.ContainerStart(context.Background(), containerID, types.ContainerStartOptions{})
192+ err = dockerCli.ContainerStart(context.Background(), containerID, container.StartOptions{})
193193 if err != nil {
194194 return fmt.Errorf("could not start container: %v", err)
195195 }
@@ -260,7 +260,7 @@ func CreateContainer(cmdParams ContainerCommandParams) (string, error) {
260260 PortBindings: portBindings,
261261 Binds: cmdParams.Volumes,
262262 RestartPolicy: container.RestartPolicy{
263- Name: cmdParams.Restart,
263+ Name: "always",
264264 },
265265 },
266266 &network.NetworkingConfig{
@@ -325,7 +325,7 @@ func UpdateContainerConfig(containerID string, newConfig *container.Config, newH
325325 }
326326
327327 // 2. Remove the old container
328- if err := dockerCli.ContainerRemove(ctx, containerID, types.ContainerRemoveOptions{}); err != nil {
328+ if err := dockerCli.ContainerRemove(ctx, containerID, container.RemoveOptions{}); err != nil {
329329 return err
330330 }
331331
@@ -343,7 +343,7 @@ func UpdateContainerConfig(containerID string, newConfig *container.Config, newH
343343 }
344344
345345 // 4. Start the new container
346- if err := dockerCli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {
346+ if err := dockerCli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil {
347347 return err
348348 }
349349
@@ -353,7 +353,7 @@ func UpdateContainerConfig(containerID string, newConfig *container.Config, newH
353353 // GetContainerLogs returns the logs of a container
354354 func GetContainerLogs(containerID string) (string, error) {
355355 // Get container logs using the Docker client
356- containerLogs, err := dockerCli.ContainerLogs(context.Background(), containerID, types.ContainerLogsOptions{ShowStdout: true, ShowStderr: true})
356+ containerLogs, err := dockerCli.ContainerLogs(context.Background(), containerID, container.LogsOptions{ShowStdout: true, ShowStderr: true})
357357 if err != nil {
358358 return "", err
359359 }
@@ -93,7 +93,7 @@ func ListRunningContainers() ([]types.Container, error) {
93 return nil, err93 return nil, err
94 }94 }
95 // List containers using the Docker client:95 // List containers using the Docker client:
96- containers, err := dockerCli.ContainerList(context.Background(), types.ContainerListOptions{All: true})96+ containers, err := dockerCli.ContainerList(context.Background(), container.ListOptions{All: true})
97 if err != nil {97 if err != nil {
98 return nil, err98 return nil, err
99 }99 }
@@ -167,7 +167,7 @@ func RenameContainer(containerID string, newName string) error {
167 167
168 // RemoveContainer168 // RemoveContainer
169 func RemoveContainer(containerID string) error {169 func RemoveContainer(containerID string) error {
170- err := dockerCli.ContainerRemove(context.Background(), containerID, types.ContainerRemoveOptions{})170+ err := dockerCli.ContainerRemove(context.Background(), containerID, container.RemoveOptions{Force: true})
171 if err != nil {171 if err != nil {
172 return err172 return err
173 }173 }
@@ -189,7 +189,7 @@ func StartContainer(containerID string) error {
189 }189 }
190 190
191 // Start container using the Docker client191 // Start container using the Docker client
192- err = dockerCli.ContainerStart(context.Background(), containerID, types.ContainerStartOptions{})192+ err = dockerCli.ContainerStart(context.Background(), containerID, container.StartOptions{})
193 if err != nil {193 if err != nil {
194 return fmt.Errorf("could not start container: %v", err)194 return fmt.Errorf("could not start container: %v", err)
195 }195 }
@@ -260,7 +260,7 @@ func CreateContainer(cmdParams ContainerCommandParams) (string, error) {
260 PortBindings: portBindings,260 PortBindings: portBindings,
261 Binds: cmdParams.Volumes,261 Binds: cmdParams.Volumes,
262 RestartPolicy: container.RestartPolicy{262 RestartPolicy: container.RestartPolicy{
263- Name: cmdParams.Restart,263+ Name: "always",
264 },264 },
265 },265 },
266 &network.NetworkingConfig{266 &network.NetworkingConfig{
@@ -325,7 +325,7 @@ func UpdateContainerConfig(containerID string, newConfig *container.Config, newH
325 }325 }
326 326
327 // 2. Remove the old container327 // 2. Remove the old container
328- if err := dockerCli.ContainerRemove(ctx, containerID, types.ContainerRemoveOptions{}); err != nil {328+ if err := dockerCli.ContainerRemove(ctx, containerID, container.RemoveOptions{}); err != nil {
329 return err329 return err
330 }330 }
331 331
@@ -343,7 +343,7 @@ func UpdateContainerConfig(containerID string, newConfig *container.Config, newH
343 }343 }
344 344
345 // 4. Start the new container345 // 4. Start the new container
346- if err := dockerCli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {346+ if err := dockerCli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil {
347 return err347 return err
348 }348 }
349 349
@@ -353,7 +353,7 @@ func UpdateContainerConfig(containerID string, newConfig *container.Config, newH
353 // GetContainerLogs returns the logs of a container353 // GetContainerLogs returns the logs of a container
354 func GetContainerLogs(containerID string) (string, error) {354 func GetContainerLogs(containerID string) (string, error) {
355 // Get container logs using the Docker client355 // Get container logs using the Docker client
356- containerLogs, err := dockerCli.ContainerLogs(context.Background(), containerID, types.ContainerLogsOptions{ShowStdout: true, ShowStderr: true})356+ containerLogs, err := dockerCli.ContainerLogs(context.Background(), containerID, container.LogsOptions{ShowStdout: true, ShowStderr: true})
357 if err != nil {357 if err != nil {
358 return "", err358 return "", err
359 }359 }
M pkg/docker/images.go +7 -6
@@ -7,14 +7,15 @@ import (
77 "os"
88
99 "github.com/docker/docker/api/types"
10+ "github.com/docker/docker/api/types/image"
1011 )
1112
12-func ListContainerImages() ([]types.ImageSummary, error) {
13+func ListContainerImages() ([]image.Summary, error) {
1314 // Check if the Docker client has been initialized
1415 CheckIfInitialized()
1516
1617 // List images using the Docker client
17- images, err := dockerCli.ImageList(context.Background(), types.ImageListOptions{})
18+ images, err := dockerCli.ImageList(context.Background(), image.ListOptions{})
1819 if err != nil {
1920 return nil, err
2021 }
@@ -24,7 +25,7 @@ func ListContainerImages() ([]types.ImageSummary, error) {
2425
2526 // DeleteContainerImage deletes an image from the Docker engine
2627 func DeleteContainerImage(imageID string) error {
27- _, err := dockerCli.ImageRemove(context.Background(), imageID, types.ImageRemoveOptions{})
28+ _, err := dockerCli.ImageRemove(context.Background(), imageID, image.RemoveOptions{})
2829 if err != nil {
2930 return err
3031 }
@@ -45,7 +46,7 @@ func CheckIfImageExists(imageID string) (bool, error) {
4546
4647 func GetImageIDByName(imageName string) (string, error) {
4748
48- images, err := dockerCli.ImageList(context.Background(), types.ImageListOptions{})
49+ images, err := dockerCli.ImageList(context.Background(), image.ListOptions{})
4950 if err != nil {
5051 return "", fmt.Errorf("failed to list images: %w", err)
5152 }
@@ -191,9 +192,9 @@ func GetImageSizeFromReader(imageID string) (int64, error) {
191192 }
192193
193194 // list all images
194-func GetAllImages() ([]types.ImageSummary, error) {
195+func GetAllImages() ([]image.Summary, error) {
195196 // List images using the Docker client
196- images, err := dockerCli.ImageList(context.Background(), types.ImageListOptions{})
197+ images, err := dockerCli.ImageList(context.Background(), image.ListOptions{})
197198 if err != nil {
198199 return nil, err
199200 }
@@ -7,14 +7,15 @@ import (
7 "os"7 "os"
8 8
9 "github.com/docker/docker/api/types"9 "github.com/docker/docker/api/types"
10+ "github.com/docker/docker/api/types/image"
10 )11 )
11 12
12-func ListContainerImages() ([]types.ImageSummary, error) {13+func ListContainerImages() ([]image.Summary, error) {
13 // Check if the Docker client has been initialized14 // Check if the Docker client has been initialized
14 CheckIfInitialized()15 CheckIfInitialized()
15 16
16 // List images using the Docker client17 // List images using the Docker client
17- images, err := dockerCli.ImageList(context.Background(), types.ImageListOptions{})18+ images, err := dockerCli.ImageList(context.Background(), image.ListOptions{})
18 if err != nil {19 if err != nil {
19 return nil, err20 return nil, err
20 }21 }
@@ -24,7 +25,7 @@ func ListContainerImages() ([]types.ImageSummary, error) {
24 25
25 // DeleteContainerImage deletes an image from the Docker engine26 // DeleteContainerImage deletes an image from the Docker engine
26 func DeleteContainerImage(imageID string) error {27 func DeleteContainerImage(imageID string) error {
27- _, err := dockerCli.ImageRemove(context.Background(), imageID, types.ImageRemoveOptions{})28+ _, err := dockerCli.ImageRemove(context.Background(), imageID, image.RemoveOptions{})
28 if err != nil {29 if err != nil {
29 return err30 return err
30 }31 }
@@ -45,7 +46,7 @@ func CheckIfImageExists(imageID string) (bool, error) {
45 46
46 func GetImageIDByName(imageName string) (string, error) {47 func GetImageIDByName(imageName string) (string, error) {
47 48
48- images, err := dockerCli.ImageList(context.Background(), types.ImageListOptions{})49+ images, err := dockerCli.ImageList(context.Background(), image.ListOptions{})
49 if err != nil {50 if err != nil {
50 return "", fmt.Errorf("failed to list images: %w", err)51 return "", fmt.Errorf("failed to list images: %w", err)
51 }52 }
@@ -191,9 +192,9 @@ func GetImageSizeFromReader(imageID string) (int64, error) {
191 }192 }
192 193
193 // list all images194 // list all images
194-func GetAllImages() ([]types.ImageSummary, error) {195+func GetAllImages() ([]image.Summary, error) {
195 // List images using the Docker client196 // List images using the Docker client
196- images, err := dockerCli.ImageList(context.Background(), types.ImageListOptions{})197+ images, err := dockerCli.ImageList(context.Background(), image.ListOptions{})
197 if err != nil {198 if err != nil {
198 return nil, err199 return nil, err
199 }200 }

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close