mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
This field was used in the CLI to produce a warning added in [moby@4a8b3ca] to print a warning when building Linux images from a Windows client. Window's filesystem does not have an "executable" bit, which mean that, for example, copying a shell script to an image during build would lose the executable bit. So for Windows clients, the executable bit would be set on all files, unconditionally. Originally this was detected in the client, which had direct access to the API response headers, but when refactoring the client to use a common library in [moby@535c4c9], this was refactored into a `ImageBuildResponse` wrapper, deconstructing the API response into an `io.Reader` and a string field containing only the `OSType` header. The warning was removed in [cli@af65ee4], so we don't have to carry this field in the new client module going forward. With the field removed, we can consider the client to return the full HTTP response again, but leaving that for a follow-up, as we may want to rewrite these streaming functions altogether. [moby@4a8b3ca]:4a8b3cad60[moby@535c4c9]:535c4c9a59[cli@af65ee4]:af65ee4584Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
77 lines
2.3 KiB
Go
77 lines
2.3 KiB
Go
package client
|
|
|
|
import (
|
|
"io"
|
|
|
|
"github.com/moby/moby/api/types/build"
|
|
"github.com/moby/moby/api/types/container"
|
|
"github.com/moby/moby/api/types/registry"
|
|
)
|
|
|
|
// ImageBuildOptions holds the information
|
|
// necessary to build images.
|
|
type ImageBuildOptions struct {
|
|
Tags []string
|
|
SuppressOutput bool
|
|
RemoteContext string
|
|
NoCache bool
|
|
Remove bool
|
|
ForceRemove bool
|
|
PullParent bool
|
|
Isolation container.Isolation
|
|
CPUSetCPUs string
|
|
CPUSetMems string
|
|
CPUShares int64
|
|
CPUQuota int64
|
|
CPUPeriod int64
|
|
Memory int64
|
|
MemorySwap int64
|
|
CgroupParent string
|
|
NetworkMode string
|
|
ShmSize int64
|
|
Dockerfile string
|
|
Ulimits []*container.Ulimit
|
|
// BuildArgs needs to be a *string instead of just a string so that
|
|
// we can tell the difference between "" (empty string) and no value
|
|
// at all (nil). See the parsing of buildArgs in
|
|
// api/server/router/build/build_routes.go for even more info.
|
|
BuildArgs map[string]*string
|
|
AuthConfigs map[string]registry.AuthConfig
|
|
Context io.Reader
|
|
Labels map[string]string
|
|
// squash the resulting image's layers to the parent
|
|
// preserves the original image and creates a new one from the parent with all
|
|
// the changes applied to a single layer
|
|
Squash bool
|
|
// CacheFrom specifies images that are used for matching cache. Images
|
|
// specified here do not need to have a valid parent chain to match cache.
|
|
CacheFrom []string
|
|
SecurityOpt []string
|
|
ExtraHosts []string // List of extra hosts
|
|
Target string
|
|
SessionID string
|
|
Platform string
|
|
// Version specifies the version of the underlying builder to use
|
|
Version build.BuilderVersion
|
|
// BuildID is an optional identifier that can be passed together with the
|
|
// build request. The same identifier can be used to gracefully cancel the
|
|
// build with the cancel request.
|
|
BuildID string
|
|
// Outputs defines configurations for exporting build results. Only supported
|
|
// in BuildKit mode
|
|
Outputs []ImageBuildOutput
|
|
}
|
|
|
|
// ImageBuildOutput defines configuration for exporting a build result
|
|
type ImageBuildOutput struct {
|
|
Type string
|
|
Attrs map[string]string
|
|
}
|
|
|
|
// ImageBuildResponse holds information
|
|
// returned by a server after building
|
|
// an image.
|
|
type ImageBuildResponse struct {
|
|
Body io.ReadCloser
|
|
}
|