config

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2026 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigFilePath

func ConfigFilePath() string

func ContextExists

func ContextExists(name string) (bool, error)

func Current

func Current() (string, error)

func GetDefaultLocalDockerSocket

func GetDefaultLocalDockerSocket(dockerSocket string) string

for local contexts, try a bunch of common paths grab the docker socket this is mostly needed for Mac OS

func GetInput

func GetInput(question ...string) (string, error)

func Save

func Save(cfg *Config) error

func SaveContext

func SaveContext(ctx *Context, setDefault bool) error

func SetCommandFlags

func SetCommandFlags(flags *pflag.FlagSet)

Types

type Config

type Config struct {
	CurrentContext string    `yaml:"current-context"`
	Contexts       []Context `yaml:"contexts"`
}

func Load

func Load() (*Config, error)

type Context

type Context struct {
	Name           string      `yaml:"name"`
	DockerHostType ContextType `mapstructure:"type" yaml:"type"`
	DockerSocket   string      `yaml:"docker-socket"`
	ProjectName    string      `yaml:"project-name"`
	ProjectDir     string      `yaml:"project-dir"`
	SSHUser        string      `yaml:"ssh-user"`
	SSHHostname    string      `yaml:"ssh-hostname,omitempty"`
	SSHPort        uint        `yaml:"ssh-port,omitempty"`
	SSHKeyPath     string      `yaml:"ssh-key,omitempty"`
	EnvFile        []string    `yaml:"env-file"`
	ComposeFile    []string    `yaml:"compose-file,omitempty"`
	RunSudo        bool        `yaml:"sudo"`

	// Database connection configuration
	DatabaseService        string `yaml:"database-service,omitempty"`
	DatabaseUser           string `yaml:"database-user,omitempty"`
	DatabasePasswordSecret string `yaml:"database-password-secret,omitempty"`
	DatabaseName           string `yaml:"database-name,omitempty"`

	ReadSmallFileFunc func(filename string) string `yaml:"-"`

	// Extra holds plugin-specific configuration.
	// Each plugin uses its own key (e.g., "drupal", "isle", "wordpress").
	Extra map[string]yaml.Node `yaml:"extra,omitempty"`
}

func CurrentContext

func CurrentContext(f *pflag.FlagSet) (*Context, error)

func GetContext

func GetContext(name string) (Context, error)

func LoadFromFlags

func LoadFromFlags(f *pflag.FlagSet, context Context) (*Context, error)

func (*Context) DialSSH

func (c *Context) DialSSH() (*ssh.Client, error)

func (*Context) GetSshUri added in v0.2.0

func (c *Context) GetSshUri() string

GetSshUri returns an SSH connection URI

func (*Context) ProjectDirExists

func (c *Context) ProjectDirExists() (bool, error)

func (*Context) ReadSmallFile

func (c *Context) ReadSmallFile(filename string) string

func (*Context) RunCommand

func (c *Context) RunCommand(cmd *exec.Cmd) (string, error)

func (Context) String

func (context Context) String() (string, error)

func (*Context) UploadFile

func (c *Context) UploadFile(source, destination string) error

func (*Context) VerifyRemoteInput

func (cc *Context) VerifyRemoteInput(existingSite bool) error

type ContextType

type ContextType string
const (
	ContextLocal  ContextType = "local"
	ContextRemote ContextType = "remote"
)

type FileReader

type FileReader interface {
	ReadSmallFile(path string) (string, error)
}

FileReader defines the behavior needed to read small files.

Jump to

Keyboard shortcuts

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