Passing external database credentials via Kubernetes secret
When configuring Black Duck to use an external PostgreSQL database,
you can choose to supply the database credentials via a Kubernetes secret rather than
storing them directly in the values.yaml file. This approach enhances
security by avoiding plaintext credentials in configuration files.
Using the default behavior (Helm-managed secret)
By default, the Helm chart will generate a secret named
<name>-blackduck-db-creds using the values set from
adminPassword and userPassword in your
values.yaml file. This behavior is controlled by the
useHelmChartDbCreds flag, which is enabled by default:
useHelmChartDbCreds: true
No additional steps are needed if you choose to continue using this method.
Providing your own database credentials secret
If you prefer to manage the credentials yourself, set
useHelmChartDbCreds to false in your
values.yaml file:
useHelmChartDbCreds: false
You must then create a Kubernetes secret named
<name>-blackduck-db-creds in the same namespace as your Black Duck deployment. The secret must include the following
keys:
-
HUB_POSTGRES_ADMIN_PASSWORD_FILE -
HUB_POSTGRES_USER_PASSWORD_FILE
Each key should point to a file containing the corresponding password. For example:
kubectl create secret generic -n <namespace> <name>-blackduck-db-creds \
--from-file=HUB_POSTGRES_ADMIN_PASSWORD_FILE=pg_admin_password_file \
--from-file=HUB_POSTGRES_USER_PASSWORD_FILE=pg_user_password_file
values.yaml.