Mount any files or volumes on Scalar product pods
You can mount any files or volumes on Scalar product pods when you use ScalarDB Server, ScalarDB Cluster, ScalarDB Analytics with PostgreSQL, or ScalarDL Helm Charts (ScalarDL Ledger and ScalarDL Auditor).
Mount key and certificate files on a pod in ScalarDL Helm Charts
You must mount the key and certificate files to run ScalarDL Auditor.
- Configuration example
- ScalarDL Ledger
ledger:
ledgerProperties: |
...
scalar.dl.ledger.proof.enabled=true
scalar.dl.ledger.auditor.enabled=true
scalar.dl.ledger.proof.private_key_path=/keys/private-key - ScalarDL Auditor
auditor:
auditorProperties: |
...
scalar.dl.auditor.private_key_path=/keys/private-key
scalar.dl.auditor.cert_path=/keys/certificate
- ScalarDL Ledger
In this example, you need to mount a private-key and a certificate file under the /keys
directory in the container. And, you need to mount files named private-key
and certificate
. You can use extraVolumes
and extraVolumeMounts
to mount these files.
-
Set
extraVolumes
andextraVolumeMounts
in the custom values file using the same syntax of Kubernetes manifest. You need to specify the directory name to the keymountPath
.- Example
- ScalarDL Ledger
ledger:
extraVolumes:
- name: ledger-keys
secret:
secretName: ledger-keys
extraVolumeMounts:
- name: ledger-keys
mountPath: /keys
readOnly: true - ScalarDL Auditor
auditor:
extraVolumes:
- name: auditor-keys
secret:
secretName: auditor-keys
extraVolumeMounts:
- name: auditor-keys
mountPath: /keys
readOnly: true
- ScalarDL Ledger
- Example
-
Create a
Secret
resource that includes key and certificate files.You need to specify the file name as keys of
Secret
.- Example
- ScalarDL Ledger
kubectl create secret generic ledger-keys \
--from-file=private-key=./ledger-key.pem - ScalarDL Auditor
kubectl create secret generic auditor-keys \
--from-file=private-key=./auditor-key.pem \
--from-file=certificate=./auditor-cert.pem
- ScalarDL Ledger
- Example
-
Deploy Scalar products with the above custom values file.
After deploying Scalar products, key and certificate files are mounted under the
/keys
directory as follows.- Example
- ScalarDL Ledger
$ ls -l /keys/
total 0
lrwxrwxrwx 1 root root 18 Jun 27 03:12 private-key -> ..data/private-key - ScalarDL Auditor
$ ls -l /keys/
total 0
lrwxrwxrwx 1 root root 18 Jun 27 03:16 certificate -> ..data/certificate
lrwxrwxrwx 1 root root 18 Jun 27 03:16 private-key -> ..data/private-key
- ScalarDL Ledger
- Example
Mount emptyDir to get a heap dump file
You can mount emptyDir to Scalar product pods by using the following keys in your custom values file. For example, you can use this volume to get a heap dump of Scalar products.
-
Keys
scalardb.extraVolumes
/scalardb.extraVolumeMounts
(ScalarDB Server)scalardbCluster.extraVolumes
/scalardbCluster.extraVolumeMounts
(ScalarDB Cluster)scalardbAnalyticsPostgreSQL.extraVolumes
/scalardbAnalyticsPostgreSQL.extraVolumeMounts
(ScalarDB Analytics with PostgreSQL)ledger.extraVolumes
/ledger.extraVolumeMounts
(ScalarDL Ledger)auditor.extraVolumes
/auditor.extraVolumeMounts
(ScalarDL Auditor)
-
Example (ScalarDB Server)
scalardb:
extraVolumes:
- name: heap-dump
emptyDir: {}
extraVolumeMounts:
- name: heap-dump
mountPath: /dump
In this example, you can see the mounted volume in the ScalarDB Server pod as follows.
$ ls -ld /dump
drwxrwxrwx 2 root root 4096 Feb 6 07:43 /dump