Skip to main content
Get started with Grand Central connectors by configuring your environment, integrating the required SDKs, and authenticating your services. This page provides a step-by-step path to deploying on our iPaaS platform.

Prerequisites

Before you begin, ensure you are comfortable with the following technologies:

Infrastructure

Familiarity with Kubernetes and Git/GitHub workflows.

Development

Java development and XML Schema (XSD) knowledge.

Data transformation

API request/response mapping using JOLT and XSLT.
You also need access to the Grand Central platform.

Required access

Ask the Grand Central team to grant you:
  1. Repository access: View and clone access to the gc-applications-live repository.
  2. APIM subscription key: A subscription key for the Grand Central Unified API and product sandbox.

Repository structure

The gc-applications-live repository holds the configuration for iPaaS and connector deployments in dev, test, and prod. The following diagram shows the typical folder structure.

Reference architecture

runtimes
├── dev           # Sandbox environment for experimentation
└── test          # Integration testing environment
    ├── apps      # connector deployment configurations (YAML)
    │   └── gc-mambu.yaml
    └── values    # Environment-specific overrides
        ├── gc-mambu
        │   └── deposit-v0.values.yaml
        └── values.yaml
The following table describes the files and folders in the example repository:
File/folderDescription
runtimesThe available runtimes for deployment.
devDevelopment environment for experimenting and debugging.
testTest environment. Primarily for integration.
appsConnector configurations per product. The YAML files in this folder represent the list of deployed connectors. For more information, see YAML files.
gc-mambu.yamlDeployment configuration for Mambu connectors that run on a test environment. The -v2 suffix refers to the 2.x version of the Camel-K runtime.
valuesDeployment values. These values override the default configuration in a connector: JOLT mappings, connector properties, and traits.
gc-mambuOverride values for Mambu connectors.
desposit-v0.values.yamlOverride values for Mambu deposit account connector.
values.yamlOverride values for all connectors within the gc-mambu deployment file.

Configuration logic

Connector configuration uses a hierarchical override system that lets you define defaults and customize per environment.

Application YAMLs

Configurations in the /apps directory follow a top-down override hierarchy. Settings are merged in order, meaning subsequent files take precedence over previous ones. This allows you to define global environment defaults and selectively override them at the connector-version level. A standard deployment descriptor includes:
  • Namespace: The Kubernetes isolation layer for the deployment.
  • Version Control: Links to the source and Azure Container Registry (ACR) repositories.
  • Templating: The Helm chart used to standardize the deployment.
  • Orchestration: ArgoCD Sync Policies for automated reconciliation.
  • Data Resources: Configurable JOLT or XSLT files for message transformation.

Sample apps YAML file

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: gc-generic
  namespace: argocd
spec:
  project: default
  destination:
    server: https://kubernetes.default.svc
    namespace: gc-generic
  sources:
    - repoURL: https://github.com/baas-devops-ecos/gc-applications-live.git
      targetRevision: gc-dev
      ref: apps-live

    - repoURL: ecosystemsgctmp.azurecr.io/charts
      chart: template-connector
      targetRevision: 1.1.3-camel-k-ci-21-SNAPSHOT
      helm:
        releaseName: template-connector-1
        valueFiles:
          - $apps-live/azure/runtimes/dev-v2/values/gc-generic/template-connector-v1.values.yaml

  syncPolicy:
    automated:
      prune: true
      allowEmpty: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true

Values YAML file

Use these files to define connector properties, telemetry, and data transformation logic.

Sample values YAML file

connector:
  properties:
    isMockedDataNeeded: true
  traits:
    knativeservice:
      minScale: 1
      enabled: true
    logging:
      color: false
      enabled: true
      level: INFO
    addons:
      telemetry:
        auto: true
        enabled: true
  resources:
    close-account-request-transformation.json: |-
      [
        {
          "operation": "shift",
          "spec": {
            "notes": "notes",
            "closeStatus": {
              "CLOSED": {
                "#CLOSE": "action"
              },
              "CLOSED_WRITTEN_OFF": {
                "#CLOSED_WRITTEN_OFF": "action"
              },
              "WITHDRAWN": {
                "#CLOSE_WITHDRAW": "action"
              },
              "CLOSED_REJECTED": {
                "#CLOSE_REJECT": "action"
              }
            }
          }
        }
      ]