Documentation ¶
Index ¶
- Constants
- Variables
- func AddPlatformFlag(flags *pflag.FlagSet, target *string)
- func AddTrustSigningFlags(fs *pflag.FlagSet, v *bool, trusted bool)
- func AddTrustVerificationFlags(fs *pflag.FlagSet, v *bool, trusted bool)
- func BuildKitEnabled(si ServerInfo) (bool, error)
- func ConfigureAuth(cli Cli, flUser, flPassword string, authconfig *types.AuthConfig, ...) error
- func CopyToFile(outfile string, r io.Reader) error
- func DefaultContextStoreConfig() store.Config
- func ElectAuthServer(ctx context.Context, cli Cli) string
- func EncodeAuthToBase64(authConfig types.AuthConfig) (string, error)
- func GetDefaultAuthConfig(cli Cli, checkCredStore bool, serverAddress string, isDefaultRegistry bool) (types.AuthConfig, error)
- func NewAPIClientFromFlags(opts *cliflags.CommonOptions, configFile *configfile.ConfigFile) (client.APIClient, error)
- func PrettyPrint(i interface{}) string
- func PromptForConfirmation(ins io.Reader, outs io.Writer, message string) bool
- func PruneFilters(dockerCli Cli, pruneFilters filters.Args) filters.Args
- func RegisterDefaultStoreEndpoints(ep ...store.NamedTypeGetter)
- func RegistryAuthenticationPrivilegedFunc(cli Cli, index *registrytypes.IndexInfo, cmdName string) types.RequestPrivilegeFunc
- func ResolveAuthConfig(ctx context.Context, cli Cli, index *registrytypes.IndexInfo) types.AuthConfig
- func RetrieveAuthTokenFromImage(ctx context.Context, cli Cli, image string) (string, error)
- func ShowHelp(err io.Writer) func(*cobra.Command, []string) error
- func StringSliceReplaceAt(s, old, new []string, requireIndex int) ([]string, bool)
- func UserAgent() string
- func ValidateOutputPath(path string) error
- func ValidateOutputPathFileMode(fileMode os.FileMode) error
- type Cli
- type ClientInfo
- type ContextStoreWithDefault
- func (s *ContextStoreWithDefault) CreateOrUpdate(meta store.Metadata) error
- func (s *ContextStoreWithDefault) GetMetadata(name string) (store.Metadata, error)
- func (s *ContextStoreWithDefault) GetStorageInfo(contextName string) store.StorageInfo
- func (s *ContextStoreWithDefault) GetTLSData(contextName, endpointName, fileName string) ([]byte, error)
- func (s *ContextStoreWithDefault) List() ([]store.Metadata, error)
- func (s *ContextStoreWithDefault) ListTLSFiles(name string) (map[string]store.EndpointFiles, error)
- func (s *ContextStoreWithDefault) Remove(name string) error
- func (s *ContextStoreWithDefault) ResetEndpointTLSMaterial(contextName string, endpointName string, data *store.EndpointTLSData) error
- func (s *ContextStoreWithDefault) ResetTLSMaterial(name string, data *store.ContextTLSData) error
- type DefaultContext
- type DefaultContextResolver
- type DockerCli
- func (cli *DockerCli) Apply(ops ...DockerCliOption) error
- func (cli *DockerCli) Client() client.APIClient
- func (cli *DockerCli) ClientInfo() ClientInfo
- func (cli *DockerCli) ConfigFile() *configfile.ConfigFile
- func (cli *DockerCli) ContentTrustEnabled() bool
- func (cli *DockerCli) ContextStore() store.Store
- func (cli *DockerCli) CurrentContext() string
- func (cli *DockerCli) DefaultVersion() string
- func (cli *DockerCli) DockerEndpoint() docker.Endpoint
- func (cli *DockerCli) Err() io.Writer
- func (cli *DockerCli) In() *streams.In
- func (cli *DockerCli) Initialize(opts *cliflags.ClientOptions, ops ...InitializeOpt) error
- func (cli *DockerCli) ManifestStore() manifeststore.Store
- func (cli *DockerCli) NotaryClient(imgRefAndAuth trust.ImageRefAndAuth, actions []string) (notaryclient.Repository, error)
- func (cli *DockerCli) Out() *streams.Out
- func (cli *DockerCli) RegistryClient(allowInsecure bool) registryclient.RegistryClient
- func (cli *DockerCli) ServerInfo() ServerInfo
- func (cli *DockerCli) SetIn(in *streams.In)
- func (cli *DockerCli) StackOrchestrator(flagValue string) (Orchestrator, error)
- type DockerCliOption
- func WithCombinedStreams(combined io.Writer) DockerCliOption
- func WithContentTrust(enabled bool) DockerCliOption
- func WithContentTrustFromEnv() DockerCliOption
- func WithContextEndpointType(endpointName string, endpointType store.TypeGetter) DockerCliOption
- func WithErrorStream(err io.Writer) DockerCliOption
- func WithInputStream(in io.ReadCloser) DockerCliOption
- func WithOutputStream(out io.Writer) DockerCliOption
- func WithStandardStreams() DockerCliOption
- type DockerContext
- type EndpointDefaultResolver
- type EventHandler
- type InStream
- type InitializeOpt
- type Orchestrator
- type OutStream
- type ServerInfo
- type Streams
Constants ¶
const ( // OrchestratorKubernetes orchestrator OrchestratorKubernetes = Orchestrator("kubernetes") // OrchestratorSwarm orchestrator OrchestratorSwarm = Orchestrator("swarm") // OrchestratorAll orchestrator OrchestratorAll = Orchestrator("all") )
const (
// DefaultContextName is the name reserved for the default context (config & env based)
DefaultContextName = "default"
)
Variables ¶
var ( // NewInStream returns a new InStream object from a ReadCloser // Deprecated: Use github.com/docker/cli/cli/streams.NewIn instead NewInStream = streams.NewIn // NewOutStream returns a new OutStream object from a Writer // Deprecated: Use github.com/docker/cli/cli/streams.NewOut instead NewOutStream = streams.NewOut )
Functions ¶
func AddPlatformFlag ¶
AddPlatformFlag adds `platform` to a set of flags for API version 1.32 and later.
func AddTrustSigningFlags ¶
AddTrustSigningFlags adds "signing" flags to the provided flagset
func AddTrustVerificationFlags ¶
AddTrustVerificationFlags adds content trust flags to the provided flagset
func BuildKitEnabled ¶
func BuildKitEnabled(si ServerInfo) (bool, error)
BuildKitEnabled returns whether buildkit is enabled either through a daemon setting or otherwise the client-side DOCKER_BUILDKIT environment variable
func ConfigureAuth ¶
func ConfigureAuth(cli Cli, flUser, flPassword string, authconfig *types.AuthConfig, isDefaultRegistry bool) error
ConfigureAuth handles prompting of user's username and password if needed
func CopyToFile ¶
CopyToFile writes the content of the reader to the specified file
func DefaultContextStoreConfig ¶
DefaultContextStoreConfig returns a new store.Config with the default set of endpoints configured.
func ElectAuthServer ¶
ElectAuthServer returns the default registry to use (by asking the daemon)
func EncodeAuthToBase64 ¶
func EncodeAuthToBase64(authConfig types.AuthConfig) (string, error)
EncodeAuthToBase64 serializes the auth configuration as JSON base64 payload
func GetDefaultAuthConfig ¶
func GetDefaultAuthConfig(cli Cli, checkCredStore bool, serverAddress string, isDefaultRegistry bool) (types.AuthConfig, error)
GetDefaultAuthConfig gets the default auth config given a serverAddress If credentials for given serverAddress exists in the credential store, the configuration will be populated with values in it
func NewAPIClientFromFlags ¶
func NewAPIClientFromFlags(opts *cliflags.CommonOptions, configFile *configfile.ConfigFile) (client.APIClient, error)
NewAPIClientFromFlags creates a new APIClient from command line flags
func PrettyPrint ¶
func PrettyPrint(i interface{}) string
PrettyPrint outputs arbitrary data for human formatted output by uppercasing the first letter.
func PromptForConfirmation ¶
PromptForConfirmation requests and checks confirmation from user. This will display the provided message followed by ' y/N '. If the user input 'y' or 'Y' it returns true other false. If no message is provided "Are you sure you want to proceed? y/N " will be used instead.
func PruneFilters ¶
PruneFilters returns consolidated prune filters obtained from config.json and cli
func RegisterDefaultStoreEndpoints ¶
func RegisterDefaultStoreEndpoints(ep ...store.NamedTypeGetter)
RegisterDefaultStoreEndpoints registers a new named endpoint metadata type with the default context store config, so that endpoint will be supported by stores using the config returned by DefaultContextStoreConfig.
func RegistryAuthenticationPrivilegedFunc ¶
func RegistryAuthenticationPrivilegedFunc(cli Cli, index *registrytypes.IndexInfo, cmdName string) types.RequestPrivilegeFunc
RegistryAuthenticationPrivilegedFunc returns a RequestPrivilegeFunc from the specified registry index info for the given command.
func ResolveAuthConfig ¶
func ResolveAuthConfig(ctx context.Context, cli Cli, index *registrytypes.IndexInfo) types.AuthConfig
ResolveAuthConfig is like registry.ResolveAuthConfig, but if using the default index, it uses the default index name for the daemon's platform, not the client's platform.
func RetrieveAuthTokenFromImage ¶
RetrieveAuthTokenFromImage retrieves an encoded auth token given a complete image
func StringSliceReplaceAt ¶
StringSliceReplaceAt replaces the sub-slice old, with the sub-slice new, in the string slice s, returning a new slice and a boolean indicating if the replacement happened. requireIdx is the index at which old needs to be found at (or -1 to disregard that).
func UserAgent ¶
func UserAgent() string
UserAgent returns the user agent string used for making API requests
func ValidateOutputPath ¶
ValidateOutputPath validates the output paths of the `export` and `save` commands.
func ValidateOutputPathFileMode ¶
ValidateOutputPathFileMode validates the output paths of the `cp` command and serves as a helper to `ValidateOutputPath`
Types ¶
type Cli ¶
type Cli interface { Client() client.APIClient Out() *streams.Out Err() io.Writer In() *streams.In SetIn(in *streams.In) Apply(ops ...DockerCliOption) error ConfigFile() *configfile.ConfigFile ServerInfo() ServerInfo ClientInfo() ClientInfo NotaryClient(imgRefAndAuth trust.ImageRefAndAuth, actions []string) (notaryclient.Repository, error) DefaultVersion() string ManifestStore() manifeststore.Store RegistryClient(bool) registryclient.RegistryClient ContentTrustEnabled() bool ContextStore() store.Store CurrentContext() string StackOrchestrator(flagValue string) (Orchestrator, error) DockerEndpoint() docker.Endpoint }
Cli represents the docker command line client.
type ClientInfo ¶
type ClientInfo struct { // Deprecated: experimental CLI features always enabled. This field is kept // for backward-compatibility, and is always "true". HasExperimental bool DefaultVersion string }
ClientInfo stores details about the supported features of the client
type ContextStoreWithDefault ¶
type ContextStoreWithDefault struct { store.Store Resolver DefaultContextResolver }
ContextStoreWithDefault implements the store.Store interface with a support for the default context
func (*ContextStoreWithDefault) CreateOrUpdate ¶
func (s *ContextStoreWithDefault) CreateOrUpdate(meta store.Metadata) error
CreateOrUpdate is not allowed for the default context and fails
func (*ContextStoreWithDefault) GetMetadata ¶
func (s *ContextStoreWithDefault) GetMetadata(name string) (store.Metadata, error)
GetMetadata implements store.Store's GetMetadata
func (*ContextStoreWithDefault) GetStorageInfo ¶
func (s *ContextStoreWithDefault) GetStorageInfo(contextName string) store.StorageInfo
GetStorageInfo implements store.Store's GetStorageInfo
func (*ContextStoreWithDefault) GetTLSData ¶
func (s *ContextStoreWithDefault) GetTLSData(contextName, endpointName, fileName string) ([]byte, error)
GetTLSData implements store.Store's GetTLSData
func (*ContextStoreWithDefault) List ¶
func (s *ContextStoreWithDefault) List() ([]store.Metadata, error)
List implements store.Store's List
func (*ContextStoreWithDefault) ListTLSFiles ¶
func (s *ContextStoreWithDefault) ListTLSFiles(name string) (map[string]store.EndpointFiles, error)
ListTLSFiles implements store.Store's ListTLSFiles
func (*ContextStoreWithDefault) Remove ¶
func (s *ContextStoreWithDefault) Remove(name string) error
Remove is not allowed for the default context and fails
func (*ContextStoreWithDefault) ResetEndpointTLSMaterial ¶
func (s *ContextStoreWithDefault) ResetEndpointTLSMaterial(contextName string, endpointName string, data *store.EndpointTLSData) error
ResetEndpointTLSMaterial is not implemented for default context and fails
func (*ContextStoreWithDefault) ResetTLSMaterial ¶
func (s *ContextStoreWithDefault) ResetTLSMaterial(name string, data *store.ContextTLSData) error
ResetTLSMaterial is not implemented for default context and fails
type DefaultContext ¶
type DefaultContext struct { Meta store.Metadata TLS store.ContextTLSData }
DefaultContext contains the default context data for all endpoints
func ResolveDefaultContext ¶
func ResolveDefaultContext(opts *cliflags.CommonOptions, config *configfile.ConfigFile, storeconfig store.Config, stderr io.Writer) (*DefaultContext, error)
ResolveDefaultContext creates a Metadata for the current CLI invocation parameters
type DefaultContextResolver ¶
type DefaultContextResolver func() (*DefaultContext, error)
DefaultContextResolver is a function which resolves the default context base on the configuration and the env variables
type DockerCli ¶
type DockerCli struct {
// contains filtered or unexported fields
}
DockerCli is an instance the docker command line client. Instances of the client can be returned from NewDockerCli.
func NewDockerCli ¶
func NewDockerCli(ops ...DockerCliOption) (*DockerCli, error)
NewDockerCli returns a DockerCli instance with all operators applied on it. It applies by default the standard streams, and the content trust from environment.
func (*DockerCli) Apply ¶
func (cli *DockerCli) Apply(ops ...DockerCliOption) error
Apply all the operation on the cli
func (*DockerCli) ClientInfo ¶
func (cli *DockerCli) ClientInfo() ClientInfo
ClientInfo returns the client details for the cli
func (*DockerCli) ConfigFile ¶
func (cli *DockerCli) ConfigFile() *configfile.ConfigFile
ConfigFile returns the ConfigFile
func (*DockerCli) ContentTrustEnabled ¶
ContentTrustEnabled returns whether content trust has been enabled by an environment variable.
func (*DockerCli) ContextStore ¶
ContextStore returns the ContextStore
func (*DockerCli) CurrentContext ¶
CurrentContext returns the current context name
func (*DockerCli) DefaultVersion ¶
DefaultVersion returns api.defaultVersion or DOCKER_API_VERSION if specified.
func (*DockerCli) DockerEndpoint ¶
DockerEndpoint returns the current docker endpoint
func (*DockerCli) Initialize ¶
func (cli *DockerCli) Initialize(opts *cliflags.ClientOptions, ops ...InitializeOpt) error
Initialize the dockerCli runs initialization that must happen after command line flags are parsed.
func (*DockerCli) ManifestStore ¶
func (cli *DockerCli) ManifestStore() manifeststore.Store
ManifestStore returns a store for local manifests
func (*DockerCli) NotaryClient ¶
func (cli *DockerCli) NotaryClient(imgRefAndAuth trust.ImageRefAndAuth, actions []string) (notaryclient.Repository, error)
NotaryClient provides a Notary Repository to interact with signed metadata for an image
func (*DockerCli) RegistryClient ¶
func (cli *DockerCli) RegistryClient(allowInsecure bool) registryclient.RegistryClient
RegistryClient returns a client for communicating with a Docker distribution registry
func (*DockerCli) ServerInfo ¶
func (cli *DockerCli) ServerInfo() ServerInfo
ServerInfo returns the server version details for the host this client is connected to
func (*DockerCli) StackOrchestrator ¶
func (cli *DockerCli) StackOrchestrator(flagValue string) (Orchestrator, error)
StackOrchestrator resolves which stack orchestrator is in use
type DockerCliOption ¶
DockerCliOption applies a modification on a DockerCli.
func WithCombinedStreams ¶
func WithCombinedStreams(combined io.Writer) DockerCliOption
WithCombinedStreams uses the same stream for the output and error streams.
func WithContentTrust ¶
func WithContentTrust(enabled bool) DockerCliOption
WithContentTrust enables content trust on a cli.
func WithContentTrustFromEnv ¶
func WithContentTrustFromEnv() DockerCliOption
WithContentTrustFromEnv enables content trust on a cli from environment variable DOCKER_CONTENT_TRUST value.
func WithContextEndpointType ¶
func WithContextEndpointType(endpointName string, endpointType store.TypeGetter) DockerCliOption
WithContextEndpointType add support for an additional typed endpoint in the context store Plugins should use this to store additional endpoints configuration in the context store
func WithErrorStream ¶
func WithErrorStream(err io.Writer) DockerCliOption
WithErrorStream sets a cli error stream.
func WithInputStream ¶
func WithInputStream(in io.ReadCloser) DockerCliOption
WithInputStream sets a cli input stream.
func WithOutputStream ¶
func WithOutputStream(out io.Writer) DockerCliOption
WithOutputStream sets a cli output stream.
func WithStandardStreams ¶
func WithStandardStreams() DockerCliOption
WithStandardStreams sets a cli in, out and err streams with the standard streams.
type DockerContext ¶
type DockerContext struct { Description string StackOrchestrator Orchestrator AdditionalFields map[string]interface{} }
DockerContext is a typed representation of what we put in Context metadata
func GetDockerContext ¶
func GetDockerContext(storeMetadata store.Metadata) (DockerContext, error)
GetDockerContext extracts metadata from stored context metadata
func (DockerContext) MarshalJSON ¶
func (dc DockerContext) MarshalJSON() ([]byte, error)
MarshalJSON implements custom JSON marshalling
func (*DockerContext) UnmarshalJSON ¶
func (dc *DockerContext) UnmarshalJSON(payload []byte) error
UnmarshalJSON implements custom JSON marshalling
type EndpointDefaultResolver ¶
type EndpointDefaultResolver interface { // ResolveDefault returns values suitable for storing in store.Metadata.Endpoints // and store.ContextTLSData.Endpoints. // // An error is only returned for something fatal, not simply // the lack of a default (e.g. because the config file which // would contain it is missing). If there is no default then // returns nil, nil, nil. ResolveDefault(Orchestrator) (interface{}, *store.EndpointTLSData, error) }
EndpointDefaultResolver is implemented by any EndpointMeta object which wants to be able to populate the store with whatever their default is.
type EventHandler ¶
type EventHandler interface { Handle(action string, h func(eventtypes.Message)) Watch(c <-chan eventtypes.Message) }
EventHandler is abstract interface for user to customize own handle functions of each type of events
func InitEventHandler ¶
func InitEventHandler() EventHandler
InitEventHandler initializes and returns an EventHandler
type InStream ¶
InStream is an input stream used by the DockerCli to read user input Deprecated: Use github.com/docker/cli/cli/streams.In instead
type InitializeOpt ¶
InitializeOpt is the type of the functional options passed to DockerCli.Initialize
func WithInitializeClient ¶
func WithInitializeClient(makeClient func(dockerCli *DockerCli) (client.APIClient, error)) InitializeOpt
WithInitializeClient is passed to DockerCli.Initialize by callers who wish to set a particular API Client for use by the CLI.
type Orchestrator ¶
type Orchestrator string
Orchestrator type acts as an enum describing supported orchestrators.
func GetStackOrchestrator ¶
func GetStackOrchestrator(flagValue, contextValue, globalDefault string, stderr io.Writer) (Orchestrator, error)
GetStackOrchestrator checks DOCKER_STACK_ORCHESTRATOR environment variable and configuration file orchestrator value and returns user defined Orchestrator.
func NormalizeOrchestrator ¶
func NormalizeOrchestrator(value string) (Orchestrator, error)
NormalizeOrchestrator parses an orchestrator value and checks if it is valid
func (Orchestrator) HasAll ¶
func (o Orchestrator) HasAll() bool
HasAll returns true if defined orchestrator has both Swarm and Kubernetes capabilities.
func (Orchestrator) HasKubernetes ¶
func (o Orchestrator) HasKubernetes() bool
HasKubernetes returns true if defined orchestrator has Kubernetes capabilities.
func (Orchestrator) HasSwarm ¶
func (o Orchestrator) HasSwarm() bool
HasSwarm returns true if defined orchestrator has Swarm capabilities.
type OutStream ¶
OutStream is an output stream used by the DockerCli to write normal program output. Deprecated: Use github.com/docker/cli/cli/streams.Out instead
type ServerInfo ¶
type ServerInfo struct { HasExperimental bool OSType string BuildkitVersion types.BuilderVersion }
ServerInfo stores details about the supported features and platform of the server