builtin

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2022 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Module *ast.Module

	FileBuffer *filebuffer.FileBuffer
)
View Source
var (
	Lookup = BuiltinLookup{
		ByKind: map[ast.Kind]LookupByKind{
			ast.Filesystem: {
				Func: map[string]FuncLookup{
					"scratch": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"image": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "ref", false),
						},
						Effects: []*ast.Field{},
					},
					"http": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "url", false),
						},
						Effects: []*ast.Field{},
					},
					"git": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "remote", false),
							ast.NewField(ast.String, "ref", false),
						},
						Effects: []*ast.Field{},
					},
					"local": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "path", false),
						},
						Effects: []*ast.Field{},
					},
					"frontend": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "source", false),
						},
						Effects: []*ast.Field{},
					},
					"shell": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "arg", true),
						},
						Effects: []*ast.Field{},
					},
					"run": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "arg", true),
						},
						Effects: []*ast.Field{},
					},
					"env": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "key", false),
							ast.NewField(ast.String, "value", false),
						},
						Effects: []*ast.Field{},
					},
					"dir": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "path", false),
						},
						Effects: []*ast.Field{},
					},
					"user": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "name", false),
						},
						Effects: []*ast.Field{},
					},
					"mkdir": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "path", false),
							ast.NewField(ast.Int, "filemode", false),
						},
						Effects: []*ast.Field{},
					},
					"mkfile": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "path", false),
							ast.NewField(ast.Int, "filemode", false),
							ast.NewField(ast.String, "content", false),
						},
						Effects: []*ast.Field{},
					},
					"rm": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "path", false),
						},
						Effects: []*ast.Field{},
					},
					"copy": {
						Params: []*ast.Field{
							ast.NewField(ast.Filesystem, "input", false),
							ast.NewField(ast.String, "src", false),
							ast.NewField(ast.String, "dst", false),
						},
						Effects: []*ast.Field{},
					},
					"merge": {
						Params: []*ast.Field{
							ast.NewField(ast.Filesystem, "inputs", true),
						},
						Effects: []*ast.Field{},
					},
					"diff": {
						Params: []*ast.Field{
							ast.NewField(ast.Filesystem, "base", false),
						},
						Effects: []*ast.Field{},
					},
					"dockerPush": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "ref", false),
						},
						Effects: []*ast.Field{
							ast.NewField(ast.String, "digest", false),
						},
					},
					"dockerLoad": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "ref", false),
						},
						Effects: []*ast.Field{},
					},
					"download": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "localPath", false),
						},
						Effects: []*ast.Field{},
					},
					"downloadTarball": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "localPath", false),
						},
						Effects: []*ast.Field{},
					},
					"downloadOCITarball": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "localPath", false),
						},
						Effects: []*ast.Field{},
					},
					"downloadDockerTarball": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "localPath", false),
							ast.NewField(ast.String, "ref", false),
						},
						Effects: []*ast.Field{},
					},
					"entrypoint": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "args", true),
						},
						Effects: []*ast.Field{},
					},
					"cmd": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "args", true),
						},
						Effects: []*ast.Field{},
					},
					"label": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "key", false),
							ast.NewField(ast.String, "value", false),
						},
						Effects: []*ast.Field{},
					},
					"expose": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "ports", true),
						},
						Effects: []*ast.Field{},
					},
					"volumes": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "mountpoints", true),
						},
						Effects: []*ast.Field{},
					},
					"stopSignal": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "signal", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::copy": {
				Func: map[string]FuncLookup{
					"followSymlinks": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"contentsOnly": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"unpack": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"createDestPath": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"allowWildcard": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"allowEmptyWildcard": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"chown": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "owner", false),
						},
						Effects: []*ast.Field{},
					},
					"chmod": {
						Params: []*ast.Field{
							ast.NewField(ast.Int, "filemode", false),
						},
						Effects: []*ast.Field{},
					},
					"createdTime": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "created", false),
						},
						Effects: []*ast.Field{},
					},
					"includePatterns": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "pattern", true),
						},
						Effects: []*ast.Field{},
					},
					"excludePatterns": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "pattern", true),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::dockerPush": {
				Func: map[string]FuncLookup{
					"stargz": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::frontend": {
				Func: map[string]FuncLookup{
					"input": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "key", false),
							ast.NewField(ast.Filesystem, "value", false),
						},
						Effects: []*ast.Field{},
					},
					"opt": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "key", false),
							ast.NewField(ast.String, "value", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::git": {
				Func: map[string]FuncLookup{
					"keepGitDir": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::http": {
				Func: map[string]FuncLookup{
					"checksum": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "digest", false),
						},
						Effects: []*ast.Field{},
					},
					"chmod": {
						Params: []*ast.Field{
							ast.NewField(ast.Int, "filemode", false),
						},
						Effects: []*ast.Field{},
					},
					"filename": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "name", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::image": {
				Func: map[string]FuncLookup{
					"resolve": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"platform": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "os", false),
							ast.NewField(ast.String, "arch", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::local": {
				Func: map[string]FuncLookup{
					"includePatterns": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "pattern", true),
						},
						Effects: []*ast.Field{},
					},
					"excludePatterns": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "pattern", true),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::localRun": {
				Func: map[string]FuncLookup{
					"ignoreError": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"includeStderr": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"onlyStderr": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"shlex": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::manifest": {
				Func: map[string]FuncLookup{
					"platform": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "os", false),
							ast.NewField(ast.String, "arch", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::mkdir": {
				Func: map[string]FuncLookup{
					"createParents": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"chown": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "owner", false),
						},
						Effects: []*ast.Field{},
					},
					"createdTime": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "created", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::mkfile": {
				Func: map[string]FuncLookup{
					"chown": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "owner", false),
						},
						Effects: []*ast.Field{},
					},
					"createdTime": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "created", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::mount": {
				Func: map[string]FuncLookup{
					"readonly": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"tmpfs": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"sourcePath": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "path", false),
						},
						Effects: []*ast.Field{},
					},
					"cache": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "cacheid", false),
							ast.NewField(ast.String, "sharingmode", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::rm": {
				Func: map[string]FuncLookup{
					"allowNotFound": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"allowWildcard": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::run": {
				Func: map[string]FuncLookup{
					"readonlyRootfs": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"env": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "key", false),
							ast.NewField(ast.String, "value", false),
						},
						Effects: []*ast.Field{},
					},
					"dir": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "path", false),
						},
						Effects: []*ast.Field{},
					},
					"user": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "name", false),
						},
						Effects: []*ast.Field{},
					},
					"ignoreCache": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"network": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "networkmode", false),
						},
						Effects: []*ast.Field{},
					},
					"security": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "securitymode", false),
						},
						Effects: []*ast.Field{},
					},
					"shlex": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"host": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "hostname", false),
							ast.NewField(ast.String, "address", false),
						},
						Effects: []*ast.Field{},
					},
					"ssh": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"forward": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "src", false),
							ast.NewField(ast.String, "dest", false),
						},
						Effects: []*ast.Field{},
					},
					"secret": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "localPath", false),
							ast.NewField(ast.String, "mountPoint", false),
						},
						Effects: []*ast.Field{},
					},
					"mount": {
						Params: []*ast.Field{
							ast.NewField(ast.Filesystem, "input", false),
							ast.NewField(ast.String, "mountPoint", false),
						},
						Effects: []*ast.Field{
							ast.NewField(ast.Filesystem, "target", false),
						},
					},
				},
			},
			"option::secret": {
				Func: map[string]FuncLookup{
					"uid": {
						Params: []*ast.Field{
							ast.NewField(ast.Int, "id", false),
						},
						Effects: []*ast.Field{},
					},
					"gid": {
						Params: []*ast.Field{
							ast.NewField(ast.Int, "id", false),
						},
						Effects: []*ast.Field{},
					},
					"mode": {
						Params: []*ast.Field{
							ast.NewField(ast.Int, "filemode", false),
						},
						Effects: []*ast.Field{},
					},
					"includePatterns": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "pattern", true),
						},
						Effects: []*ast.Field{},
					},
					"excludePatterns": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "pattern", true),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::ssh": {
				Func: map[string]FuncLookup{
					"target": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "mountPoint", false),
						},
						Effects: []*ast.Field{},
					},
					"localPaths": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "path", true),
						},
						Effects: []*ast.Field{},
					},
					"uid": {
						Params: []*ast.Field{
							ast.NewField(ast.Int, "id", false),
						},
						Effects: []*ast.Field{},
					},
					"gid": {
						Params: []*ast.Field{
							ast.NewField(ast.Int, "id", false),
						},
						Effects: []*ast.Field{},
					},
					"mode": {
						Params: []*ast.Field{
							ast.NewField(ast.Int, "filemode", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"option::template": {
				Func: map[string]FuncLookup{
					"stringField": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "name", false),
							ast.NewField(ast.String, "value", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			"pipeline": {
				Func: map[string]FuncLookup{
					"stage": {
						Params: []*ast.Field{
							ast.NewField("pipeline", "pipelines", true),
						},
						Effects: []*ast.Field{},
					},
				},
			},
			ast.String: {
				Func: map[string]FuncLookup{
					"format": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "formatString", false),
							ast.NewField(ast.String, "values", true),
						},
						Effects: []*ast.Field{},
					},
					"localArch": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"localCwd": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"localEnv": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "key", false),
						},
						Effects: []*ast.Field{},
					},
					"localOs": {
						Params:  []*ast.Field{},
						Effects: []*ast.Field{},
					},
					"localRun": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "command", false),
							ast.NewField(ast.String, "args", true),
						},
						Effects: []*ast.Field{},
					},
					"manifest": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "ref", false),
						},
						Effects: []*ast.Field{
							ast.NewField(ast.String, "digest", false),
							ast.NewField(ast.String, "config", false),
							ast.NewField(ast.String, "index", false),
						},
					},
					"template": {
						Params: []*ast.Field{
							ast.NewField(ast.String, "text", false),
						},
						Effects: []*ast.Field{},
					},
				},
			},
		},
	}

	Reference = `` /* 25746-byte string literal not displayed */

)

Functions

func Buffers

func Buffers() *filebuffer.BufferLookup

func Modules

func Modules() *ast.ModuleLookup

Types

type BuiltinLookup

type BuiltinLookup struct {
	ByKind map[ast.Kind]LookupByKind
}

type FuncLookup

type FuncLookup struct {
	Params  []*ast.Field
	Effects []*ast.Field
}

type LookupByKind

type LookupByKind struct {
	Func map[string]FuncLookup
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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