2018-07-18 22:32:37 +00:00
|
|
|
package pb
|
|
|
|
|
|
|
|
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 (
|
|
|
|
CapSourceImage apicaps.CapID = "source.image"
|
2018-07-25 01:18:53 +00:00
|
|
|
CapSourceImageResolveMode apicaps.CapID = "source.image.resolvemode"
|
2018-07-18 22:32:37 +00:00
|
|
|
CapSourceLocal apicaps.CapID = "source.local"
|
|
|
|
CapSourceLocalUnique apicaps.CapID = "source.local.unique"
|
|
|
|
CapSourceLocalSessionID apicaps.CapID = "source.local.sessionid"
|
|
|
|
CapSourceLocalIncludePatterns apicaps.CapID = "source.local.includepatterns"
|
|
|
|
CapSourceLocalFollowPaths apicaps.CapID = "source.local.followpaths"
|
|
|
|
CapSourceLocalExcludePatterns apicaps.CapID = "source.local.excludepatterns"
|
|
|
|
CapSourceLocalSharedKeyHint apicaps.CapID = "source.local.sharedkeyhint"
|
2021-04-21 04:46:07 +00:00
|
|
|
CapSourceLocalDiffer apicaps.CapID = "source.local.differ"
|
2018-07-18 22:32:37 +00:00
|
|
|
|
2020-11-10 20:42:33 +00:00
|
|
|
CapSourceGit apicaps.CapID = "source.git"
|
|
|
|
CapSourceGitKeepDir apicaps.CapID = "source.git.keepgitdir"
|
|
|
|
CapSourceGitFullURL apicaps.CapID = "source.git.fullurl"
|
|
|
|
CapSourceGitHTTPAuth apicaps.CapID = "source.git.httpauth"
|
|
|
|
CapSourceGitKnownSSHHosts apicaps.CapID = "source.git.knownsshhosts"
|
|
|
|
CapSourceGitMountSSHSock apicaps.CapID = "source.git.mountsshsock"
|
2021-05-20 04:10:58 +00:00
|
|
|
CapSourceGitSubdir apicaps.CapID = "source.git.subdir"
|
2018-07-18 22:32:37 +00:00
|
|
|
|
|
|
|
CapSourceHTTP apicaps.CapID = "source.http"
|
|
|
|
CapSourceHTTPChecksum apicaps.CapID = "source.http.checksum"
|
|
|
|
CapSourceHTTPPerm apicaps.CapID = "source.http.perm"
|
|
|
|
CapSourceHTTPUIDGID apicaps.CapID = "soruce.http.uidgid"
|
|
|
|
|
|
|
|
CapBuildOpLLBFileName apicaps.CapID = "source.buildop.llbfilename"
|
|
|
|
|
2019-08-09 04:09:58 +00:00
|
|
|
CapExecMetaBase apicaps.CapID = "exec.meta.base"
|
|
|
|
CapExecMetaProxy apicaps.CapID = "exec.meta.proxyenv"
|
|
|
|
CapExecMetaNetwork apicaps.CapID = "exec.meta.network"
|
|
|
|
CapExecMetaSecurity apicaps.CapID = "exec.meta.security"
|
|
|
|
CapExecMetaSetsDefaultPath apicaps.CapID = "exec.meta.setsdefaultpath"
|
|
|
|
CapExecMountBind apicaps.CapID = "exec.mount.bind"
|
|
|
|
CapExecMountBindReadWriteNoOuput apicaps.CapID = "exec.mount.bind.readwrite-nooutput"
|
|
|
|
CapExecMountCache apicaps.CapID = "exec.mount.cache"
|
|
|
|
CapExecMountCacheSharing apicaps.CapID = "exec.mount.cache.sharing"
|
|
|
|
CapExecMountSelector apicaps.CapID = "exec.mount.selector"
|
|
|
|
CapExecMountTmpfs apicaps.CapID = "exec.mount.tmpfs"
|
|
|
|
CapExecMountSecret apicaps.CapID = "exec.mount.secret"
|
|
|
|
CapExecMountSSH apicaps.CapID = "exec.mount.ssh"
|
|
|
|
CapExecCgroupsMounted apicaps.CapID = "exec.cgroup"
|
2018-07-18 22:32:37 +00:00
|
|
|
|
2020-01-30 19:28:13 +00:00
|
|
|
CapExecMetaSecurityDeviceWhitelistV1 apicaps.CapID = "exec.meta.security.devices.v1"
|
|
|
|
|
2021-05-13 18:53:18 +00:00
|
|
|
CapFileBase apicaps.CapID = "file.base"
|
|
|
|
CapFileRmWildcard apicaps.CapID = "file.rm.wildcard"
|
|
|
|
CapFileCopyIncludeExcludePatterns apicaps.CapID = "file.copy.includeexcludepatterns"
|
2019-03-08 02:40:44 +00:00
|
|
|
|
2018-07-18 22:32:37 +00:00
|
|
|
CapConstraints apicaps.CapID = "constraints"
|
|
|
|
CapPlatform apicaps.CapID = "platform"
|
|
|
|
|
|
|
|
CapMetaIgnoreCache apicaps.CapID = "meta.ignorecache"
|
|
|
|
CapMetaDescription apicaps.CapID = "meta.description"
|
|
|
|
CapMetaExportCache apicaps.CapID = "meta.exportcache"
|
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceImage,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-07-25 01:18:53 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceImageResolveMode,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-07-18 22:32:37 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceLocal,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceLocalUnique,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceLocalSessionID,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceLocalIncludePatterns,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceLocalFollowPaths,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceLocalExcludePatterns,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceLocalSharedKeyHint,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
2021-04-21 04:46:07 +00:00
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceLocalDiffer,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-07-18 22:32:37 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceGit,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceGitKeepDir,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceGitFullURL,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2020-06-16 23:45:17 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
2020-07-18 16:11:39 +00:00
|
|
|
ID: CapSourceGitHTTPAuth,
|
2020-06-16 23:45:17 +00:00
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2020-11-10 20:42:33 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceGitKnownSSHHosts,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceGitMountSSHSock,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2021-05-20 04:10:58 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceGitSubdir,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-07-18 22:32:37 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceHTTP,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceHTTPChecksum,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceHTTPPerm,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapSourceHTTPUIDGID,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapBuildOpLLBFileName,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMetaBase,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMetaProxy,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-08-04 19:42:01 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMetaNetwork,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-09-20 12:57:28 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMetaSetsDefaultPath,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2019-01-10 02:24:25 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMetaSecurity,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
2020-01-30 19:28:13 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMetaSecurityDeviceWhitelistV1,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
2019-01-10 02:24:25 +00:00
|
|
|
})
|
|
|
|
|
2018-07-18 22:32:37 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMountBind,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2019-08-09 04:09:58 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMountBindReadWriteNoOuput,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-07-18 22:32:37 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMountCache,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMountCacheSharing,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMountSelector,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecMountTmpfs,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
2018-10-03 06:03:36 +00:00
|
|
|
ID: CapExecMountSecret,
|
2018-07-19 21:44:18 +00:00
|
|
|
Enabled: true,
|
2018-07-18 22:32:37 +00:00
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-10-02 06:17:08 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
2018-10-03 06:03:36 +00:00
|
|
|
ID: CapExecMountSSH,
|
2018-10-02 06:17:08 +00:00
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-10-02 23:37:28 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapExecCgroupsMounted,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2019-03-08 02:40:44 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapFileBase,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusPrerelease,
|
2019-03-18 23:35:30 +00:00
|
|
|
SupportedHint: map[string]string{
|
|
|
|
"docker": "Docker v19.03",
|
|
|
|
"buildkit": "BuildKit v0.5.0",
|
|
|
|
},
|
2019-03-08 02:40:44 +00:00
|
|
|
})
|
|
|
|
|
2019-10-30 21:25:00 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapFileRmWildcard,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2021-04-22 16:55:56 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
2021-05-13 18:53:18 +00:00
|
|
|
ID: CapFileCopyIncludeExcludePatterns,
|
2021-04-22 16:55:56 +00:00
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
2018-07-18 22:32:37 +00:00
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapConstraints,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapPlatform,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapMetaIgnoreCache,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapMetaDescription,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
|
|
|
|
Caps.Init(apicaps.Cap{
|
|
|
|
ID: CapMetaExportCache,
|
|
|
|
Enabled: true,
|
|
|
|
Status: apicaps.CapStatusExperimental,
|
|
|
|
})
|
|
|
|
}
|