[Deprecated] Configure a custom values file for ScalarDB GraphQL
ScalarDB GraphQL Server is now deprecated. Please use ScalarDB Cluster instead.
This document explains how to create your custom values file for the ScalarDB GraphQL chart. If you want to know the details of the parameters, please refer to the README of the ScalarDB GraphQL chart.
Required configurations​
Ingress configuration​
You must set ingress
to listen the client requests. When you deploy multiple GraphQL servers, session affinity is required to handle transactions properly. This is because GraphQL servers keep the transactions in memory, so GraphQL queries that use continued transactions must be routed to the same server that started the transaction.
For example, if you use NGINX Ingress Controller, you can set ingress configurations as follows.
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/session-cookie-path: /
nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/session-cookie-name: INGRESSCOOKIE
nginx.ingress.kubernetes.io/session-cookie-hash: sha1
nginx.ingress.kubernetes.io/session-cookie-max-age: "300"
hosts:
- host: ""
paths:
- path: /graphql
pathType: Exact
If you use ALB of AWS, you can set ingress configurations as follows.
ingress:
enabled: true
className: alb
annotations:
alb.ingress.kubernetes.io/scheme: internal
alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=60
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/healthcheck-path: /graphql?query=%7B__typename%7D
hosts:
- host: ""
paths:
- path: /graphql
pathType: Exact
Image configurations​
You must set image.repository
. Be sure to specify the ScalarDB GraphQL container image so that you can pull the image from the container repository.
image:
repository: <SCALARDB_GRAPHQL_SERVER_CONTAINER_IMAGE>
If you're using AWS or Azure, please refer to the following documents for more details:
- How to install Scalar products through AWS Marketplace
- How to install Scalar products through Azure Marketplace
Database configurations​
You must set scalarDbGraphQlConfiguration
.
If you use ScalarDB Server with ScalarDB GraphQL (recommended), you must set the configuration to access the ScalarDB Server pods.
scalarDbGraphQlConfiguration:
contactPoints: <ScalarDB Server host>
contactPort: 60051
storage: "grpc"
transactionManager: "grpc"
namespaces: <Schema name includes tables>