Documentation
¶
Overview ¶
Package compose provides Docker Compose project processing functionality
Package compose provides Docker Compose project processing functionality ¶
Package compose provides Docker Compose file parsing and handling
Index ¶
- func FindEnvFiles(serviceName, workingDir string) []string
- func IsExternal(external interface{}) bool
- func ParseComposeFile(path string) (*types.Project, error)
- func ParseComposeFileWithLogger(path string, logger log.Logger) (*types.Project, error)
- func Prefix(projectName, resourceName string) string
- func ReadProjects(path string) ([]*types.Project, error)
- func ReadProjectsWithLogger(path string, logger log.Logger) ([]*types.Project, error)
- func ValidateProjectName(name string) error
- func ValidateServiceName(name string) error
- type Converter
- type SpecProcessor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindEnvFiles ¶ added in v0.21.0
FindEnvFiles discovers environment files for a service in a working directory.
func IsExternal ¶ added in v0.21.0
func IsExternal(external interface{}) bool
IsExternal checks if a resource configuration indicates it's externally managed.
func ParseComposeFile ¶
ParseComposeFile parses a Docker Compose file at the specified path.
func ParseComposeFileWithLogger ¶ added in v0.21.0
ParseComposeFileWithLogger parses a Docker Compose file at the specified path with a provided logger.
func Prefix ¶ added in v0.21.0
Prefix creates a prefixed resource name using project name and resource name. Always prefixes, matching Docker Compose behavior. Use `external: true` or `name:` field in compose.yaml to override auto-generated names.
func ReadProjects ¶
ReadProjects reads all Docker Compose projects from a directory path.
func ReadProjectsWithLogger ¶ added in v0.21.0
ReadProjectsWithLogger reads all Docker Compose projects from a directory path with a provided logger.
func ValidateProjectName ¶ added in v0.25.0
ValidateProjectName validates that a project name follows Docker Compose naming requirements. Project names must:
- Start with a lowercase letter or digit
- Contain only lowercase letters, digits, dashes, and underscores
- Not be empty
func ValidateServiceName ¶ added in v0.25.0
ValidateServiceName validates that a service name follows Docker Compose naming requirements. Service names must:
- Start with an alphanumeric character (upper or lowercase)
- Contain only alphanumeric characters, underscores, periods, and dashes
- Not be empty
Types ¶
type Converter ¶ added in v0.25.0
type Converter struct {
// contains filtered or unexported fields
}
Converter converts Docker Compose projects to service.Spec models.
func NewConverter ¶ added in v0.25.0
NewConverter creates a new Converter.
func (*Converter) ConvertProject ¶ added in v0.25.0
ConvertProject converts a Docker Compose project to a list of service specs. It normalizes multi-container setups into multiple Spec instances, handling services, volumes, networks, and build configurations.
func (*Converter) ExtractExternalDependencies ¶ added in v0.25.0
func (c *Converter) ExtractExternalDependencies(composeService types.ServiceConfig) ([]service.ExternalDependency, error)
ExtractExternalDependencies parses x-quad-ops-depends-on extension to extract cross-project dependencies. It validates project and service names according to Docker Compose specification. Returns nil if the extension is not present.
type SpecProcessor ¶ added in v0.22.0
type SpecProcessor struct{}
SpecProcessor processes Docker Compose projects into service specs.
func NewSpecProcessor ¶ added in v0.22.0
func NewSpecProcessor() *SpecProcessor
NewSpecProcessor creates a new SpecProcessor.