Namespaces are useful for isolation. The main use case is isolation by tenant (multi-tenancy) when you wish to have dedicated resources and policies for each team or customer.
This can be accomplished within a mono or across multiple repositories, depending on your organizational requirements. Either way, you will end up with multiple directories with one dedicated to the server, and with each other containing the required files for a namespace.
The following structure is the recommended one for handling multi-tenancy:
integrations.BLACKSMITH_EXTfor integrations related to the namespace
/gateway/*.BLACKSMITH_EXTfor the gateway's sources / triggers of the namespace
This way, a
server directory is common for all namespaces and can be public or
private. Also, each team / customer has its own repository which can be public or
private as well.
For better consistency across teams inside an organization, we strongly advise
to always use the same
BLACKSMITH_EXT across directories
If you notice something we've missed or could be improved on, please follow this link and submit a pull request to the repository. Once we merge it, the changes will be reflected on the website the next time it is deployed.
Thank you for your contributions!