Help us shape the future of Go! Take the 2026 Go Developer Survey

compose

package
v1.23.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2026 License: MPL-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const ComposeProjectNameEnv = "COMPOSE_PROJECT_NAME"

ComposeProjectNameEnv is the environment/file variable Docker Compose uses to override the project name: https://docs.docker.com/compose/how-tos/project-name/

Variables

This section is empty.

Functions

func ComposeFilesDeclareName added in v1.16.0

func ComposeFilesDeclareName(composeFiles []string) (bool, error)

ComposeFilesDeclareName reports whether any compose file declares a top-level "name" (mirroring compose-go's own isNamed check). Presence is all that's needed: the caller uses the already-loaded project's interpolated Name when this is true.

func LoadDockerComposeProject

func LoadDockerComposeProject(
	ctx context.Context,
	paths []string,
	envFiles []string,
) (*composetypes.Project, error)

func ProjectNameFromEnvFiles added in v1.16.0

func ProjectNameFromEnvFiles(envFiles []string) (string, error)

ProjectNameFromEnvFiles returns the first non-empty COMPOSE_PROJECT_NAME found scanning envFiles in order. Missing files are skipped.

Types

type ComposeHelper

type ComposeHelper struct {
	Command string
	Version string
	Args    []string
	Docker  *docker.DockerHelper
}

func NewComposeHelper

func NewComposeHelper(dockerHelper *docker.DockerHelper) (*ComposeHelper, error)

NewComposeHelper creates a new ComposeHelper instance after detecting whether Docker Compose V2 or Podman Compose is installed. The detection order depends on the container runtime: Podman runtimes try podman compose first, while Docker/nerdctl runtimes try docker compose V2 first. It returns an error if none are found.

func (*ComposeHelper) FindDevContainer

func (h *ComposeHelper) FindDevContainer(
	ctx context.Context,
	projectName, serviceName string,
) (*config.ContainerDetails, error)

func (*ComposeHelper) FindProjectFiles

func (h *ComposeHelper) FindProjectFiles(
	ctx context.Context,
	projectName string,
) ([]string, error)

func (*ComposeHelper) GetDefaultImage

func (h *ComposeHelper) GetDefaultImage(projectName, serviceName string) (string, error)

func (*ComposeHelper) GetProjectName

func (h *ComposeHelper) GetProjectName(runnerID string) string

func (*ComposeHelper) Remove

func (h *ComposeHelper) Remove(
	ctx context.Context,
	projectName string,
	args []string,
	removeVolumes bool,
) error

func (*ComposeHelper) Run

func (h *ComposeHelper) Run(
	ctx context.Context,
	args []string,
	stdin io.Reader,
	stdout io.Writer,
	stderr io.Writer,
) error

func (*ComposeHelper) SanitizeProjectName added in v1.16.0

func (h *ComposeHelper) SanitizeProjectName(name string) string

SanitizeProjectName exposes toProjectName's compose-version-aware sanitization for callers outside this package (e.g. the devsy runner id fallback for compose project names).

func (*ComposeHelper) Stop

func (h *ComposeHelper) Stop(ctx context.Context, projectName string, args []string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL