mirror of https://github.com/docker/cli.git
173 lines
4.7 KiB
Go
173 lines
4.7 KiB
Go
package moby_buildkit_v1_frontend //nolint:golint
|
|
|
|
import "github.com/moby/buildkit/util/apicaps"
|
|
|
|
var Caps apicaps.CapList
|
|
|
|
// Every backwards or forwards non-compatible change needs to add a new capability row.
|
|
// By default new capabilities should be experimental. After merge a capability is
|
|
// considered immutable. After a capability is marked stable it should not be disabled.
|
|
|
|
const (
|
|
CapSolveBase apicaps.CapID = "solve.base"
|
|
CapSolveInlineReturn apicaps.CapID = "solve.inlinereturn"
|
|
CapResolveImage apicaps.CapID = "resolveimage"
|
|
CapResolveImageResolveMode apicaps.CapID = "resolveimage.resolvemode"
|
|
CapReadFile apicaps.CapID = "readfile"
|
|
CapReturnResult apicaps.CapID = "return"
|
|
CapReturnMap apicaps.CapID = "returnmap"
|
|
CapReadDir apicaps.CapID = "readdir"
|
|
CapStatFile apicaps.CapID = "statfile"
|
|
CapImportCaches apicaps.CapID = "importcaches"
|
|
|
|
// CapProtoRefArray is a capability to return arrays of refs instead of single
|
|
// refs. This capability is only for the wire format change and shouldn't be
|
|
// used in frontends for feature detection.
|
|
CapProtoRefArray apicaps.CapID = "proto.refarray"
|
|
|
|
// CapReferenceOutput is a capability to use a reference of a solved result as
|
|
// an llb.Output.
|
|
CapReferenceOutput apicaps.CapID = "reference.output"
|
|
|
|
// CapFrontendInputs is a capability to request frontend inputs from the
|
|
// LLBBridge GRPC server.
|
|
CapFrontendInputs apicaps.CapID = "frontend.inputs"
|
|
|
|
// CapGatewaySolveMetadata can be used to check if solve calls from gateway reliably return metadata
|
|
CapGatewaySolveMetadata apicaps.CapID = "gateway.solve.metadata"
|
|
|
|
// CapGatewayExec is the capability to create and interact with new
|
|
// containers directly through the gateway
|
|
CapGatewayExec apicaps.CapID = "gateway.exec"
|
|
|
|
// CapFrontendCaps can be used to check that frontends define support for certain capabilities
|
|
CapFrontendCaps apicaps.CapID = "frontend.caps"
|
|
|
|
// CapGatewayEvaluateSolve is a capability to immediately unlazy solve
|
|
// results. This is generally used by the client to return and handle solve
|
|
// errors.
|
|
CapGatewayEvaluateSolve apicaps.CapID = "gateway.solve.evaluate"
|
|
)
|
|
|
|
func init() {
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapSolveBase,
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapSolveInlineReturn,
|
|
Name: "inline return from solve",
|
|
Enabled: true,
|
|
Deprecated: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapResolveImage,
|
|
Name: "resolve remote image config",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapResolveImageResolveMode,
|
|
Name: "resolve remote image config with custom resolvemode",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapReadFile,
|
|
Name: "read static file",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapReturnResult,
|
|
Name: "return solve result",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapReturnMap,
|
|
Name: "return reference map",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapReadDir,
|
|
Name: "read static directory",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapStatFile,
|
|
Name: "stat a file",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapImportCaches,
|
|
Name: "import caches",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapProtoRefArray,
|
|
Name: "wire format ref arrays",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapReferenceOutput,
|
|
Name: "reference output",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapFrontendInputs,
|
|
Name: "frontend inputs",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapGatewaySolveMetadata,
|
|
Name: "gateway metadata",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapGatewayExec,
|
|
Name: "gateway exec",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapFrontendCaps,
|
|
Name: "frontend capabilities",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
ID: CapGatewayEvaluateSolve,
|
|
Name: "gateway evaluate solve",
|
|
Enabled: true,
|
|
Status: apicaps.CapStatusExperimental,
|
|
})
|
|
}
|