Add-on structure and function:
ddev get
uses GitHub API to search for projects with the label ddev-get
to displayddev
org and are actively maintained by an individual and have meaningful tests. ddev get --list
shows “official” add-ons and ddev get --list --all
shows all repos with the label.docker-compose.*.yaml
as with a service or just configuration override, or a Dockerfile.*
to add features to the web container. It can add custom commands as either project-level or global commands.ddev get ../some-add-on
ddev-get
label): ddev get owner/repo
ddev get <https://github.com/owner/repo/tarball/main
> for example. For a branch/PR use ddev get [<https://github.com/owner/repo/tarball>](<https://github.com/owner/repo/tarball>)/yourbranch
- GitHub automatically creates the tarball.Sections of the install.yaml file: see doc
Advanced topic: Environment variable and go template replacements, see doc.
Let’s look at a trivial example add-on, ddev-hello-world
Automated tests are done with Bats, see Bats docs. It’s really just bash scripting with a few extra features, such as assertions.
bats tests
or bats --verbose-run --show-output-of-passing-tests tests