mirror of
https://github.com/containrrr/watchtower.git
synced 2025-12-16 23:20:12 +01:00
Added container labels to ContainerReport interface
This commit is contained in:
parent
36391b0ae7
commit
ee49fb953e
7 changed files with 816 additions and 3 deletions
|
|
@ -32,7 +32,7 @@ func Update(client container.Client, params types.UpdateParams) (types.Report, e
|
|||
|
||||
staleCheckFailed := 0
|
||||
|
||||
for i, targetContainer := range containers {
|
||||
for _, targetContainer := range containers {
|
||||
stale, newestImage, err := client.IsContainerStale(targetContainer)
|
||||
shouldUpdate := stale && !params.NoRestart && !params.MonitorOnly && !targetContainer.IsMonitorOnly()
|
||||
if err == nil && shouldUpdate {
|
||||
|
|
@ -57,7 +57,7 @@ func Update(client container.Client, params types.UpdateParams) (types.Report, e
|
|||
} else {
|
||||
progress.AddScanned(targetContainer, newestImage)
|
||||
}
|
||||
containers[i].SetStale(stale)
|
||||
targetContainer.SetStale(stale)
|
||||
|
||||
if stale {
|
||||
staleCount++
|
||||
|
|
|
|||
|
|
@ -76,6 +76,11 @@ func (c Container) IsRestarting() bool {
|
|||
return c.containerInfo.State.Restarting
|
||||
}
|
||||
|
||||
// Labels returns a map of all the labels present on the container
|
||||
func (c Container) Labels() map[string]string {
|
||||
return c.containerInfo.Config.Labels
|
||||
}
|
||||
|
||||
// Name returns the Docker container name.
|
||||
func (c Container) Name() string {
|
||||
return c.containerInfo.Name
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ type ContainerStatus struct {
|
|||
imageName string
|
||||
error
|
||||
state State
|
||||
labels map[string]string
|
||||
}
|
||||
|
||||
// ID returns the container ID
|
||||
|
|
@ -61,6 +62,11 @@ func (u *ContainerStatus) Error() string {
|
|||
return u.error.Error()
|
||||
}
|
||||
|
||||
// Labels returns a map of all labels present on the container
|
||||
func (u *ContainerStatus) Labels() map[string]string {
|
||||
return u.labels
|
||||
}
|
||||
|
||||
// State returns the current State that the container is in
|
||||
func (u *ContainerStatus) State() string {
|
||||
switch u.state {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ func UpdateFromContainer(cont types.Container, newImage types.ImageID, state Sta
|
|||
containerID: cont.ID(),
|
||||
containerName: cont.Name(),
|
||||
imageName: cont.ImageName(),
|
||||
labels: cont.Labels(),
|
||||
oldImage: cont.SafeImageID(),
|
||||
newImage: newImage,
|
||||
state: state,
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ type Container interface {
|
|||
GetLifecyclePostUpdateCommand() string
|
||||
VerifyConfiguration() error
|
||||
SetStale(bool)
|
||||
Labels() map[string]string
|
||||
IsStale() bool
|
||||
IsNoPull() bool
|
||||
SetLinkedToRestarting(bool)
|
||||
|
|
|
|||
|
|
@ -20,4 +20,5 @@ type ContainerReport interface {
|
|||
ImageName() string
|
||||
Error() string
|
||||
State() string
|
||||
Labels() map[string]string
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue