The ttclassic Chart

The ttclassic chart creates a TimesTen Classic object, which deploys a TimesTen active standby pair.

The following table describes the variables and default values for the ttclassic chart. Indentation and case sensitivity must be correct for each variable.

Table 18-2 Variables for the ttclassic Chart

Variable Default Example

additionalMemoryRequest

Amount of memory to request in addition to what is required for the TimesTen database. This memory is used for the TimesTen daemon, subdaemons, replication agents, cache agents, and the server in a client/server environment.

Default: 2Gi

See TimesTenClassicSpecSpec.

additionalMemoryRequest: 3Gi

affinity

Variable to define Kubernetes nodeAffinity, podAffinity, and podAntiAffinity parameters.

There is no default.

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: topology.kubernetes.io/zone
          operator: In
          values:
          - antarctica-east1
          - antarctica-west1

agentTcpTimeout

Variable that determines the time in seconds that the TimesTen Operator waits for a TCP handshake when communicating with the TimesTen agent.

The default is 10. A value of 0 indicates that there is no timeout. If the timeout is exceeded, the TimesTen Operator considers the agent to be down.

See TimesTenClassicSpecSpec.

agentTcpTimeout: 20

agentTlsTimeout

Variable that determines the time in seconds that the Operator waits for a TLS (https) credential exchange when communicating with the TimesTen agent.

The default is 10. A value of 0 indicates that there is no timeout. If the timeout is exceeded, the TimesTen Operator considers the agent to be down.

See TimesTenClassicSpecSpec.

agentTlsTimeout: 20

annotations

A list of annotations to be applied to a TimesTenClassic object.

There is no default.

annotations:
  x: y

containers

Variable to define a custom container. This container is created in each Pod in a TimesTenClassic object. The provided YAML is copied directly to the .spec.template.spec.containers section of a TimesTenClassic object YAML manifest.

Default: There is no default.

See TimesTenClassicSpec.

containers:
  - name: sampleapp
    image: sample.com/sample:latest
    command:
        - /bin/sample

customerService[1-5]

Variable to create one or more Services (up to 5). A Service maps to your TimesTen database, which allows applications outside of your Kubernetes cluster to access TimesTen through client/server.

You can define a maximun of five custom Services, named customService1, customService2, customService3, customService4, and customService5.

Note:

The YAML that you provide for a customService definition is used without modification.

Default: There is no default.

customService1:
  apiVersion: v1
  kind: Service
  metadata:
    name: sampleexternal
  spec:
    type: NodePort
    selector:
      database.timesten.oracle.com: payroll
    ports:
      - port: 6625
        targetPort: 6625
        nodePort: 31625

customService2:
  apiVersion: v1
  kind: Service
  metadata:
    name: sampleinteral
  spec:
    type: NodePort
    selector:
      database.timesten.oracle.com: payroll
    ports:
      - port: 6626
        targetPort: 6626
        nodePort: 31626

daemonLogCPURequest

Amount of CPU requested for the daemonlog container.

Default: 200m

See TimesTenClassicSpecSpec.

daemonlogCPURequest: 400m

daemonLogMemoryRequest

Amount of memory requested for the daemonlog container.

Default: 200Mi

See TimesTenClassicSpecSpec.

daemonLogMemoryRequest: 300Mi

databaseCPURequest

Amount of CPU your tt containers require. This includes the CPU used by the TimesTen daemon, subdaemons, replication agents, cache agents, and the server in a client/server environment.

Default: There is no default.

See TimesTenClassicSpecSpec.

databaseCPURequest: 2

databaseMemorySize

Amount of shared memory your database requires.

Default: There is no default.

See TimesTenClassicSpecSpec.

databaseMemorySize: 20Gi

dbConfigMap

Variable that creates a Kubernetes ConfigMap based on the provided values and adds a dbConfigMap entry to a TimesTenClassic object definition.

Default: There is no default. By default, a ConfigMap is not created by a ttclassic chart.

See TimesTenClassicSpecSpec.

dbConfigMap:
  - name: sample
    directory: cm

Note: You must create a directory in the /ttclassic directory of the ttclassic chart. All files in the directory are added to the generated ConfigMap. This example assumes you have created a cm directory in the /ttclassic directory tree.

dbSecret

Variable that creates a Kubernetes Secret based on the provided values and adds a dbSecret entry to a TimesTenClassic object definition.

Default: There is no default. By default, a Secret is not created by a ttclassic chart.

See TimesTenClassicSpecSpec.

dbSecret:
  - name: sample
    directory: seekret

Note: You must create a directory in the /ttclassic directory of the ttclassic chart. All files in the directory are added to the generated Secret. This example assumes you have created a seekret directory in the /ttclassic directory tree.

exporterCPURequest

Amount of CPU requested for the exporter container (if provisioned).

Default: 200m

See TimesTenClassicSpecSpec.

exporterCPURequest: 400m

exporterMemoryRequest

Amount of memory requested for the exporter container (if provisioned).

Default: 200Mi

exporterMemoryRequest: 400Mi

image

Parameters that affect container images.

Default:
  • repository: Location of the container image. For example, container-registry.oracle.com/timesten/timesten.

  • tag: TimesTen release number that contains the relevant Helm charts. For example, "22.1.1.19.0".

  • pullPolicy: Pull policy for the container image. For example, Always.

