Design overview#
flowchart LR
subgraph services
prepuller(Prepuller)
image(ImageService)
events(EventManager)
form(FormManager)
sizes(SizeManager)
lab(LabManager)
image --> docker-source(DockerImageSource)
image --> gar-source(GARImageSource)
lab --> image
lab --> events
lab --> sizes
lab --> usermap
form --> sizes
prepuller --> image
events --> usermap
end
subgraph storage
docker(DockerStorageClient)
gar(GARStorageClient)
kubernetes-nodes(K8sStorageClient.get_image_data)
usermap(UserMap)
kubernetes(K8sStorageClient)
gafaelfawr(GafaelfawrStorageClient)
end
main(create_app) --> config(Config)
main --> context(ProcessContext)
config --> context
main --> handlers
context --> handlers
context --> prepuller
context --> image
context --> events
handlers --> gafaelfawr
handlers --> lab
handlers --> image
handlers --> events
handlers --> form
handlers --> usermap
docker-source --> docker
gar-source --> gar
prepuller --> kubernetes
image --> kubernetes-nodes
lab --> kubernetes
Internal structure#