cli

package
v1.20.2 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 13 Imported by: 28

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultFileNames = []string{"compose.yaml", "compose.yml", "docker-compose.yml", "docker-compose.yaml"}

DefaultFileNames defines the Compose file names for auto-discovery (in order of preference)

View Source
var DefaultOverrideFileNames = []string{"compose.override.yml", "compose.override.yaml", "docker-compose.override.yml", "docker-compose.override.yaml"}

DefaultOverrideFileNames defines the Compose override file names for auto-discovery (in order of preference)

Functions

func ProjectFromOptions

func ProjectFromOptions(options *ProjectOptions) (*types.Project, error)

ProjectFromOptions load a compose project based on command line options

func WithConfigFileEnv

func WithConfigFileEnv(o *ProjectOptions) error

WithConfigFileEnv allow to set compose config file paths by COMPOSE_FILE environment variable

func WithDefaultConfigPath

func WithDefaultConfigPath(o *ProjectOptions) error

WithDefaultConfigPath searches for default config files from working directory

func WithDiscardEnvFile

func WithDiscardEnvFile(o *ProjectOptions) error

WithDiscardEnvFile sets discards the `env_file` section after resolving to the `environment` section

func WithDotEnv

func WithDotEnv(o *ProjectOptions) error

WithDotEnv imports environment variables from .env file

func WithOsEnv

func WithOsEnv(o *ProjectOptions) error

WithOsEnv imports environment variables from OS

func WithoutEnvironmentResolution added in v1.19.0

func WithoutEnvironmentResolution(o *ProjectOptions) error

WithoutEnvironmentResolution disable environment resolution

Types

type ProjectOptions

type ProjectOptions struct {

	// Name is a valid Compose project name to be used or empty.
	//
	// If empty, the project loader will automatically infer a reasonable
	// project name if possible.
	Name string

	// WorkingDir is a file path to use as the project directory or empty.
	//
	// If empty, the project loader will automatically infer a reasonable
	// working directory if possible.
	WorkingDir string

	// ConfigPaths are file paths to one or more Compose files.
	//
	// These are applied in order by the loader following the merge logic
	// as described in the spec.
	//
	// The first entry is required and is the primary Compose file.
	// For convenience, WithConfigFileEnv and WithDefaultConfigPath
	// are provided to populate this in a predictable manner.
	ConfigPaths []string

	// Environment are additional environment variables to make available
	// for interpolation.
	//
	// NOTE: For security, the loader does not automatically expose any
	// process environment variables. For convenience, WithOsEnv can be
	// used if appropriate.
	Environment types.Mapping

	// EnvFiles are file paths to ".env" files with additional environment
	// variable data.
	//
	// These are loaded in-order, so it is possible to override variables or
	// in subsequent files.
	//
	// This field is optional, but any file paths that are included here must
	// exist or an error will be returned during load.
	EnvFiles []string
	// contains filtered or unexported fields
}

ProjectOptions provides common configuration for loading a project.

func NewProjectOptions

func NewProjectOptions(configs []string, opts ...ProjectOptionsFn) (*ProjectOptions, error)

NewProjectOptions creates ProjectOptions

func (ProjectOptions) GetWorkingDir

func (o ProjectOptions) GetWorkingDir() (string, error)

type ProjectOptionsFn

type ProjectOptionsFn func(*ProjectOptions) error

func WithConsistency added in v1.7.0

func WithConsistency(consistency bool) ProjectOptionsFn

WithConsistency set ProjectOptions to enable/skip consistency

func WithContext added in v1.18.0

func WithContext(ctx context.Context) ProjectOptionsFn

WithContext sets the context used to load model and resources

func WithDefaultProfiles added in v1.18.3

func WithDefaultProfiles(profile ...string) ProjectOptionsFn

WithDefaultProfiles uses the provided profiles (if any), and falls back to profiles specified via the COMPOSE_PROFILES environment variable otherwise.

func WithEnv

func WithEnv(env []string) ProjectOptionsFn

WithEnv defines a key=value set of variables used for compose file interpolation

func WithEnvFile deprecated

func WithEnvFile(file string) ProjectOptionsFn

WithEnvFile sets an alternate env file.

Deprecated: use WithEnvFiles instead.

func WithEnvFiles added in v1.10.0

func WithEnvFiles(file ...string) ProjectOptionsFn

WithEnvFiles set alternate env files

func WithInterpolation

func WithInterpolation(interpolation bool) ProjectOptionsFn

WithInterpolation set ProjectOptions to enable/skip interpolation

func WithLoadOptions

func WithLoadOptions(loadOptions ...func(*loader.Options)) ProjectOptionsFn

WithLoadOptions provides a hook to control how compose files are loaded

func WithName

func WithName(name string) ProjectOptionsFn

WithName defines ProjectOptions' name

func WithNormalization added in v1.0.6

func WithNormalization(normalization bool) ProjectOptionsFn

WithNormalization set ProjectOptions to enable/skip normalization

func WithProfiles added in v1.9.0

func WithProfiles(profiles []string) ProjectOptionsFn

WithProfiles sets profiles to be activated

func WithResolvedPaths

func WithResolvedPaths(resolve bool) ProjectOptionsFn

WithResolvedPaths set ProjectOptions to enable paths resolution

func WithResourceLoader added in v1.18.0

func WithResourceLoader(r loader.ResourceLoader) ProjectOptionsFn

WithResourceLoader register support for ResourceLoader to manage remote resources

func WithWorkingDirectory

func WithWorkingDirectory(wd string) ProjectOptionsFn

WithWorkingDirectory defines ProjectOptions' working directory

Jump to

Keyboard shortcuts

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