package compose

import "github.com/docker/compose/v2/cmd/compose"

Index

Constants

const (
	// ComposeParallelLimit set the limit running concurrent operation on docker engine
	ComposeParallelLimit = "COMPOSE_PARALLEL_LIMIT"
	// ComposeProjectName define the project name to be used, instead of guessing from parent directory
	ComposeProjectName = "COMPOSE_PROJECT_NAME"
	// ComposeCompatibility try to mimic compose v1 as much as possible
	ComposeCompatibility = "COMPOSE_COMPATIBILITY"
	// ComposeRemoveOrphans remove "orphaned" containers, i.e. containers tagged for current project but not declared as service
	ComposeRemoveOrphans = "COMPOSE_REMOVE_ORPHANS"
	// ComposeIgnoreOrphans ignore "orphaned" containers
	ComposeIgnoreOrphans = "COMPOSE_IGNORE_ORPHANS"
	// ComposeEnvFiles defines the env files to use if --env-file isn't used
	ComposeEnvFiles = "COMPOSE_ENV_FILES"
	// ComposeMenu defines if the navigation menu should be rendered. Can be also set via --menu
	ComposeMenu = "COMPOSE_MENU"
)
const PluginName = "compose"

PluginName is the name of the plugin

Functions

func Adapt

func Adapt(fn Command) func(cmd *cobra.Command, args []string) error

Adapt a Command func to cobra library

func AdaptCmd

func AdaptCmd(fn CobraCommand) func(cmd *cobra.Command, args []string) error

AdaptCmd adapt a CobraCommand func to cobra library

func RootCommand

func RootCommand(dockerCli command.Cli, backend Backend) *cobra.Command

RootCommand returns the compose command with its child commands

func RunningAsStandalone

func RunningAsStandalone() bool

RunningAsStandalone detects when running as a standalone program

func SetUnchangedOption

func SetUnchangedOption(name string, experimentalFlag bool) bool

Types

type Backend

type Backend interface {
	api.Service

	SetDesktopClient(cli *desktop.Client)

	SetExperiments(experiments *experimental.State)
}

type CobraCommand

type CobraCommand func(context.Context, *cobra.Command, []string) error

CobraCommand defines a cobra command function

type Command

type Command func(context.Context, []string) error

Command defines a compose CLI command as a func with args

type ProjectFunc

type ProjectFunc func(ctx context.Context, project *types.Project) error

ProjectFunc does stuff within a types.Project

type ProjectOptions

type ProjectOptions struct {
	ProjectName   string
	Profiles      []string
	ConfigPaths   []string
	WorkDir       string
	ProjectDir    string
	EnvFiles      []string
	Compatibility bool
	Progress      string
	Offline       bool
	All           bool
}

func (*ProjectOptions) ToModel

func (o *ProjectOptions) ToModel(ctx context.Context, dockerCli command.Cli, services []string, po ...cli.ProjectOptionsFn) (map[string]any, error)

func (*ProjectOptions) ToProject

func (o *ProjectOptions) ToProject(ctx context.Context, dockerCli command.Cli, services []string, po ...cli.ProjectOptionsFn) (*types.Project, tracing.Metrics, error)

func (*ProjectOptions) WithProject

func (o *ProjectOptions) WithProject(fn ProjectFunc, dockerCli command.Cli) func(cmd *cobra.Command, args []string) error

WithProject creates a cobra run command from a ProjectFunc based on configured project options and selected services

func (*ProjectOptions) WithServices

func (o *ProjectOptions) WithServices(dockerCli command.Cli, fn ProjectServicesFunc) func(cmd *cobra.Command, args []string) error

WithServices creates a cobra run command from a ProjectFunc based on configured project options and selected services

type ProjectServicesFunc

type ProjectServicesFunc func(ctx context.Context, project *types.Project, services []string) error

ProjectServicesFunc does stuff within a types.Project and a selection of services

Source Files

alpha.go attach.go build.go commit.go completion.go compose.go config.go cp.go create.go down.go events.go exec.go export.go generate.go images.go kill.go list.go logs.go options.go pause.go port.go ps.go publish.go pull.go push.go remove.go restart.go run.go scale.go start.go stats.go stop.go top.go up.go version.go viz.go wait.go watch.go

Version
v2.32.4
Published
Jan 15, 2025
Platform
js/wasm
Imports
54 packages
Last checked
16 minutes ago

Tools for package owners.