github.com/apptainer/singularity@v3.1.1+incompatible/internal/pkg/build/conveyorPacker.go (about) 1 // Copyright (c) 2018, Sylabs Inc. All rights reserved. 2 // This software is licensed under a 3-clause BSD license. Please consult the 3 // LICENSE.md file distributed with the sources of this project regarding your 4 // rights to use or distribute this software. 5 6 package build 7 8 import ( 9 "github.com/sylabs/singularity/pkg/build/types" 10 ) 11 12 // Conveyor is responsible for downloading from remote sources (library, shub, docker...) 13 type Conveyor interface { 14 Get(*types.Bundle) error 15 } 16 17 // Packer is the type which is responsible for installing the chroot directory, 18 // metadata directory, and potentially other files/directories within the Bundle 19 type Packer interface { 20 Pack() (*types.Bundle, error) 21 } 22 23 // ConveyorPacker describes an interface that a ConveyorPacker type must implement 24 type ConveyorPacker interface { 25 Conveyor 26 Packer 27 }