Context
The following documentation provides a baseline to allow beVault containers to trust your organisation's CA when establishing TLS/HTTPS connections, even when the certificates are not issued by a commonly trusted Certificate Authority (Mozilla CA root store).
Prerequisites
Retrieve the Certificate Authority public certificate in PEM format and store it in a file in the installation folder of beVault (my-ca.pem in this documentation).
Configuration
The following snippet shows how to adapt the docker-compose.yml file to mount the CA certificate file into each container and configure the operating system's certificate store :
services:
states:
entrypoint:
- "/bin/sh"
- "-c"
- "update-ca-certificates && exec dotnet dFakto.States.dll"
volumes:
# NOTE: keep other volumes already defined
- ./my-ca.pem:/usr/local/share/ca-certificates/my-ca.crt
workers:
entrypoint:
- "/bin/sh"
- "-c"
- "update-ca-certificates && exec dotnet dFakto.States.Workers.dll"
volumes:
# NOTE: keep other volumes already defined
- ./my-ca.pem:/usr/local/share/ca-certificates/my-ca.crt
metavault:
entrypoint:
- "/bin/sh"
- "-c"
- "update-ca-certificates && exec dotnet dFakto.DataVault2.Api.dll"
volumes:
# NOTE: keep other volumes already defined
- ./my-ca.pem:/usr/local/share/ca-certificates/my-ca.crt
Note that the file is mounted with a .crt extension. This is required by update-ca-certificates, which only processes files with a .crt extension in the /usr/local/share/ca-certificates/ directory