Planning and Configing

Files to modify

Only Single zone deployment is supported for on-premises deployment.

After building the Mashery Local images, copy the /var/jenkins_home/docker-deploy folder in the tml-installer container to the host. You can run the following command to copy the folder in the current working directory on the host:
docker cp <tml-installer container id >:/var/jenkins_home/docker-deploy .
Navigate to the folder /docker-deploy/onprem/swarm/ on the host. You need to update the reference manifest deployment file manifest-onprem-swarm.json for customizing your deployment.

Mashery Local Cluster Configuration

The On-premises deployment will create two Virtual Box instances: one for swarm manager and another worker node.

The cluster creation script (create-local-swarm-cluster.sh) creates one Swarm Master Node VM (master) and one worker VM (node-1) where Mashery Local containers will be deployed.

Master VM is allocated 4GB of memory and worker node is 2GB. So make sure you have at least 6-7 GB memory available.

Edit the reference deployment file docker-deploy/onprem/swarm/manifest-onprem-swarm.json.

The following are the cluster level properties:
"tml_cluster_name": "Tibco Mashery Gateway Reference Cluster",

"tml_cluster_mode": "untethered",

"tml_zones": ["local"],
Note: Make sure you specify valid value for "tml_cluster_mode". Only 2 values are valid:
  1. tethered: In this mode, Mashery Local gets the configuration data from Mashery Local cloud (You need to have MOM Key and Secret in this mode).
  2. untethered: In this mode, you configure data through the Mashery Local Configuration Manager UI.

Mashery Local Components Configuration

The following settings can be customized.
  • tml_image_tag: Docker image tag in the form of v5.2.0.<build no>. For example: v5.2.0.10

  • tml_image_registry_host: The Docker registry where Mashery Local images were pushed.

  • tml_image_repo: Mashery Local image repo. Default is tml.

Note
Variable Prefix Description
tml_cm Cluster Manager Component
tml_tm Traffic Manager Component
tml_cache Cache Component
tml_sql SQL Component
tml_log Log Component
tml_nosql NoSQL (Cassandra) Component
Example Manifest File
{
"tml_cluster_name": "Tibco Mashery Local Reference Cluster",
"tml_cluster_mode": "untethered",
"tml_zones": ["local"],

"tml_image_tag": "v5.2.0.1",
"tml_image_registry_host" : "mashbuilder-1.na.acme.com",
"tml_image_repo": "tml",
"tml_cm_count": 1,
"tml_tm_count": 1,
"tml_cache_count": 1,
"tml_sql_count": 1,
"tml_log_count": 1,
"tml_nosql_count": 1,

"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,

"cassandra_max_heap": "512M",
"cassandra_replication_factor": 1
}

Setting up Mashery Service Configuration Data

Set "tml_cluster_mode" as "untethered" in docker-deploy/onprem/swarm/manifest-onprem-swarm.json file.

Mashery Local also offers the capability to sync data from an active MoM host at the time of cluster creation. To load the data using the MoM sync configuration, specify the following properties in the tml_sql_properties.json:
"mom_key": "<MOM_API_KEY>",
"mom_secret": "<MOM_API_SECRET>",
The tml_sql_properties.json is located in the docker-deploy/properties/ folder.
Note: You must set tml_cluster_mode as tethered in docker-deploy/onprem/swarm/manifest-onprem-swarm.json.