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  }