Documentation
¶
Index ¶
- Constants
- func ComposeFilesDeclareName(composeFiles []string) (bool, error)
- func LoadDockerComposeProject(ctx context.Context, paths []string, envFiles []string) (*composetypes.Project, error)
- func ProjectNameFromEnvFiles(envFiles []string) (string, error)
- type ComposeHelper
- func (h *ComposeHelper) FindDevContainer(ctx context.Context, projectName, serviceName string) (*config.ContainerDetails, error)
- func (h *ComposeHelper) FindProjectFiles(ctx context.Context, projectName string) ([]string, error)
- func (h *ComposeHelper) GetDefaultImage(projectName, serviceName string) (string, error)
- func (h *ComposeHelper) GetProjectName(runnerID string) string
- func (h *ComposeHelper) Remove(ctx context.Context, projectName string, args []string, removeVolumes bool) error
- func (h *ComposeHelper) Run(ctx context.Context, args []string, stdin io.Reader, stdout io.Writer, ...) error
- func (h *ComposeHelper) SanitizeProjectName(name string) string
- func (h *ComposeHelper) Stop(ctx context.Context, projectName string, args []string) error
Constants ¶
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
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 ProjectNameFromEnvFiles ¶ added in v1.16.0
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, Podman Compose, or Docker Compose V1 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 (*ComposeHelper) GetDefaultImage ¶
func (h *ComposeHelper) GetDefaultImage(projectName, serviceName string) (string, error)
func (*ComposeHelper) GetProjectName ¶
func (h *ComposeHelper) GetProjectName(runnerID string) string
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).