Skip to content

Commit

Permalink
First commit
Browse files Browse the repository at this point in the history
  • Loading branch information
datakurre committed Jul 18, 2021
0 parents commit 4f189b8
Show file tree
Hide file tree
Showing 38 changed files with 27,427 additions and 0 deletions.
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use nix
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.cache/
.direnv/
.idea/
env
dist/
result
node_modules
result
__pycache__
carrot-rcc
1 change: 1 addition & 0 deletions @types/neodoc/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
declare module 'neodoc';
Empty file added CHANGELOG.md
Empty file.
18,457 changes: 18,457 additions & 0 deletions Camunda.ts

Large diffs are not rendered by default.

45 changes: 45 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
SHELL := /usr/bin/env bash
export PATH := node_modules/.bin:$(PATH)

.PHONY: all
all: format

env: poetry.lock
nix-build -E "with import ./nix {}; poetry2nix.mkPoetryEnv { projectDir = ./.; }" -o env

.PHONY: format
format:
npm run prettier:format

default.nix: package-lock.json
rm -rf node_modules
nix-shell --run "node2nix --nodejs-14 -l nix/package-lock.json"

package-lock.json: package.json
npm install --package-lock-only

nix/node-dev-composition.nix: package-lock.json
rm -rf node_modules
node2nix --development --nodejs-14 -l package-lock.json --output nix/node-dev-packages.nix --node-env nix/node-dev-env.nix --composition nix/node-dev-composition.nix

nix/node-run-composition.nix: package-lock.json
rm -rf node_modules
node2nix --nodejs-14 -l package-lock.json --output nix/node-run-packages.nix --node-env nix/node-run-env.nix --composition nix/node-run-composition.nix

.PHONY: shell
shell:
nix-shell default.nix

.PHONY: watch
watch:
tsc -w

###

.PHONY: nix-%
nix-%:
nix-shell $(NIX_OPTIONS) --run "$(MAKE) $*"

node_modules: package.json
npm ci
touch node_modules
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
```bash
usage: carrot-rcc [<robots>...]
[--base-url] [--authorization]
[--worker-id] [--max-tasks] [--poll-interval] [--log-level]
[--rcc-executable] [--rcc-encoding] [--rcc-telemetry]
[-h] [--help]

<robots> could also be passed as a comma separated env RCC_ROBOTS

options:

--base-url[=<url>] [env: CAMUNDA_API_BASE_URL] [default: http://localhost:8080/engine-rest]
--authorization[=<header>] [env: CAMUNDA_API_AUTHORIZATION] [example: Basic ZGVtbzpkZW1v]

--worker-id[=<string>] [env: CLIENT_WORKER_ID] [default: carrot-rcc]
--max-tasks[=<cpus>] [env: CLIENT_MAX_TASKS] [default: ${
os.cpus().length
}]
--poll-interval[=<milliseconds>] [env: CLIENT_POLL_INTERVAL] [default: 10000]
--log-level[=<debug|info|warn|error>] [env: CLIENT_LOG_LEVEL] [default: info]

--rcc-executable[=<path>] [env: RCC_EXECUTABLE] [default: rcc]
--rcc-encoding[=<encoding>] [env: RCC_ENCODING] [default: utf-8]
--rcc-telemetry [env: RCC_TELEMETRY] (default: do not track)

-h, --help
```
12 changes: 12 additions & 0 deletions camunda/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM camunda/camunda-bpm-platform:7.15.0
USER camunda
RUN set -xe && \
# https://github.com/datakurre/camunda-cockpit-plugins/ OR https://datakurre.pandala.org/2021/01/camunda-cockpit-history-plugin/ installation
wget -P /camunda/webapps/camunda/app/cockpit/scripts/ https://raw.githubusercontent.com/datakurre/camunda-cockpit-plugins/master/definition-historic-activities.js && \
wget -P /camunda/webapps/camunda/app/cockpit/scripts/ https://raw.githubusercontent.com/datakurre/camunda-cockpit-plugins/master/instance-historic-activities.js && \
wget -P /camunda/webapps/camunda/app/cockpit/scripts/ https://raw.githubusercontent.com/datakurre/camunda-cockpit-plugins/master/instance-route-history.js && \
# https://github.com/datakurre/camunda-modeler-robot-plugin OR https://forum.robotframework.org/t/integrating-rf-with-camunda/997 installation
wget -P /camunda/webapps/camunda/app/cockpit/scripts/ https://raw.githubusercontent.com/datakurre/camunda-modeler-robot-plugin/master/dist/module.js
COPY --chown=camunda:camunda cockpit/config.js /camunda/webapps/camunda/app/cockpit/scripts/.
COPY --chown=camunda:camunda deployment /tmp/deployment

