Customizing the Local Edition Deployment Manifest

Important: Before you customize your TIBCO Cloud™ API Management - Local Edition cluster, make sure the value in the tml_image_tag parameter matches your Docker image build. For example, to verify "tml_image_tag": "v5.0.0.1" , you can check the Docker image build in Jenkins as shown below:



Files to Modify

In the Installer container, change to the following folder:

/var/jenkins_home/docker-deploy/azure/openshift/

Update the following deployment manifest using the descriptions in the tables in the "Customize OpenShift Cluster" section below:

  • manifest-single-zone.json for deployment in a single Azure zone.

Customize OpenShift Cluster

The following parameters can be configured in the manifest:

Parameter Description
tml_image_tag API Management - Local Edition Docker image tag. This must be updated to match your Docker image build. For more information see the note at the top of this section.
tml_cluster_name Name for the Local Edition cluster. For example: Local Edition Openshift Cluster
tml_cluster_mode There are two valid modes:
  • tethered - Local Edition gets the configuration data from Local Edition cloud. In this mode, an Administrator must specify mom_key and mom_secret in the following file:

    /var/jenkins_home/docker-deploy/properties/tml_cluster_properties.json

  • untethered - Data is configured via the Mashery Local configuration manager UI.
tml_image_registry_host The container Registry - for example, tmlContainerRegistry.

This must be consistent with the value specified for CONTAINER_REGISTRY in the configure_azure Jenkins job that is run when creating Local Edition Docker images.

Also see: https://azure.microsoft.com/en-us/services/container-registry/

tml_cm_count Number of Cluster Manager containers.
tml_tm_count Number of Traffic Manager containers.
tml_cache_count Number of Memcached containers.
tml_sql_count Number of MySQL containers.
tml_log_count Number of Log Service containers.
tml_nosql_count Number of Cassandra containers.

The following are additional parameters that can be configured:

Parameters used to control storage size

"k8s_storage_type": "pd-standard",
"k8s_storage_provisioner": "kubernetes.io/azure-disk",
"k8s_deploy_namespace": "ml5-openshift",
"k8s_storage_account_type": "Standard_LRS",
"tml_sql_storage_size": "10Gi",
"tml_log_storage_size": "10Gi",
"tml_nosql_storage_size": "10Gi",
"tml_cache_storage_size": "10Gi",

Parameters used to control services

"tml_tm_http_enabled": "true",
"tml_tm_http_port": 80,
"tml_tm_https_enabled": "true",
"tml_tm_https_port": 443,
"tml_tm_oauth_enabled": "true",
"tml_tm_oauth_port": 8083,
 
"tml_api_http_enabled": "true",
"tml_api_http_port": 7080,
"tml_api_https_enabled": "true",
"tml_api_https_port": 7443,
 
"tml_cm_http_enabled": "true",
"tml_cm_http_port": 8080,
"tml_cm_https_enabled": "true",
"tml_cm_https_port": 8443,

Generating Deployment Scripts and Configuration

Generate deployment scripts and configuration by running the following command in the /var/jenkins_home/docker-deploy/azure/openshift/ folder:

./compose.sh manifest-single-zone.json

The deployment scripts and configuration are generated in the manifest-single-zone folder.

An example output:

TMG_CLUSTER_NAME: Local Edition Openshift Cluster
TMG_CLUSTER_MODE: tethered
in "tethered" mode, admin must specify "api_key" and "api_secret" in "tml_sql_properties.json" and "tml_log_properties.json"
TMG_CLUSTER_TAG: 6922993653aa7f38744d8a3e50daccf3
TMG_ZONE_NAME: 0: eastus
TMG_ZONE_COUNT: 1
TMG_RELEASE_VERSION: 5.4.1
Note: Modify docker-deploy/azure/openshift/manifest-single-zone/nosql-pod-0.yaml and update timeoutSeconds in the readinessProbe section as below :
readinessProbe:
          exec:
            command:
            - /bin/bash
            - -c
            - /usr/local/bin/nosql-ready-probe.sh
          initialDelaySeconds: 15
          periodSeconds: 5
          timeoutSeconds: 15