Guides
R24 AMR | Min(s) read

Installing DES

In the Helm or Event Hub folder, the Values.yaml files contain various values that are required to start DES pods. These values can either be passed as overridden using -set during helm installation of DES or can be edited and stored in the same file.

The table below defines the properties for initiating DES services.

Property name

Default Value

Description

Possible values
des. des_tool_enabled true Indicates the enabling of DES tool pod to run for installation, configuration and SQL scripts
  • true
  • false

des.ci_mode

run-web

Indicates the Config-installer start mode

  • run-web
  • run-loop

des.schema_ip

-

Indicates the IP of the schema registry service that is deployed as a part of third-party installation

IP address of the hosted schema registry service

des.kafka_ip

-

Indicates the IP of Kafka service that is deployed as a part of third-party installation

IP address of the hosted Kafka service

des.t24_host_ip

-

Indicates the IP of the machine hosting Temenos Transact database

IP address

des. stream_host_ip

-

Indicates the IP of the machine hosting streaming database

IP address

des.schema_url

http://kafka-oss-cp-schema- registry.kafka:8081

Indicates the end point of the schema registry service. This is optional and value is not required if schema_ip is provided

End point of schema registry

des.db_vendor

-

Indicates the type of database vendor

  • sqlserver
  • nuodb
  • oracle
  • postgresql

des. stream_vendor

-

Indicates the type of streaming platform used

  • kafka
  • kinesis
  • eventhub

des. stream_instance_ unique

true

Indicates the unique values for certain native properties. Setting this as True makes these values unique without requiring user setting changes.

 

temn.source.db. jdbc.driver

-

Indicates the driver value for the database

  • com.microsoft.sqlserver.jdbc. SQLServerDriver
  • com.nuodb.jdbc.Driver
  • oracle.jdbc.driver.OracleDriver
  • org.postgresql.Driver

temn.source.db. jdbc.user

-

Indicates the username for Temenos Transact database

Username

temn.stream.db. jdbc.user

-

Indicates the username for DES database

Username

temn.source.db. jdbc.password

-

Indicates the password for Temenos Transact database user. Provide the value in reverse, if override password class and method is set

Password

temn.stream.db. jdbc.password

-

Indicates the password for DES database user. Provide the value in reverse, if override password class and method is set

Password

temn.source.db. jdbc.url

-

Indicates the connection string value of Temenos Transact database

JDBC URL of Temenos Transact database

temn.stream.db. jdbc.url

-

Indicates the connection string value of DES database

JDBC URL of DES database

image.registry

-

Indicates the registry from which images needs to be pulled

In case of offline installation, the local registry, for example,

 

localhost:5000

image.pullPolicy

IfNotPresent

Indicates the pullPolicy for the pods are set

  • Always
  • IfNotPresent
  • Never

image.appVersion

-

Indicates the version of image to be used

Version of image to be used, in this case it is 202101.0.0

Comments are provided in the values.yaml file to have a better understanding of the properties. Any properties passed in the des-config.yaml file or as an environment, the actual DES component can be overridden while installing DES using Helm.

Installing DES in AKS