74 changes: 74 additions & 0 deletions camunda/cockpit/config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/*
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
* under one or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information regarding copyright
* ownership. Camunda licenses this file to you under the Apache License,
* Version 2.0; you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default {
customScripts: [
'scripts/definition-historic-activities.js',
'scripts/instance-historic-activities.js',
'scripts/instance-route-history.js'
//'scripts/instance-tab-modify.js'
],
// locales: {
// availableLocales: ['en', 'de'],
// fallbackLocale: 'en'
// },
bpmnJs: {
additionalModules: [
'scripts/module.js'
// // If you have a folder called 'my-custom-module' (in the 'cockpit' folder)
// // with a file called 'module.js' in it
// // 'my-custom-module/module'
],
// moddleExtensions: {
// // If you have a folder called 'my-custom-moddle' (in the 'cockpit' folder)
// // with a file called 'camunda.json' in it defining the 'camunda' moddle extension
// // camunda: 'my-custom-moddle/camunda'
// }
},
// skipCustomListeners: {
// default: true,
// hidden: false
// },
// skipIoMappings: {
// default: true,
// hidden: false
// },
// runtimeActivityInstanceMetrics: {
// display: true
// },
// historicActivityInstanceMetrics: {
// adjustablePeriod: true,
// // Select from the default time period: day, week, month, complete
// period: {
// unit: 'week'
// }
// },
// batchOperation: {
// // Select mode of query for process instances or decision instances
// // possible values: filter, search
// mode: 'filter',
// // Select if Historic Batches should be loaded automatically when navigating to #/batch
// autoLoadEnded: true
// },
// defaultFilter: {
// historicProcessDefinitionInstancesSearch: {
// lastDays: 5,
// event: 'started'
// }
// },
disableWelcomeMessage: false,
// userOperationLogAnnotationLength: 4000
};
90 changes: 90 additions & 0 deletions camunda/deployment/camunda-reset.bpmn
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_09inx8l" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.8.1">
<bpmn:process id="camunda-reset" name="Reset Camunda to clean state" isExecutable="true" camunda:historyTimeToLive="P1D">
<bpmn:startEvent id="Event_0zxlavb" name="Request empty Camunda">
<bpmn:outgoing>Flow_0e57r2k</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_0e57r2k" sourceRef="Event_0zxlavb" targetRef="Gateway_1tc2voa" />
<bpmn:sequenceFlow id="Flow_15rh19q" sourceRef="Gateway_1tc2voa" targetRef="Activity_0gkkssc" />
<bpmn:parallelGateway id="Gateway_1tc2voa">
<bpmn:incoming>Flow_0e57r2k</bpmn:incoming>
<bpmn:outgoing>Flow_15rh19q</bpmn:outgoing>
<bpmn:outgoing>Flow_0auj3hy</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:sequenceFlow id="Flow_0auj3hy" sourceRef="Gateway_1tc2voa" targetRef="Activity_14dufgr" />
<bpmn:sequenceFlow id="Flow_1329rr6" sourceRef="Activity_0gkkssc" targetRef="Gateway_1jcii6b" />
<bpmn:parallelGateway id="Gateway_1jcii6b">
<bpmn:incoming>Flow_1329rr6</bpmn:incoming>
<bpmn:incoming>Flow_0xjviwl</bpmn:incoming>
<bpmn:outgoing>Flow_1wc9j4m</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:endEvent id="Event_11w8z3j" name="Camunda is clean">
<bpmn:incoming>Flow_1wc9j4m</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_1wc9j4m" sourceRef="Gateway_1jcii6b" targetRef="Event_11w8z3j" />
<bpmn:sequenceFlow id="Flow_0xjviwl" sourceRef="Activity_14dufgr" targetRef="Gateway_1jcii6b" />
<bpmn:serviceTask id="Activity_0gkkssc" name="Reset deployments" camunda:type="external" camunda:topic="Reset deployments">
<bpmn:incoming>Flow_15rh19q</bpmn:incoming>
<bpmn:outgoing>Flow_1329rr6</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:serviceTask id="Activity_14dufgr" name="Reset tasklist filters" camunda:type="external" camunda:topic="Reset tasklist filters">
<bpmn:incoming>Flow_0auj3hy</bpmn:incoming>
<bpmn:outgoing>Flow_0xjviwl</bpmn:outgoing>
</bpmn:serviceTask>
</bpmn:process>
<bpmn:message id="Message_0rv49oz" name="xkcd.search.result" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="camunda-reset">
<bpmndi:BPMNEdge id="Flow_0xjviwl_di" bpmnElement="Flow_0xjviwl">
<di:waypoint x="451" y="270" />
<di:waypoint x="525" y="270" />
<di:waypoint x="525" y="185" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1wc9j4m_di" bpmnElement="Flow_1wc9j4m">
<di:waypoint x="550" y="160" />
<di:waypoint x="592" y="160" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1329rr6_di" bpmnElement="Flow_1329rr6">
<di:waypoint x="451" y="160" />
<di:waypoint x="500" y="160" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0auj3hy_di" bpmnElement="Flow_0auj3hy">
<di:waypoint x="277" y="185" />
<di:waypoint x="277" y="270" />
<di:waypoint x="351" y="270" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_15rh19q_di" bpmnElement="Flow_15rh19q">
<di:waypoint x="302" y="160" />
<di:waypoint x="351" y="160" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0e57r2k_di" bpmnElement="Flow_0e57r2k">
<di:waypoint x="208" y="160" />
<di:waypoint x="252" y="160" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Event_0zxlavb_di" bpmnElement="Event_0zxlavb">
<dc:Bounds x="172" y="142" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="153" y="185" width="75" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_0unrjx6_di" bpmnElement="Gateway_1tc2voa">
<dc:Bounds x="252" y="135" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_0ti7s5s_di" bpmnElement="Gateway_1jcii6b">
<dc:Bounds x="500" y="135" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_11w8z3j_di" bpmnElement="Event_11w8z3j">
<dc:Bounds x="592" y="142" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="566" y="185" width="88" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_09mycu2_di" bpmnElement="Activity_0gkkssc">
<dc:Bounds x="351" y="120" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_12hqcyz_di" bpmnElement="Activity_14dufgr">
<dc:Bounds x="351" y="230" width="100" height="80" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
27 changes: 27 additions & 0 deletions camunda/deployment/review.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<form role="form">

<p>
<img src="{{ camForm.variableManager.variable('comic.png').contentUrl }}" alt=""></img>
<br/><br/>
{{ camForm.variableManager.variable('description').value }}
</p>

<p>
<label for="accepted">Accept result?</label><br/>
<input type="checkbox"
id="accepted"
cam-variable-name="accepted"
cam-variable-type="Boolean" />
</p>

<input type="hidden" disabled="disabled"
id="description"
cam-variable-name="description"
cam-variable-type="String" />

<input type="hidden" disabled="disabled"
id="comic"
cam-variable-name="comic.png"
cam-variable-type="File" />

</form>
Loading

0 comments on commit 4f189b8

Please sign in to comment.