Topology Operator Global Configuration

Global Configuration Properties describes properties available for configuring the global characteristics of a Topology Operator-based deployment.

Table 1. Global Configuration Properties
Property Description
global.features.operators When set to true, enables the Topology Operator method. When set to false, the Engine Operator method is used. The default value is true.
global.features.tax When set to true, US taxation is enabled. The default value is false.
global.topology.operators.currentContext The context, or cluster, of this Helm deployment. Required for multi-cluster deployments.
global.topology.operators.master.context The context, or cluster, where the Topology Operator masters are deployed. Required for multi-cluster deployments.
global.topology.operators.master.namespace The namespace where the masters are deployed. Required for multi-namespace and multi-cluster deployments.
global.topology.operators.agents[n].auth The authentication used for the masters to communicate with agent n. Only basic authentication is available. Required for multi-cluster deployments.
global.topology.operators.agents[n].auth.basic.password The basic authentication password used for the masters to communicate with agent n.
global.topology.operators.agents[n].auth.basic.username The basic authentication username used for the masters to communicate with agent n.
global.topology.operators.agents[n].context The context, or cluster, where agent n should be deployed. Required for multi-cluster deployments.
global.topology.operators.agents[n].externalAddress The purpose of this field is context dependent. If this agent is created in the same namespace, this property specifies the IP address where the LoadBalancer service is exposed.

If you use dynamically assigned IP addresses (with the global.​topology.​operators​.agents[n].​useDynamicIPs set to true), a value for this property is nonetheless required. A value of dynamic is recommended, but it is not important as it is not used in that case.

If dynamically assigned IP addresses are not required, this property specifies the fully-qualified domain name (FQDN) of the service. Set global.​networking.​externalAddresses​.useIPAddresses to true to use an IP address instead.
global.topology.operators.agents[n].namespace The namespace where agent n is deployed. Required for multi-cluster deployments.
global.topology.operators.agents[n].replicaCount The number of agent n replicas to be deployed in this context or namespace. The default value is 2.
global.topology.operators.agents[n].serviceAnnotations A dictionary of annotations added to the agent services. The value for each annotation can include resolvable Helm expressions. For more information, see the discussion about annotations in Kubernetes documentation.
global.topology.operators.agents[n].useDynamicIPs When set to true, the LoadBalancer service for this agent is created without the loadBalancerIP property. This is required for some cloud providers, such as Amazon EKS, that dynamically provide the LoadBalancer IP address. The default value for this property is false.
global.topology.operators.agents[n].useLoadBalancers When set to true, in a multi-cluster deployment, LoadBalancer services are created to expose agents. Set this value to false to instead create ClusterIP services, for example, to allow communication between masters and agents using Multi-Cluster Services (MCS). The default value is true.
global.topology.domains[x].subdomains[y].engines[z].context The context, or cluster, where this engine is to be deployed. Required for multi-cluster deployments.
global.topology.domains[x].subdomains[y].engines[z].ignore Specifies that an engine is to be ignored when migrating engines from the engine-controller/engine-operator method to the topology-operator method. When set to true, the operators are unaware of engine[z] and it is ignored. Other engines are still configured to know about engine[z] however. The default value is false.
global.topology.domains[x].subdomains[y].engines[z].namespace The namespace where this engine is deployed. Required for multi-namespace and multi-cluster deployments.
global.topology.domains[x].subdomains[y].engines[z].skip Specifies an engine to skip during upgrade of a Topology Operator-based deployment. When set to true, operators are aware of engines[z] but it is not upgraded. The default value is false.
global.topology.domains[x].subdomains[y].engines[z].useLoadBalancers When set to true, in a multi-cluster deployment, LoadBalancer services are created to expose engines. Set this value to false to instead create ClusterIP services, for example, to allow communication between engines using Multi-Cluster Services (MCS). The default value is true.
global.topology.domains[x].subdomains[y].skip Specifies a sub-domain to skip during upgrade of a Topology Operator-based deployment. When set to true, operators are aware of subdomains[y] but it is not upgraded. The default value is false.
global.topology.domains[x].subdomains[y].engines[z].checkpointing.image.nameOverride The name of the image used for the checkpointing pods of this engine. The default value is the value of the engine.operatorV2.engine.image.nameOverride property.
global.topology.domains[x].subdomains[y].engines[z].checkpointing.image.versionOverride The tag value of the image used for the checkpointing pods of this engine. The default value is the value of the engine.operatorV2.engine.image.versionOverride property.
global.topology.domains[x].subdomains[y].engines[z].processing.image.nameOverride The name of the image used for the processing pods of this engine. The default value is the value of the engine.operatorV2.engine.image.nameOverride property.
global.topology.domains[x].subdomains[y].engines[z].processing.image.versionOverride The tag value of the image used for the processing pods of this engine. The default value is the value of the engine.operatorV2.engine.image.versionOverride property.
global.topology.domains[x].subdomains[y].engines[z].processing.tralb.image.nameOverride The name of the image used for the Traffic Routing Agent (TRA-PROC) pods of this engine. The default value is the value of the engine.operatorV2.tralb.image.nameOverride property.
global.topology.domains[x].subdomains[y].engines[z].processing.tralb.image.versionOverride The tag value of the image used for the TRA-PROC pods of this engine. The default value is the value of the engine.operatorV2.tralb.image.versionOverride property.
global.topology.domains[x].subdomains[y].engines[z].publishing.image.nameOverride The name of the image used for the publishing pods of this engine. The default value is the value of the engine.operatorV2.engine.image.nameOverride property.
global.topology.domains[x].subdomains[y].engines[z].publishing.image.versionOverride The tag value of the image used for the publishing pods of this engine. The default value is the value of the engine.operatorV2.engine.image.versionOverride property.
global.topology.domains[x].subdomains[y].engines[z].publishing.tralb.image.nameOverride The name of the image used by the TRA-PUBs of this engine. The default value is the value of the engine.operatorV2.tralb.image.nameOverride property.
global.topology.domains[x].subdomains[y].engines[z].publishing.tralb.image.versionOverride The tag value of the image used for the TRA-PUB pods of this engine. The default value is the value of the engine.operatorV2.tralb.image.versionOverride property.
global.topology.domains[x].subdomains[y].engines[z].cni The container network interface (CNI) configuration used to create an additional (secondary) network. Processing, publishing, and checkpointing pods are randomly allocated an IP address on the secondary network within a configured range. The create_config.info files are configured during engine start-up to use the secondary network for transaction protocol processing.

