From a52d50e788792a63e97a9176ab319d53db7a2853 Mon Sep 17 00:00:00 2001 From: vempo Date: Tue, 24 Jul 2018 17:34:04 +0300 Subject: Replaced old implementation at root Old project files and directories has been moved under 'deprecated-workflow-designer'. The old project is not built by the CI anymore, but can be still built manually. New modules/directories have been moved up and integrated with the CI system. Change-Id: I1528c792bcbcce9e50bfc294a1328a20e72c91cf Issue-ID: SDC-1559 Signed-off-by: vempo --- workflow-designer-init/src/main/docker/Dockerfile | 10 ++ .../src/main/docker/create_workflow_db.cql | 125 +++++++++++++++++++++ workflow-designer-init/src/main/docker/start.sh | 33 ++++++ 3 files changed, 168 insertions(+) create mode 100644 workflow-designer-init/src/main/docker/Dockerfile create mode 100644 workflow-designer-init/src/main/docker/create_workflow_db.cql create mode 100644 workflow-designer-init/src/main/docker/start.sh (limited to 'workflow-designer-init/src') diff --git a/workflow-designer-init/src/main/docker/Dockerfile b/workflow-designer-init/src/main/docker/Dockerfile new file mode 100644 index 00000000..75e7efdc --- /dev/null +++ b/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-designer-init/src/main/docker/create_workflow_db.cql b/workflow-designer-init/src/main/docker/create_workflow_db.cql new file mode 100644 index 00000000..c6c1f15e --- /dev/null +++ b/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, + DIRTY_ELEMENT_IDS SET, + STAGE_ELEMENT_IDS SET, + CONFLICT_ELEMENT_IDS SET, + 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, + 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, + ELEMENT_HASH TEXT, + PUBLISH_TIME TIMESTAMP, + ACTION TEXT, + CONFLICTED BOOLEAN, + CONFLICT_DEPENDENT_IDS SET, + 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-designer-init/src/main/docker/start.sh b/workflow-designer-init/src/main/docker/start.sh new file mode 100644 index 00000000..919277fd --- /dev/null +++ b/workflow-designer-init/src/main/docker/start.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +is_cs_unauthenticated=1 +FALSE=0 +if [[ -z "${CS_AUTHENTICATE}" || "${CS_AUTHENTICATE}" == "false" ]]; then + is_cs_unauthenticated=$FALSE +fi + +if [ $is_cs_unauthenticated -eq $FALSE ]; then + echo "Establishing unsecured connection to Cassandra" +fi + +if [[ $is_cs_unauthenticated -eq 1 && -z "${CS_USER}" ]]; then + echo "CS_USER environment variable must be set" + exit 1 +fi + +if [[ $is_cs_unauthenticated -eq 1 && -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 + +if [ $is_cs_unauthenticated -eq 1 ]; then + cqlsh -u ${CS_USER} -p ${CS_PASSWORD} -f /create_workflow_db.cql ${CS_HOST} ${CS_PORT} +else + cqlsh -f /create_workflow_db.cql ${CS_HOST} ${CS_PORT} +fi + -- cgit 1.2.3-korg