github.com/singularityware/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  }