Content Services GraphQL parameters

Update the custom YAML file to provide the details that are relevant to your Content Services GraphQL and your decisions for the deployment of the container.
Table 1. GraphQL configuration parameters: spec.ecm_configuration.graphql
Parameters Description Default or Example Values Required
arch.amd64 The architecture for your environment. 3 - Most preferred No
replica_count How many replicas to deploy. 2 No
rolling_update.max_unavailable

Rolling update settings for GraphQL deployment.

By default, maxUnavailable is set to '25%'.

The values can be defined as either a percentage (e.g., '25%') or an absolute number (e.g., 1).

25% No
rolling_update.max_surge

Rolling update settings for GraphQL deployment.

By default, maxSurge is set to 1.

The value can be defined as either a percentage (e.g., '25%') or an absolute number (e.g., 1).

1 No
image.repository The image repository that corresponds to the image registry, where the image is pulled. The default repository is the IBM Entitled Registry. cp.icr.io/cp/cp4a/fncm/graphql Yes
image.tag Specifies the tag for the image. ga-2600-p8cgql Yes
pull_policy Specify your pull policy. If specified, this value overrides the image pull policy in the shared_configuration. IfNotPresent Yes
log.format The format for workload logging. json No
resources.requests.cpu Specifies a CPU request for the container. 500m No
resources.requests.memory Specify a memory request for the container. 512Mi No
resources.limits.cpu Specify a CPU limit for the container. 1 No
resources.limits.memory Specify a memory limit for the container. 1536Mi No
resources.requests.ephemeral_storage Specifies an ephemeral storage request for the container. 1 Gi No
resources.limits.ephemeral_storage Specifies an ephemeral storage limit for the container. 1 Gi No
auto_scaling.enabled Specify whether to enable auto scaling. false No
auto_scaling.max_replicas The upper limit for the number of pods that can be set by the autoscaler. Required. 3 No
auto_scaling.min_replicas The lower limit for the number of pods that can be set by the autoscaler. If it is not specified or negative, the server will apply a default value. 2 No
auto_scaling.target_cpu_utilization_percentage The target average CPU utilization (represented as a percent of requested CPU) over all the pods. If it is not specified or negative, a default autoscaling policy is used. 80 No
auto_scaling.target_memory_utilization_percentage The target average memory utilization (represented as a percent of requested memory) over all the pods. If it is not specified or negative, a default autoscaling policy is used. N/A Required if using memory metrics
auto_scaling.scaleup
  • policies_pods_value
  • policies_pods_period_seconds
  • stabilization_window_seconds
  • The maximum number of pods that the HPA is allowed to add during each periodSeconds interval.
  • Defines how often the HPA can apply a scaling action.
  • Cooldown window before applying scaleUp action.
  • 1
  • 15 (seconds)
  • 30 (seconds)
No
auto_scaling.scaledown
  • policies_pods_value
  • policies_pods_period_seconds
  • stabilization_window_seconds
  • The maximum number of pods that the HPA is allowed to remove during each periodSeconds interval.
  • Defines how often the HPA can apply a scaling action.
  • Cooldown window before applying scaleDown action.
  • 1
  • 15 (seconds)
  • 300 (seconds)
No
tolerations Tolerations allow a pod to be scheduled on a node with a matching taint. You can have multiple tolerations to handle complex taint scenarios.

For example, to schedule the pod on a node with taints (component=graphql:NoSchedule) add tolerations to the tolerations parameter that match the taint.

ecm_configuration:
    graphql:
      replica_count: 2
      tolerations:
        - key: "component"
          operator: "Equal"
          value: "graphql"
          effect: "NoSchedule"

The default value is an empty list [], which then uses the Kubernetes defaults.

tolerations: [] No
graphql_production_setting.time_zone The time zone for the container deployment. Etc/UTC No
graphql_production_setting.jvm_initial_heap_percentage The initial use of available memory. 40 No
graphql_production_setting.jvm_max_heap_percentage The maximum percentage of available memory to use. 66 No
graphql_production_setting.jvm_customize_options Optionally specify JVM arguments using comma separation. For example:

jvm_customize_options: "-Dmy.test.jvm.arg1=123,-Dmy.test.jvm.arg2=abc,-XX:+SomeJVMSettings,XshowSettings:vm"

If needed, you can use DELIM to change the character that is used to separate multiple JVM arguments. In this example, a semi-colon is used to separate the JVM arguments:

jvm_customize_options: "DELIM=;-Dcom.filenet.authentication.wsi.AutoDetectAuthToken=true;-Dcom.filenet.authentication.providers=ExShareUmsInternal,ExShareIbmId,ExShareGID"

Note: The -Dmetadata.cache.refresh.interval= JVM option sets the interval to check if metadata has changed and clears the metadata cache if changes are detected. For Automation Document Processing deployments, the operator sets this value to 120 seconds by default.
None No
graphql_production_setting.license The value must be set to accept to deploy. accept Yes
graphql_production_setting.license_model Choose the licensing model. The expected values are ICF.PVUNonProd, ICF.PVUProd, ICF.UVU, ICF.CU, FNCM.PVUNonProd, FNCM.PVUProd, FNCM.UVU, or FNCM.CU. FNCM.PVUNonProd Yes
graphql_production_setting.enable_graph_iql Specify whether to enable the GraphiQL UI. True is recommended for development environments. False is recommended for production environments. false No
graphql_production_setting.custom_configmap.name The name of the custom configmap. custom-navigator-config-files Yes
graphql_production_setting.custom_configmap.volume_path The location you want to hold files in.   No
graphql_production_setting.custom_configmap.is_env Specify whether the config map holds environment variables. false Required only when configmap holds data information.
monitor_enabled Specify whether to use the built-in monitoring capability. false No
logging_enabled Specify whether to use the built-in logging capability. true No
collectd_enable_plugin_write_graphite If you use Graphite database for metrics or use IBM Cloud® monitoring, set to true. false No
datavolume.existing_pvc_for_graphql_cfgstore
  • name
  • size
The name and size of persistent volume claim for GraphQL configuration.
  • graphql-cfgstore
  • 1Gi
  • Yes if you want to use existing PVC
  • No
datavolume.existing_pvc_for_graphql_logstore
  • name
  • size
The name and size of persistent volume claim for GraphQL logs.
  • graphql-logstore
  • 1Gi
  • Yes if you want to use existing PVC
  • No
probe.readiness
  • period_seconds
  • timeout_seconds
  • failure_threshold
The behavior of readiness probes to know when the containers are ready to start accepting traffic.
  • 10
  • 10
  • 6
No
probe.liveness
  • period_seconds
  • timeout_seconds
  • failure_threshold
The behavior of liveness probes to know when to restart a container.
  • 10
  • 5
  • 6
No
probe.startup
  • initial_delay_seconds
  • period_seconds
  • timeout_seconds
  • failure_threshold
The behavior of startup probes to know when the container is started.
  • 120
  • 10
  • 10
  • 6
No
image_pull_secrets.name The secrets to be able to pull images. ibm-entitlement-key No