To install DES in the AKS platform,

  1. Execute the command below to install DES pods.

    Syntax: helm install [RELEASE] [CHART FOLDER PATH] parameters helm install des eventhub --version 0.1.0 -n des \

    --set des.schema_ip=10.111.130.39 \

    --set des.kafka_ip=10.103.255.33 \

    --set des.t24_host_ip=192.168.0.107 \

    --set des.stream_host_ip=192.168.0.107 \

    --set image.registry=localhost:5000 \

    --set image.pullPolicy=IfNotPresent \

    --set image.appVersion=202101.0.0 \

    --set temn.source.db.jdbc.user=t24 \

    --set temn.stream.db.jdbc.user=t24 \

    --set temn.source.db.jdbc.password=t24 \

    --set temn.stream.db.jdbc.password=t24 \

    --set temn.source.db.jdbc.url="jdbc:h2:tcp://192.168.0.107:3456/TAFJDB" \

    --set temn.stream.db.jdbc.url="jdbc:h2:tcp://192.168.0.107:3456/TAFJDB" \

    --set temn.source.db.jdbc.driver="org.h2.Driver" \

    --set temn.stream.db.jdbc.driver="org.h2.Driver" \

    --set des.des_tool_enabled=true \

    --set des.db_vendor=sqlserver \

    --set des.stream_vendor=eventhub \

    --set des.des_tool_args=install \

    --set des.stream_instance_unique=true \

    --set event.event_hub_shared_access_key=$(EVENT_HUB_SHARED_ACCESS_KEY) \

    --set event.event_hub_resource_group_host=$(eventhubNamespace).servicebus.windows.net \

    --set event.event_hub_jass_config="$(EH_CONNECTION_URL)" \

    --set event.event_hub_ci_resource_group_host=$(eventhubNamespaceCI).servicebus.windows.net \

    --set event.event_hub_ci_shared_access_key=$(EVENT_HUB_CI_SHARED_ACCESS_KEY) \

    --set event.event_hub_ci_jass_config="$(EVENT_HUB_CI_CONNECTION_URL)" \

    --create-namespace

    The set can be removed in the command above and values can directly be set in the values.yaml of DES Helm chart available under des-docker/src/helm/eventhub.

  2. Check if the pods are running using the command below.

  3. Check if the services are running using the command below.
  4. kubectl get svc -n des

  5. Hit the health endpoints for each of the installations to confirm the status. The endpoints below are samples that are accessed from a tool like Postman to view the output.
GET EVENT PROCESSOR
This API is used to get the health endpoint for event processor.

GEThttp://<<EXTERNAL-IP>>:13120/meta/health

Response
{
  "status": "UP",
  "components": {
    "eventProcessorHealth": {
      "status": "UP",
      "components": {
        "database": {
          "status": "UP",
          "details": {
            "stream-db": {
              "connection": "url=jdbc:sqlserver://destesting.database.windows.net:1433;database=transact; user=dba@destesting driver=com.microsoft.sqlserver.jdbc.SQLServerDriver",
              "status": "UP"
            }
          }
        },
        "schema-registry": {
          "status": "UP",
          "details": {
            "connection": "http://schema-registry:8081"
          }
        },
        "stream": {
          "status": "UP",
          "details": {
            "ep-multi-part0": {
              "status": "UP"
            },
            "ep0": {
              "status": "UP"
            }
          }
        },
        "stream-vendor": {
          "status": "UP",
          "details": {
            "connection": "DESTest.servicebus.windows.net:9093"
          }
        }
      }
    },
    "livenessState": {
      "status": "UP"
    },
    "readinessState": {
      "status": "UP"
    }
  },
  "groups": [
    "liveness",
    "readiness"
  ]
}
GET EVENT ROUTER
This API is used to get the health endpoint for event router.

GEThttp://<<EXTERNAL-IP>>:13130/meta/health

Response
{
  "status": "UP",
  "components": {
    "eventRouterHealth": {
      "status": "UP",
      "components": {
        "database": {
          "status": "UP",
          "details": {
            "stream-db": {
              "connection": "url=jdbc:sqlserver://destesting.database.windows.net:1433;database=transact; user=dba@destesting driver=com.microsoft.sqlserver.jdbc.SQLServerDriver",
              "status": "UP"
            }
          }
        },
        "schema-registry": {
          "status": "UP",
          "details": {
            "connection": "http://schema-registry:8081"
          }
        },
        "stream": {
          "status": "UP",
          "details": {
            "er2": {
              "status": "UP"
            },
            "er1": {
              "status": "UP"
            }
          }
        },
        "stream-vendor": {
          "status": "UP",
          "details": {
            "connection": "DESTest.servicebus.windows.net:9093"
          }
        }
      }
    },
    "livenessState": {
      "status": "UP"
    },
    "readinessState": {
      "status": "UP"
    }
  },
  "groups": [
    "liveness",
    "readiness"
  ]
}
GET EVENT CLEANUP
This API is used to get the health endpoint for event cleanup.

