diff --git a/docs/assets/images/update-flow.svg b/docs/assets/images/update-flow.svg new file mode 100644 index 0000000..2197884 --- /dev/null +++ b/docs/assets/images/update-flow.svg @@ -0,0 +1 @@ +Watchtower Update FlowWatchtower Update FlowUsercmd .root.internal.actions.Updatecontainer.Clientpkg.registry.digestpkg.registry.authpkg.registryDocker EngineUserUsercmd (root)cmd (root)internal/actions.Updateinternal/actions.Updatecontainer.Clientcontainer.Clientpkg/registry/digestpkg/registry/digestpkg/registry/authpkg/registry/authpkg/registrypkg/registryDocker EngineDocker Enginetrigger runUpdatesWithNotifications()Update(client, UpdateParams)ListContainers(filter)loop[per container]IsContainerStale(container, params)PullImage (maybe)CompareDigest(container, registryAuth)GetToken(challenge)getCachedToken / storeTokennewTransport() (usesinsecure-registry /registry-ca)HEAD manifest with tokenalt[digest matches]no pull neededImagePull(image)HasNewImage -> stale/newestImageSortByDependenciesStopContainer / StartContainer (with lifecycle hooks)RemoveImageByID (cleanup)progress.Report()Tokens are cached by auth URL (realm+service+scope)ExpiresIn (seconds) sets TTL when providedTLS is secure-by-default`--registry-ca` provides PEM bundle`--registry-ca-validate` fails startup on invalid bundle \ No newline at end of file