Namespaces and environments in Sail CLI allow you to deploy and work with multiple WordPress applications in the same provisioned environment.
An environment is a collection of cloud resources, dedicated to running your WordPress applications. Environments are completely isolated from one another.
A namespace allows users to deploy a separate WordPress application into an existing environment, under a different directory.
Note that namespaces in a single environment are not isolated. They typically share a Linux user, the php-fpm pools, Nginx configurations, database servers, etc. If you are looking for isolation, we recommend using a separate environment instead.
By default, when a new project is created with sail init, a brand new environment
is provisioned for that application, and the application itself is deployed
under the default namespace:
cd path/to/primary
sail init
If you'd like to add a secondary application to the same environment, use the
--namespace and --environment flags:
cd path/to/secondary
sail init --namespace=secondary --environment=path/to/primary
This will use the same environment as the primary application, and provision a
new WordPress application under the secondary namespace.
Note that most Sail commands will operate under the current namespace, so for
example sail backup inside the path/to/secondary Sail project directory, will
perform a backup of the secondary namespace only.
If you'd like to delete a namespace, from the project directory where the namespace was created, simply run the usual:
sail destroy
If you'd like to destroy the entire environment, you can add the --environment
flag. This will destroy all namespaces and shut down the servers.
If you're stuck and need help with namespaces, environments or Sail CLI in general please visit the getting help section.