GEThttp://<<EXTERNAL-IP>>:13110/meta/health

Response
{
  "status": "UP",
  "components": {
    "eventCleanupHealth": {
      "status": "UP",
      "components": {
        "database": {
          "status": "UP",
          "details": {
            "stream-db": {
              "connection": "url=jdbc:sqlserver://destesting.database.windows.net:1433;database=transact; user=dba@destesting driver=com.microsoft.sqlserver.jdbc.SQLServerDriver",
              "status": "UP"
            }
          }
        },
        "schema-registry": {
          "status": "UP",
          "details": {
            "connection": "http://schema-registry:8081"
          }
        },
        "stream": {
          "status": "UP",
          "details": {
            "ea1": {
              "status": "UP"
            }
          }
        },
        "stream-vendor": {
          "status": "UP",
          "details": {
            "connection": "DESTest.servicebus.windows.net:9093"
          }
        }
      }
    },
    "livenessState": {
      "status": "UP"
    },
    "readinessState": {
      "status": "UP"
    }
  },
  "groups": [
    "liveness",
    "readiness"
  ]
}
GET EVENT PULL ADAPTER
This API is used to get the health endpoint for event pull adapter.

GEThttp://<<EXTERNAL-IP>>:13100/meta/health

Response
{
  "status": "UP",
  "components": {
    "eventPullAdapterHealth": {
      "status": "UP",
      "components": {
        "database": {
          "status": "UP",
          "details": {
            "t24-db": {
              "connection": "url=jdbc:sqlserver://destesting.database.windows.net:1433;database=transact; user=dba@destesting driver=com.microsoft.sqlserver.jdbc.SQLServerDriver",
              "status": "UP"
            }
          }
        },
        "stream": {
          "status": "UP",
          "details": {
            "event-pull-adapter0": {
              "status": "UP"
            }
          }
        },
        "stream-vendor": {
          "status": "UP",
          "details": {
            "connection": "DESTest.servicebus.windows.net:9093"
          }
        }
      }
    },
    "livenessState": {
      "status": "UP"
    },
    "readinessState": {
      "status": "UP"
    }
  },
  "groups": [
    "liveness",
    "readiness"
  ]
}
  • Third-party installation related charts are provided by confluent and the same is packaged in DES under the helm/3rdParty folder. Kindly read through the confluent links to understand more about installation and maintenance of the confluent pods.
  • Streaming platforms (Kafka or Kinesis or Event Hub) used by DES for streaming are third-party services that must be maintained and managed by the users. Startup scripts in DES download confluent package as zip (standalone) or confluent image(docker) from the official confluent site are the community edition (CE) of a confluent package and it is recommended to upgrade to the licensed version for production.

The packages are downloaded using the links below:

DES is successfully installed in the AKS platform.

Configuring DES with Azure Event Hub in Standalone Mode

Perform the following steps to configure DES with Azure event hub in standalone mode.

  1. Log in to the Azure portal.
  2. Click Event Hubs to view the created topics.

  3. Click to create a new topic.
  4. Validate the created topic and click the Shared access policies tab to copy the primary key and connection string-primary key for the selected policy.

  5. Open start-des.sh/bat in edit mode from the des-standalone folder and add the following JVM arguments for the DES components.
    -Devent.hub.shared.access.key=<<Primary key copied from above>> -Devent.hub.resource.group.host=<<Event hub name>>.servicebus.windows.net -Devent.hub.resource.group.port=9093
    The des-standalone folder is in the desired DES package extracted folder.
  6. Click Start-des.sh file to get the sample code.

DES is successfully configured with Azure event hub in standalone mode.

Copyright © 2020- Temenos Headquarters SA

Published on :
Thursday, May 30, 2024 11:58:52 AM IST