Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsValidDefinition ¶
IsValidDefinition returns whether or not the given file is a valid definition
Types ¶
type BuildHistory ¶
type BuildHistory struct { DefinitionHash string `json:"definitionHash"` Definition `json:"definition"` Parent *BuildHistory `json:"parent"` }
BuildHistory ...
type Bundle ¶
type Bundle struct { // FSObjects is a map of the filesystem objects contained in the Bundle. An object // will be built as one section of a SIF file. // // Known FSObjects labels: // * rootfs -> root file system // * .singularity.d -> .singularity.d directory (includes image exec scripts) // * data -> directory containing data files FSObjects map[string]string `json:"fsObjects"` JSONObjects map[string][]byte `json:"jsonObjects"` Recipe Definition `json:"rawDeffile"` BindPath []string `json:"bindPath"` Path string `json:"bundlePath"` }
Bundle is the temporary build environment used during the image building process. A Bundle is the programmatic representation of the directory structure which will constitute this environmenb. /tmp/...:
fs/ - A chroot filesystem .singularity.d/ - Container metadata (from 2.x image format) config.json (optional) - Contain information for OCI image bundle etc... - The Bundle dir can theoretically contain arbitrary directories, files, etc... which can be interpreted by the Chef
type Data ¶
Data contains any scripts, metadata, etc... that the Builder may need to know only at build time to build the image
type Definition ¶
type Definition struct { Header map[string]string `json:"header"` ImageData `json:"imageData"` BuildData Data `json:"buildData"` }
Definition describes how to build an image.
func NewDefinitionFromJSON ¶
func NewDefinitionFromJSON(r io.Reader) (d Definition, err error)
NewDefinitionFromJSON creates a new Definition using the supplied JSON.
func NewDefinitionFromURI ¶
func NewDefinitionFromURI(uri string) (d Definition, err error)
NewDefinitionFromURI crafts a new Definition given a URI
func ParseDefinitionFile ¶
func ParseDefinitionFile(r io.Reader) (d Definition, err error)
ParseDefinitionFile recieves a reader from a definition file and parse it into a Definition struct or return error if the definition file has a bad section.
func (*Definition) WriteDefinitionFile ¶
func (d *Definition) WriteDefinitionFile(w io.Writer)
WriteDefinitionFile is a helper func to output a Definition struct into a definition file.
type ImageData ¶
type ImageData struct { Metadata []byte `json:"metadata"` Labels []string `json:"labels"` ImageScripts `json:"imageScripts"` }
ImageData contains any scripts, metadata, etc... that needs to be present in some from in the final built image
type ImageScripts ¶
type ImageScripts struct { Help string `json:"help"` Environment string `json:"environment"` Runscript string `json:"runScript"` Test string `json:"test"` }
ImageScripts contains scripts that are used after build time.
type MetaData ¶
type MetaData struct { // DefaultCommand is the process which should be executed by default when calling // "singularity run ... " DefaultCommand string `json:"defaultCommand"` // Overridable sets whether or not the user supplied arguments to "singularity run ..." // can override the default Command. Overridable bool `json:"overridable"` // DefaultArgs are the default arguments passed to the Command to run in the Container. These // can *always* be overridden by arguments given to "singularity run ..." DefaultArgs string `json:"defaultArgs"` // BaseEnv provides the base environment variables of the container. BaseEnv []string `json:"baseEnv"` BuildHistory *BuildHistory `json:"buildHistory"` }
MetaData ...