MemSQL Instructions - larz7/larzworksamples GitHub Wiki

Overview

The following are standard uses for MemSQL scripts in a DevOps environment.

Install DBs

cd dbs
sh install-db.sh -u <memsql user> -p <memsql password> -s "ixxxx-memsql-main-master.svc.xxxx.com" -P 31001 -d accounts
sh install-db.sh -u <memsql user> -p <memsql password> -s "ixxx-memsql-main-master.svc.xxxxx.com" -P 31001 -d kxxxDB

Deploy Jobs

cd jobs

# Deploying to DEV
sh deploy-jobs.sh -k ~/dev/certificates/hsm_key.pem -c ~/dev/certificates/cert_with_chain_internal.pem -a ~/dev/certificates/cert_with_chain_internal.pem -e dev -m 1 -p core/manifest
sh deploy-jobs.sh -k ~/dev/certificates/hsm_key.pem -c ~/dev/certificates/cert_with_chain_internal.pem -a ~/dev/certificates/cert_with_chain_internal.pem -e dev -m 1 -p auxiliary/manifest
sh deploy-jobs.sh -k ~/dev/certificates/hsm_key.pem -c ~/dev/certificates/cert_with_chain_internal.pem -a ~/dev/certificates/cert_with_chain_internal.pem -e dev -m 1 -p snapshots/manifest

# Deploying to QA
sh deploy-jobs.sh -k ~/dev/qa_certs/hsm_key.pem -c ~/dev/qa_certs/cert_with_chain_internal.pem -a ~/dev/qa_certs/cert_with_chain_internal.pem -e qa -m 1 -p core/manifest
sh deploy-jobs.sh -k ~/dev/qa_certs/hsm_key.pem -c ~/dev/qa_certs/cert_with_chain_internal.pem -a ~/dev/qa_certs/cert_with_chain_internal.pem -e qa -m 1 -p auxiliary/manifest
sh deploy-jobs.sh -k ~/dev/qa_certs/hsm_key.pem -c ~/dev/qa_certs/cert_with_chain_internal.pem -a ~/dev/qa_certs/cert_with_chain_internal.pem -e qa -m 1 -p external/manifest
sh deploy-jobs.sh -k ~/dev/qa_certs/hsm_key.pem -c ~/dev/qa_certs/cert_with_chain_internal.pem -a ~/dev/qa_certs/cert_with_chain_internal.pem -e qa -m 1 -p snapshots/manifest

Deploy Schemas

cd schemas
sh deploy-schemas.sh -k ~/dev/qa_certs/hsm_key.pem -c ~/dev/qa_certs/cert_with_chain_internal.pem -a ~/dev/qa_certs/cert_with_chain_internal.pem -s https://localhost:8443 -p manifest.json

Adding DBs

  • add CREATE TABLE to dbs/<db>/<table>
  • add entry in dbs/<db>/manifest pointing to dbs/<db>/<table> (create manifest file if does not exist)

Adding Jobs

  • create new template in jobs/<app>/templates/<template_name>, if appropriate template does not exist
  • create script containing macro overrides in jobs/<app>/<job_name>.sh
    • ensure that __template declaration exists in jobs/<app>/common.sh or jobs//<job_name>.shpointing tojobs//templates/<template_name>`
    • ensure that __type declaration exists in jobs/<app>/common.sh or jobs//<job_name>.sh` set to either "chronos" or "marathon"
    • ensure that __job_name declaration exists in jobs/<app>/common.sh or jobs//<job_name>.sh` set to expected chronos/marathon job name
  • add entry in jobs/<app>/manifest pointing to jobs/<app>/<job_name>.sh (create manifest file if does not exist)

Adding Schemas

  • create schema in schemas/schemas/<schema name>
  • add entry to schemas/manifest.json:
    • example: { "schema": "schemas/VideoConsumptionEvent-1.avsc", "channel": { "ns": "xxxx.service.events", "name": "VideoConsumptionEvent" } }
⚠️ **GitHub.com Fallback** ⚠️