In kubernetes internal services communicate to other services via that internal services name (.e.g "kolab"), instead of the public name (e.g. "kolab.local").
We want this so internal traffic remains internal, and doesnt involve external dns lookups (and thus create a dependency on these external dns records) or redirect traffic outside.
However, because the api requires a single specific domain name, this doesn't work.
This affects for instance:
- The kolab 4 files API that is contacted by chwala from both the pod and from outside (FILEAPI_KOLABFILES_BASEURI)
- All services. endpoints. For the most part we can use APP_SERVICES_DOMAIN to just set it to e.g. "kolab" instead of "services.kolab.local", this would however become a problem if some parts outside of the cluster need to contact services.kolab.local.
The admin./reseller. subdomains are not problematic as long as we only access them from the outside.
By removing the WEBSITE_DOMAIN routing we aren't loosing much IMO. The domain by definition is publicly accessible, so we arent changing much, so we just need to make sure that the admin. and reseller. domains are picked before the website domain paths when both are an option.
This patch adds support for specifying all subdomains as a list,
primarily for consistency. We expect to use it at least for the services
domain.