CNI configuration can be provided as a JSON string or a YAML object (which is converted into a JSON string by Helm.

The CNI configuration is used to populate spec.config of the NetworkAttachmentDefinition. For information about the different configuration options, see the discussion about configuring an additional network at the OpenShift website.

Note: OpenShift is not required for use of the Multus CNI with MATRIXX.

Global Taxation Configuration Properties describes the properties available for configuring global taxation characteristics.

Table 2. Global Taxation Configuration Properties
Property Description
global.topology.domains[x].tax.configurationSource.refName

global.topology.domains[m].subdomains[y].tax.configurationSource.refName

A reference to the configuration source that contains the tax file(s).
global.topology.domains[x].tax.fileName

global.topology.domains[m].subdomains[y].tax.fileName

If set, then this ZIP file within the directory specified by filePath is used. Otherwise, all files in the directory specified by filePath are used.
global.topology.domains[x].tax.filePath

global.topology.domains[m].subdomains[y].tax.filePath

The directory containing the tax file(s) to load. The default value is /tax.
global.topology.domains[x].tax.image.name

global.topology.domains[m].subdomains[y].tax.image.name

The name of the image that contains the tax file(s).
global.topology.domains[x].tax.image.version

global.topology.domains[m].subdomains[y].tax.image.version

The version (or tag) of the image that contains the tax file(s). The default value is latest.
global.topology.domains[x].subdomains[y].tax.image.registry

global.topology.domains[m].subdomains[y].tax.image.registry

The repository where the image is hosted.

When specifying a cluster with the following properties:

  • global.topology.operators.currentContext
  • global.topology.operators.master.context
  • global.topology.operators.agents[n].context

Values for those properties must meet the following requirements:

  • Contain at most 63 characters.
  • Contain only lowercase alphanumeric characters or hyphens.
  • Start with an alphabetical character.
  • End with an alphanumeric character.

The following global configuration properties are not valid for Topology Operator-based deployments. They remain valid for Engine Operator-based deployments:

  • global.topology.domains[x].subdomains[y].upgradeTimeoutSeconds
  • global.topology.domains[x].subdomains[y].secondaryStartDelaySeconds
  • global.topology.domains[x].subdomains[y].engines[z].external
  • global.topology.domains[x].subdomains[y].engines[z].upgradeTimeoutSeconds
  • global.topology.domains[x].subdomains[y].engines[z].secondaryStartDelaySeconds