image: 
  repository: phx.ocir.io/youraccount/tt2211190image
  tag: "1"
  pullPolicy: Always

imagePullSecret

Pull Secret required to pull container images.

Default: There is no default.

See TimesTenClassicSpecSpec.

imagePullSecret: sekret

imageUpgradeStrategy

Variable to determine if the TimesTen Operator performs automated upgrades. If set to Manual, Helm cannot automatically upgrade or rollback a release.

Default: Auto

See TimesTenClassicSpecSpec.

imageUpgradeStrategy: Manual

initContainers

Variable used to define an init container. This init container is created in each Pod in a TimesTenClassic object.

The provided YAML is copied directly to the .spec.template.spec section of a TimesTenClassic object YAML manifest.

Default: There is no default.

initContainers:
- name: sample
  image:
  command:
  - sh
  - "-c"
  - |
    /bin/bash <<'EOF'
    echo test/user > /ttconfig/testUser
    ls -l /ttconfig
    EOF
  volumeMounts:
  - name: tt-config
    mountPath: /ttconfig

labels

A list of labels to be applied to a TimesTenClassic object.

Default: There is no default.

labels:
  x: y

logStorageClassName

Name of the storage class that is used to request persistent volumes for the TimesTen database transaction log files.

Default: There is no default. If you do not specify logStorageClassName, a log volume is not allocated.

See TimesTenClassicSpecSpec.

logStorageClassName: fast

logStorageSize

Amount of storage to be provisioned for the TimesTen transaction log files.

Default: 50Gi

See TimesTenClassicSpecSpec.

logStorageSize: 100Gi

name

Name of the TimesTenClassic object to be created.

Default: releaseName

name: sample

podDisruptionBudget

Variable that determines if a podDisruptionBudget is created . If created, uses the provided values.

Default: create: false

A podDisruptionBudget is not created by default.

podDisruptionBudget:
  create: true
  pdbName: samplepdb
  maxUnvailable: 1
  minAvailable: 1
  matchLabels:
    "x": "y"

repStateTimeout

Variable that indicates the time in seconds a replicated database remains in the recovering replication state as reported by the TimesTen ttRepStateGet built-in procedure.

The recovering replication state indicates that the database is in the process of synchronizing updates with the active database after a failure. For more information about the TimesTen ttRepStateGet built-in procedure, see ttRepStateGet in the Oracle TimesTen In-Memory Database Reference.

Default: 30 (expressed in seconds).

For more information about repStateTimeout, see TimesTenClassicSpecSpec.

repStateTimeout: 40

securityContext

Variable used to create an optional securityContext definition. This securityContext definition is applied to TimesTenClassic at the Pod level.

The provided YAML is copied directly to the .spec.template.spec section of a TimesTenClassic object YAML manifest.

Default: There is no default.

securityContext
  runAsNonRoot: true

serviceAccountName

Name of the service account that is assigned to the Pods that are created by the TimesTen Operator.

By default, when the TimesTen Operator creates StatefulSets (which in turn create Pods that run TimesTen), the StatefulSets and Pods have no service account. Specifying serviceAccountName lets you define a Kubernetes ServiceAccount that the TimesTen Pods run under.

Default: There is no default.

serviceAccountName: xyz

storageClassName

Name of the storage class that is used to request persistent volumes for a TimesTen database.

Default: There is no default. However, you must specify a value for storageClassName.

See TimesTenClassicSpecSpec.

storageClassName: oci-bv

storageSize

Amount of storage to be provisioned for TimesTen and the TimesTen database.

Default: 50Gi

storageSize: 250Gi

templateSpec

Variable used to insert arbitrary YAML into the .spec.template.spec section of a TimesTenClassic object.

Default: There is no default.

See TimesTenClassicSpec.

templateSpec:
  preemptionPolicy: Never

testAffinity

Variable to define Kubernetes nodeAffinity, podAffinity, and podAntiAffinity parameters. These affinity configurations are only applied to the Helm test Pod.

There is no default.

testAffinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: topology.kubernetes.io/zone
          operator: In
          values:
          - antarctica-east1
          - antarctica-west1

testAnnotations

A list of annotations to be applied to a Helm test Pod. This Pod is created when you run the helm test command.

Default:
helm.sh/hook-delete-policy: hook-succeeded
testAnnotations:
  x: y

testLabels

A list of labels to be applied to a Helm test Pod. This Pod is created when you run the helm test command.

Default: There is no default.

testLabels:
  x: y

tolerations

Variable to define tolerations to be applied to the Pods in a TimesTenClassic object.

The provided YAML is copied directly to the .spec.template.spec section of a TimesTenClassic object YAML manifest.

Default: There is no default.

tolerations:
  - key: "key1"
    operator: "Equal"
    value: "value1"
    effect: "NoSchedule"

ttspec

Variable to insert arbitrary YAML into the .spec.ttspec section of a TimesTenClassic object. Use this variable to specify additional datum that are supported by the TimesTenClassic object type, but are not explicitly supported by the ttclassic chart.

Default: There is no default.

See TimesTenClassicSpecSpec.

ttspec:
  agentGetTimeout: 10
  prometheus:
    port: 7777

volumes

Variable used to create optional volume definitions. These definitions are applied to TimesTenClassic objects.

The provided YAML is copied directly to the .spec.template.spec section of a TimesTenClassic object YAML manifest.

Default: There is no default.

volumes:
  - name: tt-config
    emptyDir: {}