Documentation
¶
Index ¶
- Constants
- Variables
- func AvailableDocrootLocations() []string
- func CheckForConf(confPath string) (string, error)
- func CheckForMissingProjectFiles(project *DdevApp) error
- func CheckRouterPorts() error
- func Cleanup(app *DdevApp) error
- func CopyEmbedAssets(fsys embed.FS, sourceDir string, targetDir string) error
- func CreateAppTable() *uitable.Table
- func CreateGitIgnore(targetDir string, ignores ...string) error
- func DiscoverDefaultDocroot(app *DdevApp) string
- func FindDdevRouter() (*docker.APIContainers, error)
- func FullRenderedRouterComposeYAMLPath() string
- func FullRenderedSSHAuthComposeYAMLPath() string
- func GetActiveAppRoot(siteName string) (string, error)
- func GetErrLogsFromApp(app *DdevApp, errorReceived error) (string, error)
- func GetInstrumentationUser() string
- func GetPort(service string) string
- func GetRouterStatus() (string, string)
- func GetSSHAuthStatus() string
- func GetValidAppTypes() []string
- func IsValidAppType(apptype string) bool
- func List(activeOnly bool, continuous bool, continuousSleepTime int)
- func PrepDdevDirectory(dir string) error
- func RemoveSSHAgentContainer() error
- func RenderAppRow(table *uitable.Table, row map[string]interface{})
- func RenderHomeRootedDir(path string) string
- func RenderRouterStatus() string
- func RenderSSHAuthStatus() string
- func RouterComposeYAMLPath() string
- func SSHAuthComposeYAMLPath() string
- func SegmentEvent(client analytics.Client, hashedID string, event string) error
- func SegmentUser(client analytics.Client, hashedID string) error
- func SendInstrumentationEvents(event string)
- func SetInstrumentationBaseTags()
- func StartDdevRouter() error
- func StopRouterIfNoContainers() error
- func ValidateProjectName(name string) error
- func WriteBuildDockerfile(fullpath string, userDockerfile string, extraPackages []string, ...) error
- func WriteDrushrc(app *DdevApp, filePath string) error
- func WriteImageDockerfile(fullpath string, contents []byte) error
- type AppTypeFuncs
- type BackdropSettings
- type ComposerTask
- type DdevApp
- func (app *DdevApp) AddHostsEntriesIfNeeded() error
- func (app *DdevApp) AppConfDir() string
- func (app *DdevApp) AppTypePrompt() error
- func (app *DdevApp) CaptureLogs(service string, timestamps bool, tailLines string) (string, error)
- func (app *DdevApp) CheckCustomConfig()
- func (app *DdevApp) CheckDeprecations()
- func (app *DdevApp) CheckExistingAppInApproot() error
- func (app *DdevApp) ComposeFiles() ([]string, error)
- func (app *DdevApp) Composer(args []string) (string, string, error)
- func (app *DdevApp) ConfigExists() bool
- func (app *DdevApp) ConfigFileOverrideAction() error
- func (app *DdevApp) CreateSSHAuthComposeFile() (string, error)
- func (app *DdevApp) CreateSettingsFile() (string, error)
- func (app *DdevApp) DefaultWorkingDirMap() map[string]string
- func (app *DdevApp) DeleteSnapshot(snapshotName string) error
- func (app *DdevApp) Describe(short bool) (map[string]interface{}, error)
- func (app *DdevApp) DetectAppType() string
- func (app *DdevApp) DetermineSettingsPathLocation() (string, error)
- func (app *DdevApp) DockerComposeFullRenderedYAMLPath() string
- func (app *DdevApp) DockerComposeYAMLPath() string
- func (app *DdevApp) DockerEnv()
- func (app *DdevApp) EnsureSSHAgentContainer() error
- func (app *DdevApp) Exec(opts *ExecOpts) (string, string, error)
- func (app *DdevApp) ExecOnHostOrService(service string, cmd string) error
- func (app *DdevApp) ExecWithTty(opts *ExecOpts) error
- func (app *DdevApp) ExportDB(outFile string, gzip bool, targetDB string) error
- func (app *DdevApp) FindContainerByType(containerType string) (*docker.APIContainers, error)
- func (app *DdevApp) GenerateWebserverConfig() error
- func (app *DdevApp) GetAllURLs() (httpURLs []string, httpsURLs []string, allURLs []string)
- func (app *DdevApp) GetAppRoot() string
- func (app *DdevApp) GetConfigPath(filename string) string
- func (app *DdevApp) GetDBImage() string
- func (app DdevApp) GetDocroot() string
- func (app *DdevApp) GetHTTPSURL() string
- func (app *DdevApp) GetHTTPURL() string
- func (app *DdevApp) GetHookDefaultComments() []byte
- func (app *DdevApp) GetHostname() string
- func (app *DdevApp) GetHostnames() []string
- func (app *DdevApp) GetLatestSnapshot() (string, error)
- func (app *DdevApp) GetNFSMountVolName() string
- func (app *DdevApp) GetName() string
- func (app *DdevApp) GetOmittedContainers() []string
- func (app *DdevApp) GetPhpVersion() string
- func (app *DdevApp) GetPrimaryURL() string
- func (app *DdevApp) GetProvider(providerName string) (*Provider, error)
- func (app *DdevApp) GetPublishedPort(serviceName string) (int, error)
- func (app *DdevApp) GetType() string
- func (app *DdevApp) GetUploadDir() string
- func (app *DdevApp) GetValidProviders() ([]string, error)
- func (app *DdevApp) GetWebContainerDirectHTTPSURL() string
- func (app *DdevApp) GetWebContainerDirectHTTPURL() string
- func (app *DdevApp) GetWebContainerHTTPSPublicPort() (int, error)
- func (app *DdevApp) GetWebContainerPublicPort() (int, error)
- func (app *DdevApp) GetWebserverType() string
- func (app *DdevApp) GetWorkingDir(service string, dir string) string
- func (app *DdevApp) HostName() string
- func (app *DdevApp) ImportDB(imPath string, extPath string, progress bool, noDrop bool, targetDB string) error
- func (app *DdevApp) ImportFiles(importPath string, extPath string) error
- func (app *DdevApp) ImportFilesAction(importPath, extPath string) error
- func (app *DdevApp) Init(basePath string) error
- func (app *DdevApp) IsValidProvider(provider string) (bool, error)
- func (app *DdevApp) ListSnapshots() ([]string, error)
- func (app *DdevApp) LoadConfigYamlFile(filePath string) error
- func (app *DdevApp) Logs(service string, follow bool, timestamps bool, tailLines string) error
- func (app *DdevApp) Pause() error
- func (app *DdevApp) PostConfigAction() error
- func (app *DdevApp) PostImportDBAction() error
- func (app *DdevApp) PostStartAction() error
- func (app *DdevApp) ProcessHooks(hookName string) error
- func (app *DdevApp) PromptForConfig() error
- func (app *DdevApp) Pull(provider *Provider, skipDbArg bool, skipFilesArg bool, skipImportArg bool) error
- func (app *DdevApp) PullContainerImages() error
- func (app *DdevApp) Push(provider *Provider, skipDbArg bool, skipFilesArg bool) error
- func (app *DdevApp) ReadConfig(includeOverrides bool) ([]string, error)
- func (app *DdevApp) RemoveGlobalProjectInfo()
- func (app *DdevApp) RemoveHostsEntries() error
- func (app *DdevApp) RenderComposeYAML() (string, error)
- func (app *DdevApp) RestoreSnapshot(snapshotName string) error
- func (app *DdevApp) SetApptypeSettingsPaths()
- func (app *DdevApp) SetInstrumentationAppTags()
- func (app *DdevApp) SiteStatus() string
- func (app *DdevApp) Snapshot(snapshotName string) (string, error)
- func (app *DdevApp) Start() error
- func (app *DdevApp) StartAndWait(extraSleep int) error
- func (app *DdevApp) StartAppIfNotRunning() error
- func (app *DdevApp) Stop(removeData bool, createSnapshot bool) error
- func (app *DdevApp) UpdateGlobalProjectList() error
- func (app *DdevApp) ValidateConfig() error
- func (app *DdevApp) Wait(requiredContainers []string) error
- func (app *DdevApp) WaitByLabels(labels map[string]string) error
- func (app *DdevApp) WaitForServices() error
- func (app *DdevApp) WarnIfConfigReplace()
- func (app *DdevApp) WriteConfig() error
- func (app *DdevApp) WriteDockerComposeYAML() error
- type DrupalSettings
- type ExecHostTask
- type ExecOpts
- type ExecTask
- type InvalidOmitContainers
- type Provider
- func (p *Provider) GetBackup(backupType string) (string, string, error)
- func (p *Provider) Init(pType string, app *DdevApp) error
- func (p *Provider) Read(configPath string) error
- func (p *Provider) UploadDB() error
- func (p *Provider) UploadFiles() error
- func (p *Provider) Validate() error
- func (p *Provider) Write(configPath string) error
- type ProviderCommand
- type ProviderInfo
- type SegmentNoopLogger
- type Task
- type WordpressConfig
- type YAMLTask
Constants ¶
const ( WarnTypeAbsent = iota WarnTypeNotConfigured = iota )
const BackdropDdevSettingsTemplate = `` /* 939-byte string literal not displayed */
BackdropDdevSettingsTemplate defines the template that will become settings.ddev.php.
const ConfigInstructions = `` /* 6111-byte string literal not displayed */
ConfigInstructions is used to add example hooks usage
const DDevComposeTemplate = `` /* 6396-byte string literal not displayed */
DDevComposeTemplate is used to create the main docker-compose file file for a ddev project.
const DdevFileSignature = "#ddev-generated"
DdevFileSignature is the text we use to detect whether a settings file is managed by us. If this string is found, we assume we can replace/update the file.
const DdevRouterTemplate = `` /* 1129-byte string literal not displayed */
DdevRouterTemplate is the template for the generic router container.
const DdevSSHAuthTemplate = `` /* 833-byte string literal not displayed */
const Drupal7Hooks = `# post-import-db:
# - exec: drush cc all
`
Drupal7Hooks adds a d7-specific hooks example for post-import-db
const Drupal8Hooks = `# post-import-db:
# - exec: drush cr
# - exec: drush updb
`
Drupal8Hooks adds a d8-specific hooks example for post-import-db
const RouterProjectName = "ddev-router"
RouterProjectName is the "machine name" of the router docker-compose
const SSHAuthName = "ddev-ssh-agent"
SSHAuthName is the "machine name" of the ddev-ssh-agent docker-compose service
const SiteConfigMissing = ".ddev/config.yaml missing"
SiteConfigMissing defines the string used to denote when a site is missing its .ddev/config.yml file.
const SiteDirMissing = "project directory missing"
SiteDirMissing defines the string used to denote when a site is missing its application directory.
const SitePaused = "paused"
SitePaused defines the string used to denote when a site is in the paused (docker stopped) state.
const SiteRunning = "running"
SiteRunning defines the string used to denote running sites.
const SiteStarting = "starting"
SiteStarting
const SiteStopped = "stopped"
SiteStopped defines the string used to denote a site where the containers were not found/do not exist, but the project is there.
const Typo3Hooks = `# post-start:
# - exec: composer install -d /var/www/html
`
Typo3Hooks adds a TYPO3-specific hooks example for post-import-db
Variables ¶
var ReportableEvents = map[string]bool{"auth": true, "composer": true, "config": true, "debug": true, "delete": true, "describe": true, "exec": true, "export-db": true, "heidisql": true, "import-db": true, "import-files": true, "launch": true, "list": true, "logs": true, "mysql": true, "pause": true, "poweroff": true, "pull": true, "restart": true, "sequelace": true, "sequelpro": true, "share": true, "snapshot": true, "ssh": true, "start": true, "stop": true, "tableplus": true, "xdebug": true}
ReportableEvents is the list of events that we choose to report specifically. Excludes non-ddev custom commands.
var SequelproTemplate = `` /* 1773-byte string literal not displayed */
SequelproTemplate is the template for Sequelpro config.
Functions ¶
func AvailableDocrootLocations ¶ added in v0.15.0
func AvailableDocrootLocations() []string
AvailableDocrootLocations returns an of default docroot locations to look for.
func CheckForConf ¶ added in v0.11.0
CheckForConf checks for a config.yaml at the cwd or parent dirs.
func CheckForMissingProjectFiles ¶ added in v1.6.0
CheckForMissingProjectFiles returns an error if the project's configuration or project root cannot be found
func CheckRouterPorts ¶ added in v0.11.0
func CheckRouterPorts() error
CheckRouterPorts tries to connect to the ports the router will use as a heuristic to find out if they're available for docker to bind to. Returns an error if either one results in a successful connection.
func Cleanup ¶ added in v0.11.0
Cleanup will remove ddev containers and volumes even if docker-compose.yml has been deleted.
func CopyEmbedAssets ¶ added in v1.17.0
CopyEmbedAssets copies files in the named embed.FS sourceDir to the local targetDir (full path)
func CreateAppTable ¶ added in v0.11.0
CreateAppTable will create a new app table for describe and list output
func CreateGitIgnore ¶ added in v1.1.0
CreateGitIgnore will create a .gitignore file in the target directory if one does not exist. Each value in ignores will be added as a new line to the .gitignore.
func DiscoverDefaultDocroot ¶ added in v0.15.0
DiscoverDefaultDocroot returns the default docroot directory.
func FindDdevRouter ¶ added in v1.8.0
func FindDdevRouter() (*docker.APIContainers, error)
FindDdevRouter usees FindContainerByLabels to get our router container and return it.
func FullRenderedRouterComposeYAMLPath ¶ added in v1.16.0
func FullRenderedRouterComposeYAMLPath() string
FullRenderedRouterComposeYAMLPath returns the path of the full rendered .router-compose-full.yaml
func FullRenderedSSHAuthComposeYAMLPath ¶ added in v1.16.0
func FullRenderedSSHAuthComposeYAMLPath() string
FullRenderedSSHAuthComposeYAMLPath returns the filepath to the rendered .ssh-auth-compose-full.yaml file.
func GetActiveAppRoot ¶ added in v0.11.0
GetActiveAppRoot returns the fully rooted directory of the active app, or an error
func GetErrLogsFromApp ¶ added in v1.5.0
GetErrLogsFromApp is used to do app.Logs on an app after an error has been received, especially on app.Start. This is really for testing only
func GetInstrumentationUser ¶ added in v1.10.0
func GetInstrumentationUser() string
GetInstrumentationUser normally gets just the hashed hostID but if an explicit user is provided in global_config.yaml that will be prepended.
func GetPort ¶ added in v1.10.0
GetPort returns the external router (as a string) for the given service. This can be used to find a given port for docker-compose manifests, or for automated testing.
func GetRouterStatus ¶ added in v0.11.0
GetRouterStatus retur s router status and warning if not running or healthy, as applicable. return status and most recent log
func GetSSHAuthStatus ¶ added in v1.4.0
func GetSSHAuthStatus() string
GetSSHAuthStatus outputs sshAuth status and warning if not running or healthy, as applicable.
func GetValidAppTypes ¶ added in v0.11.0
func GetValidAppTypes() []string
GetValidAppTypes returns the valid apptype keys from the appTypeMatrix
func IsValidAppType ¶ added in v0.11.0
IsValidAppType is a helper function to determine if an app type is valid, returning true if the given app type is valid and configured and false otherwise.
func List ¶ added in v1.16.0
List() provides the functionality for `ddev list` activeOnly if true only shows projects that are currently docker containers continuous if true keeps requesting and outputting continuously continuousSleepTime is the time between reports
func PrepDdevDirectory ¶
PrepDdevDirectory creates a .ddev directory in the current working directory
func RemoveSSHAgentContainer ¶ added in v1.4.0
func RemoveSSHAgentContainer() error
RemoveSSHAgentContainer brings down the ddev-ssh-agent if it's running.
func RenderAppRow ¶ added in v0.11.0
RenderAppRow will add an application row to an existing table for describe and list output.
func RenderHomeRootedDir ¶ added in v0.11.0
RenderHomeRootedDir shortens a directory name to replace homedir with ~
func RenderRouterStatus ¶ added in v0.11.0
func RenderRouterStatus() string
RenderRouterStatus returns a user-friendly string showing router-status
func RenderSSHAuthStatus ¶ added in v1.4.0
func RenderSSHAuthStatus() string
RenderSSHAuthStatus returns a user-friendly string showing sshAuth-status
func RouterComposeYAMLPath ¶ added in v0.11.0
func RouterComposeYAMLPath() string
RouterComposeYAMLPath returns the full filepath to the routers docker-compose yaml file.
func SSHAuthComposeYAMLPath ¶ added in v1.4.0
func SSHAuthComposeYAMLPath() string
SSHAuthComposeYAMLPath returns the filepath to the base .ssh-auth-compose yaml file.
func SegmentEvent ¶ added in v1.10.0
SegmentEvent provides the event and traits that go with it.
func SegmentUser ¶ added in v1.10.0
SegmentUser does the enqueue of the Identify action, identifying the user Here we just use the hashed hostid as the user id
func SendInstrumentationEvents ¶ added in v1.10.0
func SendInstrumentationEvents(event string)
SendInstrumentationEvents does the actual send to segment
func SetInstrumentationBaseTags ¶ added in v1.10.0
func SetInstrumentationBaseTags()
SetInstrumentationBaseTags sets the basic always-used tags for Segment
func StartDdevRouter ¶ added in v0.11.0
func StartDdevRouter() error
StartDdevRouter ensures the router is running.
func StopRouterIfNoContainers ¶ added in v0.12.0
func StopRouterIfNoContainers() error
StopRouterIfNoContainers stops the router if there are no ddev containers running.
func ValidateProjectName ¶ added in v1.17.0
ValidateProjectName checks to see if the project name works for a proper hostname
func WriteBuildDockerfile ¶ added in v1.10.0
func WriteBuildDockerfile(fullpath string, userDockerfile string, extraPackages []string, composerVersion string) error
WriteBuildDockerfile writes a Dockerfile to be used in the docker-compose 'build' It may include the contents of .ddev/<container>-build
func WriteDrushrc ¶ added in v1.9.0
WriteDrushrc writes out drushrc.php based on passed-in values. This works on Drupal 6 and Drupal 7 or with drush8 and older
func WriteImageDockerfile ¶ added in v1.8.0
WriteImageDockerfile writes a dockerfile at the fullpath (including the filename)
Types ¶
type AppTypeFuncs ¶ added in v0.11.0
type AppTypeFuncs struct {
// contains filtered or unexported fields
}
AppTypeFuncs struct defines the functions that can be called (if populated) for a given appType.
type BackdropSettings ¶ added in v0.13.0
type BackdropSettings struct {
DatabaseName string
DatabaseUsername string
DatabasePassword string
DatabaseHost string
DatabaseDriver string
DatabasePort string
DatabasePrefix string
HashSalt string
Signature string
SiteSettings string
SiteSettingsDdev string
DockerIP string
DBPublishedPort int
}
BackdropSettings holds database connection details for Backdrop.
func NewBackdropSettings ¶ added in v0.13.0
func NewBackdropSettings(app *DdevApp) *BackdropSettings
NewBackdropSettings produces a BackdropSettings object with default values.
type ComposerTask ¶ added in v1.9.0
type ComposerTask struct {
// contains filtered or unexported fields
}
ComposerTask is the struct that defines "composer" tasks for hooks, commands to be run in containers.
func (ComposerTask) Execute ¶ added in v1.9.0
func (c ComposerTask) Execute() error
Execute (ComposerTask) runs a composer command in the web container and returns stdout, stderr, err
func (ComposerTask) GetDescription ¶ added in v1.9.0
func (c ComposerTask) GetDescription() string
GetDescription returns a human-readable description of the task
type DdevApp ¶ added in v0.11.0
type DdevApp struct {
Name string `yaml:"name"`
Type string `yaml:"type"`
Docroot string `yaml:"docroot"`
PHPVersion string `yaml:"php_version"`
WebserverType string `yaml:"webserver_type"`
WebImage string `yaml:"webimage,omitempty"`
DBImage string `yaml:"dbimage,omitempty"`
DBAImage string `yaml:"dbaimage,omitempty"`
RouterHTTPPort string `yaml:"router_http_port"`
RouterHTTPSPort string `yaml:"router_https_port"`
XdebugEnabled bool `yaml:"xdebug_enabled"`
NoProjectMount bool `yaml:"no_project_mount,omitempty"`
AdditionalHostnames []string `yaml:"additional_hostnames"`
AdditionalFQDNs []string `yaml:"additional_fqdns"`
MariaDBVersion string `yaml:"mariadb_version"`
MySQLVersion string `yaml:"mysql_version"`
NFSMountEnabled bool `yaml:"nfs_mount_enabled,omitempty"`
NFSMountEnabledGlobal bool `yaml:"-"`
FailOnHookFail bool `yaml:"fail_on_hook_fail,omitempty"`
FailOnHookFailGlobal bool `yaml:"-"`
ConfigPath string `yaml:"-"`
AppRoot string `yaml:"-"`
DataDir string `yaml:"-"`
SiteSettingsPath string `yaml:"-"`
SiteDdevSettingsFile string `yaml:"-"`
ProviderInstance *Provider `yaml:"-"`
Hooks map[string][]YAMLTask `yaml:"hooks,omitempty"`
UploadDir string `yaml:"upload_dir,omitempty"`
WorkingDir map[string]string `yaml:"working_dir,omitempty"`
OmitContainers []string `yaml:"omit_containers,omitempty,flow"`
OmitContainerGlobal []string `yaml:"-"`
HostDBPort string `yaml:"host_db_port,omitempty"`
HostWebserverPort string `yaml:"host_webserver_port,omitempty"`
HostHTTPSPort string `yaml:"host_https_port,omitempty"`
MailhogPort string `yaml:"mailhog_port,omitempty"`
MailhogHTTPSPort string `yaml:"mailhog_https_port,omitempty"`
PHPMyAdminPort string `yaml:"phpmyadmin_port,omitempty"`
PHPMyAdminHTTPSPort string `yaml:"phpmyadmin_https_port,omitempty"`
WebImageExtraPackages []string `yaml:"webimage_extra_packages,omitempty,flow"`
DBImageExtraPackages []string `yaml:"dbimage_extra_packages,omitempty,flow"`
ProjectTLD string `yaml:"project_tld,omitempty"`
UseDNSWhenPossible bool `yaml:"use_dns_when_possible"`
MkcertEnabled bool `yaml:"-"`
NgrokArgs string `yaml:"ngrok_args,omitempty"`
Timezone string `yaml:"timezone,omitempty"`
ComposerVersion string `yaml:"composer_version"`
DisableSettingsManagement bool `yaml:"disable_settings_management,omitempty"`
WebEnvironment []string `yaml:"web_environment"`
//Providers map[string]*ProviderInfo `yaml:"providers"`
ComposeYaml map[string]interface{} `yaml:"-"`
}
DdevApp is the struct that represents a ddev app, mostly its config from config.yaml.
func GetActiveApp ¶ added in v0.11.0
GetActiveApp returns the active App based on the current working directory or running siteName provided. To use the current working directory, siteName should be ""
func GetActiveProjects ¶ added in v1.9.0
func GetActiveProjects() []*DdevApp
GetActiveProjects returns an array of ddev projects that are currently live in docker.
func GetProjects ¶ added in v1.9.0
GetProjects returns projects that are listed in globalconfig projectlist (or in docker container labels, or both) if activeOnly is true, only show projects that aren't stopped (or broken, missing config, missing files)
func NewApp ¶ added in v0.11.0
NewApp creates a new DdevApp struct with defaults set and overridden by any existing config.yml.
func (*DdevApp) AddHostsEntriesIfNeeded ¶ added in v1.9.0
AddHostsEntriesIfNeeded will (optionally) add the site URL to the host's /etc/hosts.
func (*DdevApp) AppConfDir ¶ added in v0.11.0
AppConfDir returns the full path to the app's .ddev configuration directory
func (*DdevApp) AppTypePrompt ¶ added in v1.0.0
AppTypePrompt handles the Type workflow.
func (*DdevApp) CaptureLogs ¶ added in v1.4.0
CaptureLogs returns logs for a site's given container. See docker.LogsOptions for more information about valid tailLines values.
func (*DdevApp) CheckCustomConfig ¶ added in v0.15.0
func (app *DdevApp) CheckCustomConfig()
CheckCustomConfig warns the user if any custom configuration files are in use.
func (*DdevApp) CheckDeprecations ¶ added in v1.15.0
func (app *DdevApp) CheckDeprecations()
CheckDeprecations warns the user if anything in use is deprecated.
func (*DdevApp) CheckExistingAppInApproot ¶ added in v1.15.0
CheckExistingAppInApproot looks to see if we already have a project in this approot with different name
func (*DdevApp) ComposeFiles ¶ added in v0.11.0
ComposeFiles returns a list of compose files for a project. It has to put the .ddev/docker-compose.*.y*ml first It has to put the docker-compose.override.y*l last
func (*DdevApp) Composer ¶ added in v1.9.0
Composer runs composer commands in the web container, managing pre- and post- hooks
func (*DdevApp) ConfigExists ¶ added in v0.11.0
ConfigExists determines if a ddev config file exists for this application.
func (*DdevApp) ConfigFileOverrideAction ¶ added in v0.12.0
ConfigFileOverrideAction gives a chance for an apptype to override any element of config.yaml that it needs to (on initial creation, but not after that)
func (*DdevApp) CreateSSHAuthComposeFile ¶ added in v1.16.0
CreateSSHAuthComposeFile creates the docker-compose file for the ddev-ssh-agent
func (*DdevApp) CreateSettingsFile ¶ added in v0.11.0
CreateSettingsFile creates the settings file (like settings.php) for the provided app is the apptype has a settingsCreator function. It also preps the ddev directory, including setting up the .ddev gitignore
func (*DdevApp) DefaultWorkingDirMap ¶ added in v1.4.0
DefaultWorkingDirMap returns the app type's default working directory map.
func (*DdevApp) DeleteSnapshot ¶ added in v1.17.0
DeleteSnapshot removes the snapshot directory inside a project
func (*DdevApp) Describe ¶ added in v0.11.0
Describe returns a map which provides detailed information on services associated with the running site.
func (*DdevApp) DetectAppType ¶ added in v0.11.0
DetectAppType calls each apptype's detector until it finds a match, or returns 'php' as a last resort.
func (*DdevApp) DetermineSettingsPathLocation ¶ added in v0.11.0
DetermineSettingsPathLocation figures out the path to the settings file for an app based on the contents/existence of app.SiteSettingsPath and app.SiteDdevSettingsFile.
func (*DdevApp) DockerComposeFullRenderedYAMLPath ¶ added in v1.14.0
DockerComposeFullRenderedYAMLPath returns the absolute path to where the the complete generated yaml file should exist for this project.
func (*DdevApp) DockerComposeYAMLPath ¶ added in v0.11.0
DockerComposeYAMLPath returns the absolute path to where the base generated yaml file should exist for this project.
func (*DdevApp) DockerEnv ¶ added in v0.11.0
func (app *DdevApp) DockerEnv()
DockerEnv sets environment variables for a docker-compose run.
func (*DdevApp) EnsureSSHAgentContainer ¶ added in v1.4.0
EnsureSSHAgentContainer ensures the ssh-auth container is running.
func (*DdevApp) Exec ¶ added in v0.11.0
Exec executes a given command in the container of given type without allocating a pty Returns ComposeCmd results of stdout, stderr, err If Nocapture arg is true, stdout/stderr will be empty and output directly to stdout/stderr
func (*DdevApp) ExecOnHostOrService ¶ added in v1.17.0
func (*DdevApp) ExecWithTty ¶ added in v0.11.0
ExecWithTty executes a given command in the container of given type. It allocates a pty for interactive work.
func (*DdevApp) ExportDB ¶ added in v1.4.0
ExportDB exports the db, with optional output to a file, default gzip targetDB is the db name if not default "db"
func (*DdevApp) FindContainerByType ¶ added in v0.11.0
FindContainerByType will find a container for this site denoted by the containerType if it is available.
func (*DdevApp) GenerateWebserverConfig ¶ added in v1.15.0
GenerateWebserverConfig generates the default nginx and apache config files
func (*DdevApp) GetAllURLs ¶ added in v0.17.0
GetAllURLs returns an array of all the URLs for the project
func (*DdevApp) GetAppRoot ¶ added in v0.11.0
GetAppRoot return the full path from root to the app directory
func (*DdevApp) GetConfigPath ¶ added in v0.11.0
GetConfigPath returns the path to an application config file specified by filename.
func (*DdevApp) GetDBImage ¶ added in v1.12.0
GetDBImage uses the available mariadb or mysql version or provides the default
func (DdevApp) GetDocroot ¶ added in v0.11.0
GetDocroot returns the docroot path for ddev app
func (*DdevApp) GetHTTPSURL ¶ added in v0.12.0
GetHTTPSURL returns the HTTPS URL for an app.
func (*DdevApp) GetHTTPURL ¶ added in v0.12.0
GetHTTPURL returns the HTTP URL for an app.
func (*DdevApp) GetHookDefaultComments ¶ added in v0.11.0
GetHookDefaultComments gets the actual text of the config.yaml hook suggestions for a given apptype
func (*DdevApp) GetHostname ¶ added in v0.11.0
GetHostname returns the primary hostname of the app.
func (*DdevApp) GetHostnames ¶ added in v0.17.0
GetHostnames returns an array of all the configured hostnames.
func (*DdevApp) GetLatestSnapshot ¶ added in v1.17.0
GetLatestSnapshot returns the latest created snapshot of a project
func (*DdevApp) GetNFSMountVolName ¶ added in v1.5.9
Returns the docker volume name of the nfs mount volume
func (*DdevApp) GetOmittedContainers ¶ added in v1.14.0
GetOmittedContainers returns full list of global and local omitted containers
func (*DdevApp) GetPhpVersion ¶ added in v0.12.0
GetPhpVersion returns the app's php version
func (*DdevApp) GetPrimaryURL ¶ added in v1.12.0
GetPrimaryURL() returns the primary URL that can be used, https or http
func (*DdevApp) GetProvider ¶ added in v0.11.0
GetProvider returns a pointer to the provider instance interface.
func (*DdevApp) GetPublishedPort ¶ added in v1.1.0
GetPublishedPort returns the host-exposed public port of a container.
func (*DdevApp) GetType ¶ added in v0.11.0
GetType returns the application type as a (lowercase) string
func (*DdevApp) GetUploadDir ¶ added in v0.11.0
GetUploadDir returns the upload (public files) directory for the given app
func (*DdevApp) GetValidProviders ¶ added in v1.17.0
GetValidProviders is a helper function that returns a list of valid providers.
func (*DdevApp) GetWebContainerDirectHTTPSURL ¶ added in v1.8.0
GetWebContainerDirectHTTPSURL returns the URL that can be used without the router to get to web container via https.
func (*DdevApp) GetWebContainerDirectHTTPURL ¶ added in v1.9.0
GetWebContainerDirectHTTPURL returns the URL that can be used without the router to get to web container.
func (*DdevApp) GetWebContainerHTTPSPublicPort ¶ added in v1.8.0
GetWebContainerHTTPSPublicPort returns the direct-access public tcp port for https
func (*DdevApp) GetWebContainerPublicPort ¶ added in v1.3.0
GetWebContainerPublicPort returns the direct-access public tcp port for http
func (*DdevApp) GetWebserverType ¶ added in v1.2.0
GetWebserverType returns the app's webserver type (nginx-fpm/apache-fpm)
func (*DdevApp) GetWorkingDir ¶ added in v1.10.0
GetWorkingDir will determine the appropriate working directory for an Exec/ExecWithTty command by consulting with the project configuration. If no dir is specified for the service, an empty string will be returned.
func (*DdevApp) ImportDB ¶ added in v0.11.0
func (app *DdevApp) ImportDB(imPath string, extPath string, progress bool, noDrop bool, targetDB string) error
ImportDB takes a source sql dump and imports it to an active site's database container.
func (*DdevApp) ImportFiles ¶ added in v0.11.0
ImportFiles takes a source directory or archive and copies to the uploaded files directory of a given app.
func (*DdevApp) ImportFilesAction ¶ added in v1.1.0
ImportFilesAction executes the relevant import files workflow for each app type.
func (*DdevApp) Init ¶ added in v0.11.0
Init populates DdevApp config based on the current working directory. It does not start the containers.
func (*DdevApp) IsValidProvider ¶ added in v1.17.0
IsValidProvider is a helper function to determine if a provider value is valid, returning true if the supplied provider is valid and false otherwise.
func (*DdevApp) ListSnapshots ¶ added in v1.17.0
ListSnapshots returns a list of the names of all project snapshots
func (*DdevApp) LoadConfigYamlFile ¶ added in v1.7.0
LoadConfigYamlFile loads one config.yaml into app, overriding what might be there.
func (*DdevApp) Logs ¶ added in v0.11.0
Logs returns logs for a site's given container. See docker.LogsOptions for more information about valid tailLines values.
func (*DdevApp) PostConfigAction ¶ added in v0.12.0
PostConfigAction gives a chance for an apptype to override do something at the end of ddev config.
func (*DdevApp) PostImportDBAction ¶ added in v0.11.0
PostImportDBAction calls each apptype's detector until it finds a match, or returns 'php' as a last resort.
func (*DdevApp) PostStartAction ¶ added in v0.20.0
PostStartAction gives a chance for an apptype to do something after the app has been started.
func (*DdevApp) ProcessHooks ¶ added in v0.11.0
ProcessHooks executes Tasks defined in Hooks
func (*DdevApp) PromptForConfig ¶ added in v0.11.0
PromptForConfig goes through a set of prompts to receive user input and generate an Config struct.
func (*DdevApp) Pull ¶ added in v1.3.0
func (app *DdevApp) Pull(provider *Provider, skipDbArg bool, skipFilesArg bool, skipImportArg bool) error
Pull performs an import of db and files
func (*DdevApp) PullContainerImages ¶ added in v1.16.0
PullContainerImages pulls the main images with full output, since docker-compose up won't show enough output
func (*DdevApp) ReadConfig ¶ added in v0.11.0
ReadConfig reads project configuration from the config.yaml file It does not attempt to set default values; that's NewApp's job.
func (*DdevApp) RemoveGlobalProjectInfo ¶ added in v1.7.0
func (app *DdevApp) RemoveGlobalProjectInfo()
RemoveGlobalProjectInfo() deletes the project from ProjectList
func (*DdevApp) RemoveHostsEntries ¶ added in v1.1.0
RemoveHostsEntries will remote the site URL from the host's /etc/hosts.
func (*DdevApp) RenderComposeYAML ¶ added in v0.11.0
RenderComposeYAML renders the contents of .ddev/.ddev-docker-compose*.
func (*DdevApp) RestoreSnapshot ¶ added in v1.1.0
RestoreSnapshot restores a mariadb snapshot of the db to be loaded The project must be stopped and docker volume removed and recreated for this to work.
func (*DdevApp) SetApptypeSettingsPaths ¶ added in v0.11.0
func (app *DdevApp) SetApptypeSettingsPaths()
SetApptypeSettingsPaths chooses and sets the settings.php/settings.local.php and related paths for a given app.
func (*DdevApp) SetInstrumentationAppTags ¶ added in v1.10.0
func (app *DdevApp) SetInstrumentationAppTags()
SetInstrumentationAppTags creates app-specific tags for Segment
func (*DdevApp) SiteStatus ¶ added in v0.11.0
SiteStatus returns the current status of an application determined from web and db service health.
func (*DdevApp) Snapshot ¶ added in v1.9.0
Snapshot forces a mariadb snapshot of the db to be written into .ddev/db_snapshots Returns the dirname of the snapshot and err
func (*DdevApp) StartAndWait ¶ added in v1.12.2
StartAndWait() is primarily for use in tests. It does app.Start() but then waits for extra seconds before returning. extraSleep arg in seconds is the time to wait if > 0
func (*DdevApp) StartAppIfNotRunning ¶ added in v1.16.0
StartAppIfNotRunning() is intended to replace much-duplicated code in the commands.
func (*DdevApp) Stop ¶ added in v0.11.0
Stops and Removes the docker containers for the project in current directory.
func (*DdevApp) UpdateGlobalProjectList ¶ added in v1.9.0
UpdateGlobalProjectList updates any information about project that is tracked in global project list: - approot - configured host ports checks that configured host ports are not already reserved by another project
func (*DdevApp) ValidateConfig ¶ added in v0.11.0
ValidateConfig ensures the configuration meets ddev's requirements.
func (*DdevApp) WaitByLabels ¶ added in v1.17.0
WaitByLabels waits for containers found by list of labels to be ready
func (*DdevApp) WaitForServices ¶ added in v1.17.0
WaitForServices waits for all the services in docker-compose to come up
func (*DdevApp) WarnIfConfigReplace ¶ added in v0.11.0
func (app *DdevApp) WarnIfConfigReplace()
WarnIfConfigReplace just messages user about whether config is being replaced or created
func (*DdevApp) WriteConfig ¶ added in v0.11.0
WriteConfig writes the app configuration into the .ddev folder.
func (*DdevApp) WriteDockerComposeYAML ¶ added in v1.14.0
WriteDockerComposeYAML writes a .ddev-docker-compose-base.yaml and related to the .ddev directory.
type DrupalSettings ¶ added in v0.11.0
type DrupalSettings struct {
DeployName string
DeployURL string
DatabaseName string
DatabaseUsername string
DatabasePassword string
DatabaseHost string
DatabaseDriver string
DatabasePort string
DatabasePrefix string
HashSalt string
Signature string
SitePath string
SiteSettings string
SiteSettingsDdev string
SyncDir string
DockerIP string
DBPublishedPort int
}
DrupalSettings encapsulates all the configurations for a Drupal site.
func NewDrupalSettings ¶ added in v0.11.0
func NewDrupalSettings(app *DdevApp) *DrupalSettings
NewDrupalSettings produces a DrupalSettings object with default.
type ExecHostTask ¶ added in v1.9.0
type ExecHostTask struct {
// contains filtered or unexported fields
}
ExecHostTask is the struct that defines "exec-host" tasks for hooks, commands that get run on the host.
func (ExecHostTask) Execute ¶ added in v1.9.0
func (c ExecHostTask) Execute() error
Execute (HostTask) executes a command in a container, by default the web container, and returns stdout, stderr, err
func (ExecHostTask) GetDescription ¶ added in v1.9.0
func (c ExecHostTask) GetDescription() string
GetDescription returns a human-readable description of the task
type ExecOpts ¶ added in v1.4.0
type ExecOpts struct {
// Service is the service, as in 'web', 'db', 'dba'
Service string
// Dir is the working directory inside the container
Dir string
// Cmd is the string to execute
Cmd string
// Nocapture if true causes use of ComposeNoCapture, so the stdout and stderr go right to stdout/stderr
NoCapture bool
// Tty if true causes a tty to be allocated
Tty bool
// Stdout can be overridden with a File
Stdout *os.File
// Stderr can be overridden with a File
Stderr *os.File
}
ExecOpts contains options for running a command inside a container
type ExecTask ¶ added in v1.9.0
type ExecTask struct {
// contains filtered or unexported fields
}
ExecTask is the struct that defines "exec" tasks for hooks, commands to be run in containers.
func (ExecTask) GetDescription ¶ added in v1.9.0
GetDescription returns a human-readable description of the task
type InvalidOmitContainers ¶ added in v1.5.0
type InvalidOmitContainers error
type Provider ¶
type Provider struct {
ProviderType string `yaml:"provider"`
ProviderInfo `yaml:"providers"`
// contains filtered or unexported fields
}
Provider provides generic-specific import functionality.
func (*Provider) GetBackup ¶
GetBackup will create and download a backup Valid values for backupType are "database" or "files". returns fileURL, importPath, error
func (*Provider) UploadDB ¶ added in v1.17.0
UploadDB() is used by Push to push the database to hosting provider
func (*Provider) UploadFiles ¶ added in v1.17.0
UploadFiles() is used by Push to push the user-generated files to the hosting provider
type ProviderCommand ¶ added in v1.17.0
type ProviderCommand struct {
Command string `yaml:"command"`
Service string `yaml:"service,omitempty"`
}
ProviderCommand defines the shell command to be run for one of the commands (db pull, etc.)
type ProviderInfo ¶ added in v1.17.0
type ProviderInfo struct {
EnvironmentVariables map[string]string `yaml:"environment_variables"`
AuthCommand ProviderCommand `yaml:"auth_command"`
DBPullCommand ProviderCommand `yaml:"db_pull_command"`
FilesPullCommand ProviderCommand `yaml:"files_pull_command"`
CodePullCommand ProviderCommand `yaml:"code_pull_command,omitempty"`
DBPushCommand ProviderCommand `yaml:"db_push_command"`
FilesPushCommand ProviderCommand `yaml:"files_push_command"`
}
ProviderInfo defines the provider
type SegmentNoopLogger ¶ added in v1.16.0
type SegmentNoopLogger struct{}
Define a no-op logger to prevent Segment log messages from being emitted
func (*SegmentNoopLogger) Errorf ¶ added in v1.16.0
func (n *SegmentNoopLogger) Errorf(format string, args ...interface{})
func (*SegmentNoopLogger) Logf ¶ added in v1.16.0
func (n *SegmentNoopLogger) Logf(format string, args ...interface{})
type WordpressConfig ¶ added in v0.11.0
type WordpressConfig struct {
WPGeneric bool
DeployName string
DeployURL string
DatabaseName string
DatabaseUsername string
DatabasePassword string
DatabaseHost string
AuthKey string
SecureAuthKey string
LoggedInKey string
NonceKey string
AuthSalt string
SecureAuthSalt string
LoggedInSalt string
NonceSalt string
Docroot string
TablePrefix string
Signature string
SiteSettings string
SiteSettingsDdev string
AbsPath string
}
WordpressConfig encapsulates all the configurations for a WordPress site.
func NewWordpressConfig ¶ added in v0.11.0
func NewWordpressConfig(app *DdevApp, absPath string) *WordpressConfig
NewWordpressConfig produces a WordpressConfig object with defaults.