mirror of
https://github.com/jesseduffield/lazydocker.git
synced 2026-07-25 08:31:03 +00:00
Merge branch 'master' into feature/issue-559
This commit is contained in:
commit
087919fc83
24 changed files with 132 additions and 38 deletions
11
README.md
11
README.md
|
|
@ -229,6 +229,17 @@ If you encounter a compatibility issue with Docker bundled binary, try rebuildin
|
||||||
the image with the build argument `--build-arg DOCKER_VERSION="v$(docker -v | cut -d" " -f3 | rev | cut -c 2- | rev)"`
|
the image with the build argument `--build-arg DOCKER_VERSION="v$(docker -v | cut -d" " -f3 | rev | cut -c 2- | rev)"`
|
||||||
so that the bundled docker binary matches your host docker binary version.
|
so that the bundled docker binary matches your host docker binary version.
|
||||||
|
|
||||||
|
### Manual
|
||||||
|
|
||||||
|
You'll need to [install Go](https://golang.org/doc/install)
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://github.com/jesseduffield/lazydocker.git
|
||||||
|
cd lazydocker
|
||||||
|
go install
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also use `go run main.go` to compile and run in one go (pun definitely intended)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ Changes to the user config will only take place after closing and re-opening laz
|
||||||
|
|
||||||
- OSX: `~/Library/Application Support/jesseduffield/lazydocker/config.yml`
|
- OSX: `~/Library/Application Support/jesseduffield/lazydocker/config.yml`
|
||||||
- Linux: `~/.config/lazydocker/config.yml`
|
- Linux: `~/.config/lazydocker/config.yml`
|
||||||
- Windows: `C:\\Users\\<User>\\AppData\\Roaming\\jesseduffield\\lazydocker\\config.yml` (I think)
|
- Windows: `C:\Users\<User>\AppData\Roaming\lazydocker\config.yml`
|
||||||
|
|
||||||
JSON schema is available for `config.yml` so that IntelliSense in Visual Studio Code
|
JSON schema is available for `config.yml` so that IntelliSense in Visual Studio Code
|
||||||
(completion and error checking) is automatically enabled when the [YAML Red Hat][yaml]
|
(completion and error checking) is automatically enabled when the [YAML Red Hat][yaml]
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
||||||
<kbd>_</kbd>: prev screen mode
|
<kbd>_</kbd>: prev screen mode
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
||||||
<kbd>_</kbd>: prev screen mode
|
<kbd>_</kbd>: prev screen mode
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
||||||
<kbd>_</kbd>: prev screen mode
|
<kbd>_</kbd>: prev screen mode
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
||||||
<kbd>_</kbd>: prev screen mode
|
<kbd>_</kbd>: prev screen mode
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
||||||
<kbd>_</kbd>: prev screen mode
|
<kbd>_</kbd>: prev screen mode
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
||||||
<kbd>_</kbd>: prev screen mode
|
<kbd>_</kbd>: prev screen mode
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: modo de tela seguinte (normal/meia/tela cheia)
|
<kbd>+</kbd>: modo de tela seguinte (normal/meia/tela cheia)
|
||||||
<kbd>_</kbd>: modo de tela anterior
|
<kbd>_</kbd>: modo de tela anterior
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
<kbd>+</kbd>: next screen mode (normal/half/fullscreen)
|
||||||
<kbd>_</kbd>: prev screen mode
|
<kbd>_</kbd>: prev screen mode
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
|
|
@ -104,4 +104,10 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>+</kbd>: 下一个屏幕模式(正常/半屏/全屏)
|
<kbd>+</kbd>: 下一个屏幕模式(正常/半屏/全屏)
|
||||||
<kbd>_</kbd>: 上一个屏幕模式
|
<kbd>_</kbd>: 上一个屏幕模式
|
||||||
|
<kbd>1</kbd>: focus projects panel
|
||||||
|
<kbd>2</kbd>: focus services panel
|
||||||
|
<kbd>3</kbd>: focus containers panel
|
||||||
|
<kbd>4</kbd>: focus images panel
|
||||||
|
<kbd>5</kbd>: focus volumes panel
|
||||||
|
<kbd>6</kbd>: focus networks panel
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
||||||
6
go.mod
6
go.mod
|
|
@ -6,8 +6,8 @@ require (
|
||||||
github.com/OpenPeeDeeP/xdg v0.2.1-0.20190312153938-4ba9e1eb294c
|
github.com/OpenPeeDeeP/xdg v0.2.1-0.20190312153938-4ba9e1eb294c
|
||||||
github.com/boz/go-throttle v0.0.0-20160922054636-fdc4eab740c1
|
github.com/boz/go-throttle v0.0.0-20160922054636-fdc4eab740c1
|
||||||
github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
|
github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
|
||||||
github.com/docker/cli v27.0.3+incompatible
|
github.com/docker/cli v27.1.1+incompatible
|
||||||
github.com/docker/docker v27.0.3+incompatible
|
github.com/docker/docker v27.1.1+incompatible
|
||||||
github.com/fatih/color v1.10.0
|
github.com/fatih/color v1.10.0
|
||||||
github.com/go-errors/errors v1.5.1
|
github.com/go-errors/errors v1.5.1
|
||||||
github.com/gookit/color v1.5.0
|
github.com/gookit/color v1.5.0
|
||||||
|
|
@ -35,7 +35,7 @@ require (
|
||||||
github.com/containerd/log v0.1.0 // indirect
|
github.com/containerd/log v0.1.0 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
github.com/distribution/reference v0.6.0 // indirect
|
github.com/distribution/reference v0.6.0 // indirect
|
||||||
github.com/docker/docker-credential-helpers v0.8.0 // indirect
|
github.com/docker/docker-credential-helpers v0.8.2 // indirect
|
||||||
github.com/docker/go-connections v0.5.0 // indirect
|
github.com/docker/go-connections v0.5.0 // indirect
|
||||||
github.com/docker/go-units v0.5.0 // indirect
|
github.com/docker/go-units v0.5.0 // indirect
|
||||||
github.com/felixge/httpsnoop v1.0.4 // indirect
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
||||||
|
|
|
||||||
12
go.sum
12
go.sum
|
|
@ -17,12 +17,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/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
|
github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
|
||||||
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
|
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
|
||||||
github.com/docker/cli v27.0.3+incompatible h1:usGs0/BoBW8MWxGeEtqPMkzOY56jZ6kYlSN5BLDioCQ=
|
github.com/docker/cli v27.1.1+incompatible h1:goaZxOqs4QKxznZjjBWKONQci/MywhtRv2oNn0GkeZE=
|
||||||
github.com/docker/cli v27.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
github.com/docker/cli v27.1.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||||
github.com/docker/docker v27.0.3+incompatible h1:aBGI9TeQ4MPlhquTQKq9XbK79rKFVwXNUAYz9aXyEBE=
|
github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY=
|
||||||
github.com/docker/docker v27.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||||
github.com/docker/docker-credential-helpers v0.8.0 h1:YQFtbBQb4VrpoPxhFuzEBPQ9E16qz5SpHLS+uswaCp8=
|
github.com/docker/docker-credential-helpers v0.8.2 h1:bX3YxiGzFP5sOXWc3bTPEXdEaZSeVMrFgOr3T+zrFAo=
|
||||||
github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHOZ32AWRqQdECoh/Mg0AlEYb40=
|
github.com/docker/docker-credential-helpers v0.8.2/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M=
|
||||||
github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
|
github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
|
||||||
github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
|
github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
|
||||||
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
|
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
|
||||||
|
|
|
||||||
|
|
@ -534,6 +534,15 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
|
||||||
}...)
|
}...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bindings = append(bindings, []*Binding{
|
||||||
|
{Handler: gui.handleGoTo(gui.Panels.Projects.View), Key: '1', Description: gui.Tr.FocusProjects},
|
||||||
|
{Handler: gui.handleGoTo(gui.Panels.Services.View), Key: '2', Description: gui.Tr.FocusServices},
|
||||||
|
{Handler: gui.handleGoTo(gui.Panels.Containers.View), Key: '3', Description: gui.Tr.FocusContainers},
|
||||||
|
{Handler: gui.handleGoTo(gui.Panels.Images.View), Key: '4', Description: gui.Tr.FocusImages},
|
||||||
|
{Handler: gui.handleGoTo(gui.Panels.Volumes.View), Key: '5', Description: gui.Tr.FocusVolumes},
|
||||||
|
{Handler: gui.handleGoTo(gui.Panels.Networks.View), Key: '6', Description: gui.Tr.FocusNetworks},
|
||||||
|
}...)
|
||||||
|
|
||||||
for _, panel := range gui.allListPanels() {
|
for _, panel := range gui.allListPanels() {
|
||||||
setUpDownClickBindings(panel.GetView().Name(), panel.HandlePrevLine, panel.HandleNextLine, panel.HandleClick)
|
setUpDownClickBindings(panel.GetView().Name(), panel.HandlePrevLine, panel.HandleNextLine, panel.HandleClick)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,13 @@ import (
|
||||||
"github.com/spkg/bom"
|
"github.com/spkg/bom"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func (gui *Gui) handleGoTo(view *gocui.View) func(g *gocui.Gui, v *gocui.View) error {
|
||||||
|
return func(g *gocui.Gui, v *gocui.View) error {
|
||||||
|
gui.resetMainView()
|
||||||
|
return gui.switchFocus(view)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (gui *Gui) nextView(g *gocui.Gui, v *gocui.View) error {
|
func (gui *Gui) nextView(g *gocui.Gui, v *gocui.View) error {
|
||||||
sideViewNames := gui.sideViewNames()
|
sideViewNames := gui.sideViewNames()
|
||||||
var focusedViewName string
|
var focusedViewName string
|
||||||
|
|
|
||||||
|
|
@ -119,9 +119,11 @@ func (gui *Gui) createAllViews() error {
|
||||||
gui.Views.Main.IgnoreCarriageReturns = true
|
gui.Views.Main.IgnoreCarriageReturns = true
|
||||||
|
|
||||||
gui.Views.Project.Title = gui.Tr.ProjectTitle
|
gui.Views.Project.Title = gui.Tr.ProjectTitle
|
||||||
|
gui.Views.Project.TitlePrefix = "[1]"
|
||||||
|
|
||||||
gui.Views.Services.Highlight = true
|
gui.Views.Services.Highlight = true
|
||||||
gui.Views.Services.Title = gui.Tr.ServicesTitle
|
gui.Views.Services.Title = gui.Tr.ServicesTitle
|
||||||
|
gui.Views.Services.TitlePrefix = "[2]"
|
||||||
gui.Views.Services.SelBgColor = selectedLineBgColor
|
gui.Views.Services.SelBgColor = selectedLineBgColor
|
||||||
|
|
||||||
gui.Views.Containers.Highlight = true
|
gui.Views.Containers.Highlight = true
|
||||||
|
|
@ -131,17 +133,21 @@ func (gui *Gui) createAllViews() error {
|
||||||
} else {
|
} else {
|
||||||
gui.Views.Containers.Title = gui.Tr.StandaloneContainersTitle
|
gui.Views.Containers.Title = gui.Tr.StandaloneContainersTitle
|
||||||
}
|
}
|
||||||
|
gui.Views.Containers.TitlePrefix = "[3]"
|
||||||
|
|
||||||
gui.Views.Images.Highlight = true
|
gui.Views.Images.Highlight = true
|
||||||
gui.Views.Images.Title = gui.Tr.ImagesTitle
|
gui.Views.Images.Title = gui.Tr.ImagesTitle
|
||||||
gui.Views.Images.SelBgColor = selectedLineBgColor
|
gui.Views.Images.SelBgColor = selectedLineBgColor
|
||||||
|
gui.Views.Images.TitlePrefix = "[4]"
|
||||||
|
|
||||||
gui.Views.Volumes.Highlight = true
|
gui.Views.Volumes.Highlight = true
|
||||||
gui.Views.Volumes.Title = gui.Tr.VolumesTitle
|
gui.Views.Volumes.Title = gui.Tr.VolumesTitle
|
||||||
|
gui.Views.Volumes.TitlePrefix = "[5]"
|
||||||
gui.Views.Volumes.SelBgColor = selectedLineBgColor
|
gui.Views.Volumes.SelBgColor = selectedLineBgColor
|
||||||
|
|
||||||
gui.Views.Networks.Highlight = true
|
gui.Views.Networks.Highlight = true
|
||||||
gui.Views.Networks.Title = gui.Tr.NetworksTitle
|
gui.Views.Networks.Title = gui.Tr.NetworksTitle
|
||||||
|
gui.Views.Networks.TitlePrefix = "[6]"
|
||||||
gui.Views.Networks.SelBgColor = selectedLineBgColor
|
gui.Views.Networks.SelBgColor = selectedLineBgColor
|
||||||
|
|
||||||
gui.Views.Options.Frame = false
|
gui.Views.Options.Frame = false
|
||||||
|
|
|
||||||
|
|
@ -128,6 +128,13 @@ type TranslationSet struct {
|
||||||
LcNextScreenMode string
|
LcNextScreenMode string
|
||||||
LcPrevScreenMode string
|
LcPrevScreenMode string
|
||||||
FilterPrompt string
|
FilterPrompt string
|
||||||
|
|
||||||
|
FocusProjects string
|
||||||
|
FocusServices string
|
||||||
|
FocusContainers string
|
||||||
|
FocusImages string
|
||||||
|
FocusVolumes string
|
||||||
|
FocusNetworks string
|
||||||
}
|
}
|
||||||
|
|
||||||
func englishSet() TranslationSet {
|
func englishSet() TranslationSet {
|
||||||
|
|
@ -263,5 +270,12 @@ func englishSet() TranslationSet {
|
||||||
LcNextScreenMode: "next screen mode (normal/half/fullscreen)",
|
LcNextScreenMode: "next screen mode (normal/half/fullscreen)",
|
||||||
LcPrevScreenMode: "prev screen mode",
|
LcPrevScreenMode: "prev screen mode",
|
||||||
FilterPrompt: "filter",
|
FilterPrompt: "filter",
|
||||||
|
|
||||||
|
FocusProjects: "focus projects panel",
|
||||||
|
FocusServices: "focus services panel",
|
||||||
|
FocusContainers: "focus containers panel",
|
||||||
|
FocusImages: "focus images panel",
|
||||||
|
FocusVolumes: "focus volumes panel",
|
||||||
|
FocusNetworks: "focus networks panel",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
1
vendor/github.com/docker/cli/cli/config/configfile/file.go
generated
vendored
1
vendor/github.com/docker/cli/cli/config/configfile/file.go
generated
vendored
|
|
@ -303,6 +303,7 @@ func (configFile *ConfigFile) GetAllCredentials() (map[string]types.AuthConfig,
|
||||||
for registryHostname := range configFile.CredentialHelpers {
|
for registryHostname := range configFile.CredentialHelpers {
|
||||||
newAuth, err := configFile.GetAuthConfig(registryHostname)
|
newAuth, err := configFile.GetAuthConfig(registryHostname)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
// TODO(thaJeztah): use context-logger, so that this output can be suppressed (in tests).
|
||||||
logrus.WithError(err).Warnf("Failed to get credentials for registry: %s", registryHostname)
|
logrus.WithError(err).Warnf("Failed to get credentials for registry: %s", registryHostname)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3
vendor/github.com/docker/cli/cli/context/store/store.go
generated
vendored
3
vendor/github.com/docker/cli/cli/context/store/store.go
generated
vendored
|
|
@ -124,6 +124,9 @@ func (s *ContextStore) List() ([]Metadata, error) {
|
||||||
|
|
||||||
// Names return Metadata names for a Lister
|
// Names return Metadata names for a Lister
|
||||||
func Names(s Lister) ([]string, error) {
|
func Names(s Lister) ([]string, error) {
|
||||||
|
if s == nil {
|
||||||
|
return nil, errors.New("nil lister")
|
||||||
|
}
|
||||||
list, err := s.List()
|
list, err := s.List()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
||||||
17
vendor/github.com/docker/docker-credential-helpers/client/client.go
generated
vendored
17
vendor/github.com/docker/docker-credential-helpers/client/client.go
generated
vendored
|
|
@ -16,11 +16,9 @@ func isValidCredsMessage(msg string) error {
|
||||||
if credentials.IsCredentialsMissingServerURLMessage(msg) {
|
if credentials.IsCredentialsMissingServerURLMessage(msg) {
|
||||||
return credentials.NewErrCredentialsMissingServerURL()
|
return credentials.NewErrCredentialsMissingServerURL()
|
||||||
}
|
}
|
||||||
|
|
||||||
if credentials.IsCredentialsMissingUsernameMessage(msg) {
|
if credentials.IsCredentialsMissingUsernameMessage(msg) {
|
||||||
return credentials.NewErrCredentialsMissingUsername()
|
return credentials.NewErrCredentialsMissingUsername()
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -36,13 +34,10 @@ func Store(program ProgramFunc, creds *credentials.Credentials) error {
|
||||||
|
|
||||||
out, err := cmd.Output()
|
out, err := cmd.Output()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t := strings.TrimSpace(string(out))
|
if isValidErr := isValidCredsMessage(string(out)); isValidErr != nil {
|
||||||
|
|
||||||
if isValidErr := isValidCredsMessage(t); isValidErr != nil {
|
|
||||||
err = isValidErr
|
err = isValidErr
|
||||||
}
|
}
|
||||||
|
return fmt.Errorf("error storing credentials - err: %v, out: `%s`", err, strings.TrimSpace(string(out)))
|
||||||
return fmt.Errorf("error storing credentials - err: %v, out: `%s`", err, t)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
@ -55,17 +50,15 @@ func Get(program ProgramFunc, serverURL string) (*credentials.Credentials, error
|
||||||
|
|
||||||
out, err := cmd.Output()
|
out, err := cmd.Output()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t := strings.TrimSpace(string(out))
|
if credentials.IsErrCredentialsNotFoundMessage(string(out)) {
|
||||||
|
|
||||||
if credentials.IsErrCredentialsNotFoundMessage(t) {
|
|
||||||
return nil, credentials.NewErrCredentialsNotFound()
|
return nil, credentials.NewErrCredentialsNotFound()
|
||||||
}
|
}
|
||||||
|
|
||||||
if isValidErr := isValidCredsMessage(t); isValidErr != nil {
|
if isValidErr := isValidCredsMessage(string(out)); isValidErr != nil {
|
||||||
err = isValidErr
|
err = isValidErr
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, fmt.Errorf("error getting credentials - err: %v, out: `%s`", err, t)
|
return nil, fmt.Errorf("error getting credentials - err: %v, out: `%s`", err, strings.TrimSpace(string(out)))
|
||||||
}
|
}
|
||||||
|
|
||||||
resp := &credentials.Credentials{
|
resp := &credentials.Credentials{
|
||||||
|
|
|
||||||
11
vendor/github.com/docker/docker-credential-helpers/credentials/error.go
generated
vendored
11
vendor/github.com/docker/docker-credential-helpers/credentials/error.go
generated
vendored
|
|
@ -1,6 +1,9 @@
|
||||||
package credentials
|
package credentials
|
||||||
|
|
||||||
import "errors"
|
import (
|
||||||
|
"errors"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// ErrCredentialsNotFound standardizes the not found error, so every helper returns
|
// ErrCredentialsNotFound standardizes the not found error, so every helper returns
|
||||||
|
|
@ -47,7 +50,7 @@ func IsErrCredentialsNotFound(err error) bool {
|
||||||
// This function helps to check messages returned by an
|
// This function helps to check messages returned by an
|
||||||
// external program via its standard output.
|
// external program via its standard output.
|
||||||
func IsErrCredentialsNotFoundMessage(err string) bool {
|
func IsErrCredentialsNotFoundMessage(err string) bool {
|
||||||
return err == errCredentialsNotFoundMessage
|
return strings.TrimSpace(err) == errCredentialsNotFoundMessage
|
||||||
}
|
}
|
||||||
|
|
||||||
// errCredentialsMissingServerURL represents an error raised
|
// errCredentialsMissingServerURL represents an error raised
|
||||||
|
|
@ -104,7 +107,7 @@ func IsCredentialsMissingServerURL(err error) bool {
|
||||||
// IsCredentialsMissingServerURLMessage checks for an
|
// IsCredentialsMissingServerURLMessage checks for an
|
||||||
// errCredentialsMissingServerURL in the error message.
|
// errCredentialsMissingServerURL in the error message.
|
||||||
func IsCredentialsMissingServerURLMessage(err string) bool {
|
func IsCredentialsMissingServerURLMessage(err string) bool {
|
||||||
return err == errCredentialsMissingServerURLMessage
|
return strings.TrimSpace(err) == errCredentialsMissingServerURLMessage
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsCredentialsMissingUsername returns true if the error
|
// IsCredentialsMissingUsername returns true if the error
|
||||||
|
|
@ -117,5 +120,5 @@ func IsCredentialsMissingUsername(err error) bool {
|
||||||
// IsCredentialsMissingUsernameMessage checks for an
|
// IsCredentialsMissingUsernameMessage checks for an
|
||||||
// errCredentialsMissingUsername in the error message.
|
// errCredentialsMissingUsername in the error message.
|
||||||
func IsCredentialsMissingUsernameMessage(err string) bool {
|
func IsCredentialsMissingUsernameMessage(err string) bool {
|
||||||
return err == errCredentialsMissingUsernameMessage
|
return strings.TrimSpace(err) == errCredentialsMissingUsernameMessage
|
||||||
}
|
}
|
||||||
|
|
|
||||||
4
vendor/github.com/docker/docker/api/swagger.yaml
generated
vendored
4
vendor/github.com/docker/docker/api/swagger.yaml
generated
vendored
|
|
@ -5334,7 +5334,7 @@ definitions:
|
||||||
The version Go used to compile the daemon, and the version of the Go
|
The version Go used to compile the daemon, and the version of the Go
|
||||||
runtime in use.
|
runtime in use.
|
||||||
type: "string"
|
type: "string"
|
||||||
example: "go1.21.11"
|
example: "go1.21.12"
|
||||||
Os:
|
Os:
|
||||||
description: |
|
description: |
|
||||||
The operating system that the daemon is running on ("linux" or "windows")
|
The operating system that the daemon is running on ("linux" or "windows")
|
||||||
|
|
@ -9563,7 +9563,7 @@ paths:
|
||||||
|
|
||||||
Containers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, `update`, and `prune`
|
Containers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, `update`, and `prune`
|
||||||
|
|
||||||
Images report these events: `create, `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune`
|
Images report these events: `create`, `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune`
|
||||||
|
|
||||||
Volumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune`
|
Volumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune`
|
||||||
|
|
||||||
|
|
|
||||||
7
vendor/github.com/docker/docker/api/types/system/info.go
generated
vendored
7
vendor/github.com/docker/docker/api/types/system/info.go
generated
vendored
|
|
@ -77,9 +77,6 @@ type Info struct {
|
||||||
|
|
||||||
Containerd *ContainerdInfo `json:",omitempty"`
|
Containerd *ContainerdInfo `json:",omitempty"`
|
||||||
|
|
||||||
// Legacy API fields for older API versions.
|
|
||||||
legacyFields
|
|
||||||
|
|
||||||
// Warnings contains a slice of warnings that occurred while collecting
|
// Warnings contains a slice of warnings that occurred while collecting
|
||||||
// system information. These warnings are intended to be informational
|
// system information. These warnings are intended to be informational
|
||||||
// messages for the user, and are not intended to be parsed / used for
|
// messages for the user, and are not intended to be parsed / used for
|
||||||
|
|
@ -124,10 +121,6 @@ type ContainerdNamespaces struct {
|
||||||
Plugins string
|
Plugins string
|
||||||
}
|
}
|
||||||
|
|
||||||
type legacyFields struct {
|
|
||||||
ExecutionDriver string `json:",omitempty"` // Deprecated: deprecated since API v1.25, but returned for older versions.
|
|
||||||
}
|
|
||||||
|
|
||||||
// PluginsInfo is a temp struct holding Plugins name
|
// PluginsInfo is a temp struct holding Plugins name
|
||||||
// registered with docker daemon. It is used by [Info] struct
|
// registered with docker daemon. It is used by [Info] struct
|
||||||
type PluginsInfo struct {
|
type PluginsInfo struct {
|
||||||
|
|
|
||||||
6
vendor/modules.txt
vendored
6
vendor/modules.txt
vendored
|
|
@ -23,7 +23,7 @@ github.com/davecgh/go-spew/spew
|
||||||
# github.com/distribution/reference v0.6.0
|
# github.com/distribution/reference v0.6.0
|
||||||
## explicit; go 1.20
|
## explicit; go 1.20
|
||||||
github.com/distribution/reference
|
github.com/distribution/reference
|
||||||
# github.com/docker/cli v27.0.3+incompatible
|
# github.com/docker/cli v27.1.1+incompatible
|
||||||
## explicit
|
## explicit
|
||||||
github.com/docker/cli/cli/config
|
github.com/docker/cli/cli/config
|
||||||
github.com/docker/cli/cli/config/configfile
|
github.com/docker/cli/cli/config/configfile
|
||||||
|
|
@ -35,7 +35,7 @@ github.com/docker/cli/cli/connhelper/ssh
|
||||||
github.com/docker/cli/cli/context
|
github.com/docker/cli/cli/context
|
||||||
github.com/docker/cli/cli/context/docker
|
github.com/docker/cli/cli/context/docker
|
||||||
github.com/docker/cli/cli/context/store
|
github.com/docker/cli/cli/context/store
|
||||||
# github.com/docker/docker v27.0.3+incompatible
|
# github.com/docker/docker v27.1.1+incompatible
|
||||||
## explicit
|
## explicit
|
||||||
github.com/docker/docker/api
|
github.com/docker/docker/api
|
||||||
github.com/docker/docker/api/types
|
github.com/docker/docker/api/types
|
||||||
|
|
@ -60,7 +60,7 @@ github.com/docker/docker/errdefs
|
||||||
github.com/docker/docker/internal/multierror
|
github.com/docker/docker/internal/multierror
|
||||||
github.com/docker/docker/pkg/ioutils
|
github.com/docker/docker/pkg/ioutils
|
||||||
github.com/docker/docker/pkg/stdcopy
|
github.com/docker/docker/pkg/stdcopy
|
||||||
# github.com/docker/docker-credential-helpers v0.8.0
|
# github.com/docker/docker-credential-helpers v0.8.2
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
github.com/docker/docker-credential-helpers/client
|
github.com/docker/docker-credential-helpers/client
|
||||||
github.com/docker/docker-credential-helpers/credentials
|
github.com/docker/docker-credential-helpers/credentials
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue