Configure a custom values file for ScalarDL Ledger
This document explains how to create your custom values file for the ScalarDL Ledger chart. If you want to know the details of the parameters, please refer to the README of the ScalarDL Ledger chart.
Required configurations
Scalar Envoy configurations
You must set the Scalar Envoy configurations in the custom values file for ScalarDL Ledger. This is because client requests are sent to ScalarDL Ledger via Scalar Envoy as the load balancer of gRPC requests if you deploy ScalarDL Ledger on a Kubernetes environment.
Please refer to the document Configure a custom values file for Scalar Envoy for more details on the Scalar Envoy configurations.
envoy:
configurationsForScalarEnvoy:
...
ledger:
configurationsForScalarDLLedger:
...
Image configurations
You must set ledger.image.repository
. Be sure to specify the ScalarDL Ledger container image so that you can pull the image from the container repository.
ledger:
image:
repository: <SCALARDL_LEDGER_CONTAINER_IMAGE>
For more details on the container repository for Scalar products, see How to get the container images of Scalar products.
Ledger/Database configurations
You must set ledger.ledgerProperties
. Please set your ledger.properties
to this parameter. Please refer to the ledger.properties for more details on the configuration of ScalarDL Ledger.
ledger:
ledgerProperties: |
scalar.db.contact_points=localhost
scalar.db.username=cassandra
scalar.db.password=cassandra
scalar.db.storage=cassandra
scalar.dl.ledger.proof.enabled=true
scalar.dl.ledger.auditor.enabled=true
scalar.dl.ledger.proof.private_key_path=/keys/ledger-key-file
Key/Certificate configurations
If you set scalar.dl.ledger.proof.enabled
to true
(this configuration is required if you use ScalarDL Auditor), you must set a private key file to scalar.dl.ledger.proof.private_key_path
.
In this case, you must mount the private key file on the ScalarDL Ledger pod.
For more details on how to mount the private key file, refer to Mount key and certificate files on a pod in ScalarDL Helm Charts.
Optional configurations
Resource configurations (Recommended in the production environment)
If you want to control pod resources using the requests and limits of Kubernetes, you can use ledger.resources
.
Note that the resources for one pod of Scalar products are limited to 2vCPU / 4GB memory from the perspective of the commercial license. Also, when you get the pay-as-you-go containers provided from AWS Marketplace, you cannot run those containers with more than 2vCPU / 4GB memory configuration in the resources.limits
. When you exceed this limitation, pods are automatically stopped.
You can configure them using the same syntax as the requests and limits of Kubernetes. So, please refer to the official document Resource Management for Pods and Containers for more details on the requests and limits of Kubernetes.
ledger:
resources:
requests:
cpu: 2000m
memory: 4Gi
limits:
cpu: 2000m
memory: 4Gi