github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/worker/image_factory.go (about) 1 package worker 2 3 import ( 4 "context" 5 6 "code.cloudfoundry.org/lager" 7 8 "github.com/pf-qiu/concourse/v6/atc" 9 "github.com/pf-qiu/concourse/v6/atc/db" 10 ) 11 12 //go:generate counterfeiter . ImageFactory 13 14 type ImageFactory interface { 15 GetImage( 16 logger lager.Logger, 17 worker Worker, 18 volumeClient VolumeClient, 19 imageSpec ImageSpec, 20 teamID int, 21 ) (Image, error) 22 } 23 24 type FetchedImage struct { 25 Metadata ImageMetadata 26 Version atc.Version 27 URL string 28 Privileged bool 29 } 30 31 //go:generate counterfeiter . Image 32 33 type Image interface { 34 FetchForContainer( 35 ctx context.Context, 36 logger lager.Logger, 37 container db.CreatingContainer, 38 ) (FetchedImage, error) 39 } 40 41 type ImageMetadata struct { 42 Env []string `json:"env"` 43 User string `json:"user"` 44 }