Versions in this module Expand all Collapse all v0 v0.18.5 Sep 23, 2026 Changes in this version + const TypeDocker + const TypeLocal + const TypeSSH + const TypeSymfonyCLI + var ErrNotSupported = errors.New("operation not supported by this executor") + func AllowBinCI(ctx context.Context) context.Context + func IsBinCIAllowed(ctx context.Context) bool + func WithTTY(ctx context.Context) context.Context + type DatabaseConnection struct + Database string + Host string + Password string + Port string + Username string + func (c *DatabaseConnection) Addr() string + func (c *DatabaseConnection) MySQLConfig() *mysql.Config + func (c *DatabaseConnection) Open(ctx context.Context) (*sql.Conn, func(), error) + type DockerExecutor struct + func (d *DockerExecutor) AdminAPIClient(ctx context.Context) (*adminSdk.Client, error) + func (d *DockerExecutor) AvailableLogFiles(ctx context.Context) ([]LogFile, error) + func (d *DockerExecutor) ComposerCommand(ctx context.Context, args ...string) *Process + func (d *DockerExecutor) ConsoleCommand(ctx context.Context, args ...string) *Process + func (d *DockerExecutor) DatabaseConnection(ctx context.Context) (*DatabaseConnection, error) + func (d *DockerExecutor) EnvironmentStatus(ctx context.Context) (bool, error) + func (d *DockerExecutor) GetLog(ctx context.Context, file string, lines int, follow bool, w io.Writer) error + func (d *DockerExecutor) NPMCommand(ctx context.Context, args ...string) *Process + func (d *DockerExecutor) NormalizePath(hostPath string) string + func (d *DockerExecutor) PHPCommand(ctx context.Context, args ...string) *Process + func (d *DockerExecutor) ShopConfig() *shop.Config + func (d *DockerExecutor) StartEnvironment(ctx context.Context) error + func (d *DockerExecutor) StopEnvironment(ctx context.Context, opts StopOptions) error + func (d *DockerExecutor) Type() string + func (d *DockerExecutor) WithEnv(env map[string]string) Executor + func (d *DockerExecutor) WithRelDir(relDir string) Executor + type Executor interface + AdminAPIClient func(ctx context.Context) (*adminSdk.Client, error) + AvailableLogFiles func(ctx context.Context) ([]LogFile, error) + ComposerCommand func(ctx context.Context, args ...string) *Process + ConsoleCommand func(ctx context.Context, args ...string) *Process + DatabaseConnection func(ctx context.Context) (*DatabaseConnection, error) + EnvironmentStatus func(ctx context.Context) (bool, error) + GetLog func(ctx context.Context, file string, lines int, follow bool, w io.Writer) error + NPMCommand func(ctx context.Context, args ...string) *Process + NormalizePath func(hostPath string) string + PHPCommand func(ctx context.Context, args ...string) *Process + ShopConfig func() *shop.Config + StartEnvironment func(ctx context.Context) error + StopEnvironment func(ctx context.Context, opts StopOptions) error + Type func() string + WithEnv func(env map[string]string) Executor + WithRelDir func(relDir string) Executor + func New(projectRoot string, cfg *shop.EnvironmentConfig, shopCfg *shop.Config) (Executor, error) + func NewLocal(projectRoot string) Executor + func NewLocalWithConfig(projectRoot string, cfg *shop.EnvironmentConfig, shopCfg *shop.Config) Executor + type LocalExecutor struct + func (l *LocalExecutor) AdminAPIClient(ctx context.Context) (*adminSdk.Client, error) + func (l *LocalExecutor) AvailableLogFiles(_ context.Context) ([]LogFile, error) + func (l *LocalExecutor) ComposerCommand(ctx context.Context, args ...string) *Process + func (l *LocalExecutor) ConsoleCommand(ctx context.Context, args ...string) *Process + func (l *LocalExecutor) DatabaseConnection(_ context.Context) (*DatabaseConnection, error) + func (l *LocalExecutor) EnvironmentStatus(_ context.Context) (bool, error) + func (l *LocalExecutor) GetLog(ctx context.Context, file string, lines int, follow bool, w io.Writer) error + func (l *LocalExecutor) NPMCommand(ctx context.Context, args ...string) *Process + func (l *LocalExecutor) NormalizePath(hostPath string) string + func (l *LocalExecutor) PHPCommand(ctx context.Context, args ...string) *Process + func (l *LocalExecutor) ShopConfig() *shop.Config + func (l *LocalExecutor) StartEnvironment(_ context.Context) error + func (l *LocalExecutor) StopEnvironment(_ context.Context, _ StopOptions) error + func (l *LocalExecutor) Type() string + func (l *LocalExecutor) WithEnv(env map[string]string) Executor + func (l *LocalExecutor) WithRelDir(relDir string) Executor + type LogFile struct + ModTime time.Time + Name string + Size int64 + type Process struct + Cmd *exec.Cmd + func (p *Process) CombinedOutput() ([]byte, error) + func (p *Process) Output() ([]byte, error) + func (p *Process) Run() error + func (p *Process) RunWithOutput(w io.Writer) error + func (p *Process) Start() error + func (p *Process) StartCombined() (io.ReadCloser, error) + func (p *Process) StderrPipe() (io.ReadCloser, error) + func (p *Process) StdoutPipe() (io.ReadCloser, error) + func (p *Process) Stop(ctx context.Context) error + func (p *Process) Wait() error + type SSHExecutor struct + func (s *SSHExecutor) AdminAPIClient(ctx context.Context) (*adminSdk.Client, error) + func (s *SSHExecutor) AvailableLogFiles(ctx context.Context) ([]LogFile, error) + func (s *SSHExecutor) ComposerCommand(ctx context.Context, args ...string) *Process + func (s *SSHExecutor) ConsoleCommand(ctx context.Context, args ...string) *Process + func (s *SSHExecutor) DatabaseConnection(ctx context.Context) (*DatabaseConnection, error) + func (s *SSHExecutor) EnvironmentStatus(_ context.Context) (bool, error) + func (s *SSHExecutor) GetLog(ctx context.Context, file string, lines int, follow bool, w io.Writer) error + func (s *SSHExecutor) NPMCommand(ctx context.Context, args ...string) *Process + func (s *SSHExecutor) NormalizePath(hostPath string) string + func (s *SSHExecutor) PHPCommand(ctx context.Context, args ...string) *Process + func (s *SSHExecutor) ShopConfig() *shop.Config + func (s *SSHExecutor) StartEnvironment(_ context.Context) error + func (s *SSHExecutor) StopEnvironment(_ context.Context, _ StopOptions) error + func (s *SSHExecutor) Type() string + func (s *SSHExecutor) WithEnv(env map[string]string) Executor + func (s *SSHExecutor) WithRelDir(relDir string) Executor + type StopOptions struct + RemoveVolumes bool + type SymfonyCLIExecutor struct + BinaryPath string + func (s *SymfonyCLIExecutor) AdminAPIClient(ctx context.Context) (*adminSdk.Client, error) + func (s *SymfonyCLIExecutor) AvailableLogFiles(_ context.Context) ([]LogFile, error) + func (s *SymfonyCLIExecutor) ComposerCommand(ctx context.Context, args ...string) *Process + func (s *SymfonyCLIExecutor) ConsoleCommand(ctx context.Context, args ...string) *Process + func (s *SymfonyCLIExecutor) DatabaseConnection(_ context.Context) (*DatabaseConnection, error) + func (s *SymfonyCLIExecutor) EnvironmentStatus(_ context.Context) (bool, error) + func (s *SymfonyCLIExecutor) GetLog(ctx context.Context, file string, lines int, follow bool, w io.Writer) error + func (s *SymfonyCLIExecutor) NPMCommand(ctx context.Context, args ...string) *Process + func (s *SymfonyCLIExecutor) NormalizePath(hostPath string) string + func (s *SymfonyCLIExecutor) PHPCommand(ctx context.Context, args ...string) *Process + func (s *SymfonyCLIExecutor) ShopConfig() *shop.Config + func (s *SymfonyCLIExecutor) StartEnvironment(_ context.Context) error + func (s *SymfonyCLIExecutor) StopEnvironment(_ context.Context, _ StopOptions) error + func (s *SymfonyCLIExecutor) Type() string + func (s *SymfonyCLIExecutor) WithEnv(env map[string]string) Executor + func (s *SymfonyCLIExecutor) WithRelDir(relDir string) Executor