d2g

package
v78.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2025 License: MPL-2.0 Imports: 13 Imported by: 0

README

d2g

d2g is a go library for converting legacy Docker Worker tasks into native Generic Worker tasks.

This library is used internally by Generic Worker, in order to run tasks that were originally intended for Docker Worker. On detecting that a claimed task has a Docker Worker payload, Generic Worker will first convert it to its own native format before validating and executing the task.

For users wishing to convert Docker Worker tasks to Generic Worker tasks at source, please see the taskcluster d2g cli subcommand.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MaxArtifactCopyDuration int64 = 900

Functions

func ConvertPayload

func ConvertPayload(dwPayload *dockerworker.DockerWorkerPayload, config map[string]interface{}) (gwPayload *genericworker.GenericWorkerPayload, err error)

ConvertPayload transforms a Docker Worker task payload into an equivalent Generic Worker Multiuser POSIX task payload. The resulting Generic Worker payload is a BASH script which uses Docker (by default) to contain the Docker Worker payload. Since scopes fall outside of the payload in a task definition, scopes need to be converted separately (see d2g.ConvertScopes function).

func ConvertScopes

func ConvertScopes(dwScopes []string, dwPayload *dockerworker.DockerWorkerPayload, taskQueueID, containerEngine string, scopeExpander scopes.ScopeExpander) (gwScopes []string, err error)

ConvertScopes takes a slice of Docker Worker task scopes and returns a slice of equivalent Generic Worker scopes. These scopes should be used together with a converted Docker Worker task payload (see d2g.Convert function) to run Docker Worker tasks under Generic Worker.

func ConvertTaskDefinition

func ConvertTaskDefinition(dwTaskDef json.RawMessage, config map[string]interface{}, scopeExpander scopes.ScopeExpander) (json.RawMessage, error)

Types

type DockerImageArtifact

type DockerImageArtifact dockerworker.DockerImageArtifact

func (*DockerImageArtifact) FileMounts

func (dia *DockerImageArtifact) FileMounts(tool string) ([]genericworker.FileMount, error)

func (*DockerImageArtifact) LoadCommands

func (dia *DockerImageArtifact) LoadCommands(tool string) []string

func (*DockerImageArtifact) String

func (dia *DockerImageArtifact) String(tool string) (string, error)

type DockerImageName

type DockerImageName string

func (*DockerImageName) FileMounts

func (din *DockerImageName) FileMounts(tool string) ([]genericworker.FileMount, error)

func (*DockerImageName) LoadCommands

func (din *DockerImageName) LoadCommands(tool string) []string

func (*DockerImageName) String

func (din *DockerImageName) String(tool string) (string, error)

type Image

type Image interface {
	FileMounts(tool string) ([]genericworker.FileMount, error)
	String(tool string) (string, error)
	LoadCommands(tool string) []string
}

type IndexedDockerImage

type IndexedDockerImage dockerworker.IndexedDockerImage

func (*IndexedDockerImage) FileMounts

func (idi *IndexedDockerImage) FileMounts(tool string) ([]genericworker.FileMount, error)

func (*IndexedDockerImage) LoadCommands

func (idi *IndexedDockerImage) LoadCommands(tool string) []string

func (*IndexedDockerImage) String

func (idi *IndexedDockerImage) String(tool string) (string, error)

type NamedDockerImage

type NamedDockerImage dockerworker.NamedDockerImage

func (*NamedDockerImage) FileMounts

func (ndi *NamedDockerImage) FileMounts(tool string) ([]genericworker.FileMount, error)

func (*NamedDockerImage) LoadCommands

func (ndi *NamedDockerImage) LoadCommands(tool string) []string

func (*NamedDockerImage) String

func (ndi *NamedDockerImage) String(tool string) (string, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL