Documentation
¶
Index ¶
- Constants
- Variables
- func DockerCommandFromEnvironment() string
- func GetHostPortForContainer(ctx context.Context, dockerCommand command.Command, containerID string, ...) (int, error)
- func NewClient(ctx context.Context, opts ...Option) (*apiClient, error)
- func ParseSecretsFromHost(workingDir string, secrets []string) (secrets.SecretStore, error)
- func Push(ctx context.Context, image string, projectDir string, command command.Command, ...) error
- func Run(ctx context.Context, dockerClient command.Command, options command.RunOptions) error
- func RunDaemon(ctx context.Context, dockerClient command.Command, options command.RunOptions, ...) (string, error)
- func RunWithIO(ctx context.Context, dockerClient command.Command, options command.RunOptions, ...) error
- func SaveLoginToken(ctx context.Context, registryHost string, username string, token string) error
- func StandardPush(ctx context.Context, image string, command command.Command) error
- type BuildInfo
- type CredentialHelperInput
- type Option
- type ProgressWriter
Constants ¶
const DockerCommandEnvVarName = "R8_DOCKER_COMMAND"
Variables ¶
var ErrMissingDeviceDriver = errors.New("Docker is missing required device driver")
Functions ¶
func DockerCommandFromEnvironment ¶ added in v0.14.0
func DockerCommandFromEnvironment() string
func GetHostPortForContainer ¶ added in v0.14.11
func ParseSecretsFromHost ¶ added in v0.15.0
func ParseSecretsFromHost(workingDir string, secrets []string) (secrets.SecretStore, error)
func SaveLoginToken ¶ added in v0.0.8
Types ¶
type CredentialHelperInput ¶ added in v0.14.0
type Option ¶ added in v0.14.12
type Option func(*clientOptions)
func WithAuthConfig ¶ added in v0.14.12
func WithAuthConfig(authConfig registry.AuthConfig) Option
type ProgressWriter ¶ added in v0.17.0
type ProgressWriter struct {
// contains filtered or unexported fields
}
ProgressWriter adapts push progress callbacks to Docker's jsonmessage rendering.
This uses the same ANSI cursor movement and progress display as `docker push`, which handles terminal resizing correctly: each line is erased and rewritten individually (ESC[2K + cursor up/down per line), rather than relying on a bulk cursor-up count that can desync when lines wrap after a terminal resize.
func NewProgressWriter ¶ added in v0.17.0
func NewProgressWriter() *ProgressWriter
NewProgressWriter creates a ProgressWriter that renders push progress to stderr using Docker's jsonmessage format, matching the output of `docker push`.
func (*ProgressWriter) Close ¶ added in v0.17.0
func (p *ProgressWriter) Close()
Close shuts down the progress display. Safe to call multiple times.
func (*ProgressWriter) Write ¶ added in v0.17.0
func (p *ProgressWriter) Write(id, status string, current, total int64)
Write sends a progress update for a specific layer/artifact. id is a unique identifier for the item (layer digest, artifact name). status is the current operation (e.g. "Pushing"). current and total are the byte counts for the progress bar.
func (*ProgressWriter) WriteStatus ¶ added in v0.17.0
func (p *ProgressWriter) WriteStatus(id, status string)
WriteStatus sends a status-only message for a specific layer/artifact (no progress bar), e.g. "Pushed", "FAILED", or retry messages.