aboutsummaryrefslogtreecommitdiffstats
path: root/workflow/workflow-designer-init/src
diff options
context:
space:
mode:
authorpriyanshu <pagarwal@amdocs.com>2018-07-16 19:25:05 +0530
committerpriyanshu <pagarwal@amdocs.com>2018-07-16 19:25:07 +0530
commit7e78cd19bbb2b0730fafc0b328a71c69f5730e16 (patch)
tree24b4b72ef67f64304bfee867076517c37896db5b /workflow/workflow-designer-init/src
parent39c01dd3ccb69f53d2e9350994e25f6e64412aa4 (diff)
Workflow Docker containers
1. Implemented workflow init container. 2. Implemented workflow backend container. 3. Added a placeholder for frontend module container. 4. Modifiled directory structure and POM files. 5. Added a ReadMe with sample commands to detail how to run the containers. Change-Id: Ib110fcc104ce72ff28fce514a1475a032cc2d82b Issue-ID: SDC-1482 Signed-off-by: priyanshu <pagarwal@amdocs.com> Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com> Signed-off-by: priyanshu <pagarwal@amdocs.com>
Diffstat (limited to 'workflow/workflow-designer-init/src')
-rw-r--r--workflow/workflow-designer-init/src/main/docker/Dockerfile10
-rw-r--r--workflow/workflow-designer-init/src/main/docker/create_workflow_db.cql125
-rw-r--r--workflow/workflow-designer-init/src/main/docker/start.sh18
3 files changed, 153 insertions, 0 deletions
diff --git a/workflow/workflow-designer-init/src/main/docker/Dockerfile b/workflow/workflow-designer-init/src/main/docker/Dockerfile
new file mode 100644
index 00000000..75e7efdc
--- /dev/null
+++ b/workflow/workflow-designer-init/src/main/docker/Dockerfile
@@ -0,0 +1,10 @@
+FROM alpine:3.7
+
+RUN apk add --no-cache 'python<3' py-pip && pip install cqlsh==4.0.1
+
+COPY create_workflow_db.cql .
+COPY start.sh .
+
+RUN chmod 744 start.sh
+
+ENTRYPOINT ["./start.sh"] \ No newline at end of file
diff --git a/workflow/workflow-designer-init/src/main/docker/create_workflow_db.cql b/workflow/workflow-designer-init/src/main/docker/create_workflow_db.cql
new file mode 100644
index 00000000..c6c1f15e
--- /dev/null
+++ b/workflow/workflow-designer-init/src/main/docker/create_workflow_db.cql
@@ -0,0 +1,125 @@
+CREATE KEYSPACE IF NOT EXISTS WORKFLOW
+WITH DURABLE_WRITES = TRUE
+AND REPLICATION = {
+ 'class' : 'SimpleStrategy',
+ 'replication_factor' : 1
+};
+
+USE WORKFLOW;
+
+CREATE TABLE IF NOT EXISTS UNIQUE_VALUE (
+ TYPE TEXT,
+ VALUE TEXT,
+ PRIMARY KEY (( TYPE, VALUE ))
+);
+
+CREATE KEYSPACE IF NOT EXISTS ZUSAMMEN_WORKFLOW
+WITH REPLICATION = {
+ 'class' : 'SimpleStrategy',
+ 'replication_factor' : 1
+};
+
+USE ZUSAMMEN_WORKFLOW;
+
+CREATE TABLE IF NOT EXISTS ITEM (
+ ITEM_ID TEXT PRIMARY KEY,
+ ITEM_INFO TEXT,
+ CREATION_TIME TIMESTAMP,
+ MODIFICATION_TIME TIMESTAMP
+);
+
+CREATE TABLE IF NOT EXISTS VERSION (
+ SPACE TEXT,
+ ITEM_ID TEXT,
+ VERSION_ID TEXT,
+ BASE_VERSION_ID TEXT,
+ INFO TEXT,
+ RELATIONS TEXT,
+ CREATION_TIME TIMESTAMP,
+ MODIFICATION_TIME TIMESTAMP,
+ PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID)
+);
+
+CREATE TABLE IF NOT EXISTS VERSION_ELEMENTS (
+ SPACE TEXT,
+ ITEM_ID TEXT,
+ VERSION_ID TEXT,
+ REVISION_ID TEXT,
+ ELEMENT_IDS MAP<TEXT, TEXT>,
+ DIRTY_ELEMENT_IDS SET<TEXT>,
+ STAGE_ELEMENT_IDS SET<TEXT>,
+ CONFLICT_ELEMENT_IDS SET<TEXT>,
+ PUBLISH_TIME TIMESTAMP,
+ USER TEXT,
+ MESSAGE TEXT,
+ PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), REVISION_ID)
+);
+
+CREATE TABLE IF NOT EXISTS ELEMENT_NAMESPACE (
+ ITEM_ID TEXT,
+ ELEMENT_ID TEXT,
+ NAMESPACE TEXT,
+ PRIMARY KEY (( ITEM_ID, ELEMENT_ID ))
+);
+
+CREATE TABLE IF NOT EXISTS ELEMENT (
+ SPACE TEXT,
+ ITEM_ID TEXT,
+ VERSION_ID TEXT,
+ ELEMENT_ID TEXT,
+ REVISION_ID TEXT,
+ PARENT_ID TEXT,
+ NAMESPACE TEXT,
+ INFO TEXT,
+ RELATIONS TEXT,
+ DATA BLOB,
+ SEARCHABLE_DATA BLOB,
+ VISUALIZATION BLOB,
+ SUB_ELEMENT_IDS SET<TEXT>,
+ ELEMENT_HASH TEXT,
+ PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID ), REVISION_ID)
+);
+
+CREATE TABLE IF NOT EXISTS ELEMENT_SYNCHRONIZATION_STATE (
+ SPACE TEXT,
+ ITEM_ID TEXT,
+ VERSION_ID TEXT,
+ ELEMENT_ID TEXT,
+ REVISION_ID TEXT,
+ PUBLISH_TIME TIMESTAMP,
+ DIRTY BOOLEAN,
+ PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), ELEMENT_ID, REVISION_ID)
+);
+
+CREATE TABLE IF NOT EXISTS ELEMENT_STAGE (
+ SPACE TEXT,
+ ITEM_ID TEXT,
+ VERSION_ID TEXT,
+ ELEMENT_ID TEXT,
+ PARENT_ID TEXT,
+ NAMESPACE TEXT,
+ INFO TEXT,
+ RELATIONS TEXT,
+ DATA BLOB,
+ SEARCHABLE_DATA BLOB,
+ VISUALIZATION BLOB,
+ SUB_ELEMENT_IDS SET<TEXT>,
+ ELEMENT_HASH TEXT,
+ PUBLISH_TIME TIMESTAMP,
+ ACTION TEXT,
+ CONFLICTED BOOLEAN,
+ CONFLICT_DEPENDENT_IDS SET<TEXT>,
+ PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID ))
+);
+
+CREATE TABLE IF NOT EXISTS VERSION_STAGE (
+ SPACE TEXT,
+ ITEM_ID TEXT,
+ VERSION_ID TEXT,
+ BASE_VERSION_ID TEXT,
+ CREATION_TIME TIMESTAMP,
+ MODIFICATION_TIME TIMESTAMP,
+ PUBLISH_TIME TIMESTAMP,
+ ACTION TEXT,
+ PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID)
+); \ No newline at end of file
diff --git a/workflow/workflow-designer-init/src/main/docker/start.sh b/workflow/workflow-designer-init/src/main/docker/start.sh
new file mode 100644
index 00000000..ac89d6c0
--- /dev/null
+++ b/workflow/workflow-designer-init/src/main/docker/start.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if [[ -z "${CS_USER}" ]]; then
+ echo "CS_USER environment variable must be set"
+ exit 1
+fi
+
+if [[ -z "${CS_PASSWORD}" ]]; then
+ echo "CS_PASSWORD environment variable must be set"
+ exit 1
+fi
+
+if [[ -z "${CS_HOST}" ]]; then
+ echo "CS_HOST environment variable must be set"
+ exit 1
+fi
+
+cqlsh -u ${CS_USER} -p ${CS_PASSWORD} -f /create_workflow_db.cql ${CS_HOST} ${CS_PORT}