diff --git a/Odoo Continuous Delivery.md b/Odoo Continuous Delivery.md
index fb84fdf9..3ac08f8e 100644
--- a/Odoo Continuous Delivery.md
+++ b/Odoo Continuous Delivery.md
@@ -31,3 +31,7 @@ Die Odoo-Module sind in einem Git-Repository eingecheckt.
* Lädt eine leere Datenbank mit Demodaten
* Es werden Tests ausgeführt
* E-Mails werden nicht versendet
+
+## Serverumgebung
+
+![[Serverumgebung.canvas|Serverumgebung]]
\ No newline at end of file
diff --git a/Serverumgebung.canvas b/Serverumgebung.canvas
new file mode 100644
index 00000000..b05791a7
--- /dev/null
+++ b/Serverumgebung.canvas
@@ -0,0 +1,32 @@
+{
+ "nodes":[
+ {"type":"group","id":"1132a63cdeab6d88","x":60,"y":-280,"width":560,"height":340,"label":"Odoo Environment"},
+ {"type":"group","id":"dc8435c18e2747e3","x":-180,"y":-280,"width":180,"height":260,"label":"Drone"},
+ {"type":"group","id":"bfce7c81ebdd06a6","x":-440,"y":-280,"width":180,"height":260,"label":"GitHub Repo"},
+ {"type":"text","text":"odoo01","id":"37875053b83406f6","x":80,"y":-260,"width":140,"height":60},
+ {"type":"text","text":"main branch","id":"d49954f100392182","x":-420,"y":-260,"width":140,"height":60},
+ {"type":"text","text":"int branch","id":"36fa923450ae6d97","x":-420,"y":-180,"width":140,"height":60},
+ {"type":"text","text":"dev branch","id":"3c7f4aecfa9902cb","x":-420,"y":-100,"width":140,"height":60},
+ {"type":"text","text":"main pipeline","id":"067586fab30ab8eb","x":-160,"y":-260,"width":140,"height":60},
+ {"type":"text","text":"int pipeline","id":"6e1aafd32d9ca51f","x":-160,"y":-180,"width":140,"height":60},
+ {"type":"text","text":"dev pipeline","id":"509910fff8fc18ab","x":-160,"y":-100,"width":140,"height":60},
+ {"type":"text","text":"odoo02","id":"0a8ff69caa999d26","x":80,"y":-180,"width":140,"height":60},
+ {"type":"text","text":"odoo03","id":"c38f8a144a2ed122","x":80,"y":-100,"width":140,"height":60},
+ {"type":"text","text":"mailhog01","id":"e74e3fd9c0461407","x":80,"y":-20,"width":140,"height":60},
+ {"type":"text","text":"nginx01\n- odoo.example.com\n- int.example.com\n- dev.example.com\n- mail.example.com\n- drone.example.com","id":"7efd437e442a5fb1","x":360,"y":-200,"width":220,"height":180}
+ ],
+ "edges":[
+ {"id":"7ca5bd1efc1a1e49","fromNode":"d49954f100392182","fromSide":"right","toNode":"067586fab30ab8eb","toSide":"left"},
+ {"id":"a1e6383149b0cd66","fromNode":"36fa923450ae6d97","fromSide":"right","toNode":"6e1aafd32d9ca51f","toSide":"left"},
+ {"id":"e1346014f1ed3340","fromNode":"3c7f4aecfa9902cb","fromSide":"right","toNode":"509910fff8fc18ab","toSide":"left"},
+ {"id":"00c5877677d651af","fromNode":"7efd437e442a5fb1","fromSide":"left","toNode":"37875053b83406f6","toSide":"right"},
+ {"id":"822bc1fa15f70d60","fromNode":"7efd437e442a5fb1","fromSide":"left","toNode":"0a8ff69caa999d26","toSide":"right"},
+ {"id":"987a25c93d7fe1ae","fromNode":"7efd437e442a5fb1","fromSide":"left","toNode":"c38f8a144a2ed122","toSide":"right"},
+ {"id":"3bd25001e2127eed","fromNode":"7efd437e442a5fb1","fromSide":"left","toNode":"e74e3fd9c0461407","toSide":"right"},
+ {"id":"75b56cfb2252ffa2","fromNode":"509910fff8fc18ab","fromSide":"top","toNode":"6e1aafd32d9ca51f","toSide":"bottom"},
+ {"id":"f68a4e25d9a5ceff","fromNode":"6e1aafd32d9ca51f","fromSide":"top","toNode":"067586fab30ab8eb","toSide":"bottom"},
+ {"id":"94e3f8fb4ad01ae1","fromNode":"067586fab30ab8eb","fromSide":"right","toNode":"37875053b83406f6","toSide":"left"},
+ {"id":"71e8e9832981551e","fromNode":"6e1aafd32d9ca51f","fromSide":"right","toNode":"0a8ff69caa999d26","toSide":"left"},
+ {"id":"e02dffeb998d3136","fromNode":"509910fff8fc18ab","fromSide":"right","toNode":"c38f8a144a2ed122","toSide":"left"}
+ ]
+}
\ No newline at end of file
diff --git a/build.js b/build.js
index b45cf632..1f0df886 100644
--- a/build.js
+++ b/build.js
@@ -77,7 +77,7 @@ function mapColor(color) {
}
function renderNode(node) {
- const strockWidth = 7
+ const strockWidth = 4
const fontWeight = 'bold'
let textOffsetX = 15
@@ -86,6 +86,17 @@ function renderNode(node) {
let text = node['text']
let fontSize = 18
+ // Process multiline text
+
+ if (text && text.split('\n').length > 1) {
+ let spans = ''
+ for (const line of text.split('\n')) {
+ spans += `${line}`
+ }
+ text = spans
+ textOffsetY = 10
+ }
+
// Link markdown file
if (node['file'] && node['file'].endsWith('.md')) {
@@ -114,7 +125,7 @@ function renderNode(node) {
}
function renderGroup(group) {
- const strockWidth = 7
+ const strockWidth = 4
const fontWeight = 'bold'
let textOffsetX = 15
@@ -124,17 +135,17 @@ function renderGroup(group) {
let fontSize = 24
return `
-
+
${text}
`
}
function renderEdge(edge) {
- const strockWidth = 7
+ const strockWidth = 5
const color = mapColor(edge['color'])
return `
-
+
@@ -200,7 +211,7 @@ function convertCanvasToSVG(content) {
for (const edge of edges) {
const fromOffset = 3
- const toOffset = 20
+ const toOffset = 15
// Get start and target nodes
diff --git a/canvas.svg b/canvas.svg
new file mode 100644
index 00000000..4e017b07
--- /dev/null
+++ b/canvas.svg
@@ -0,0 +1,23 @@
+
+
+
\ No newline at end of file
diff --git a/odoo-continuous-delivery.svg b/odoo-continuous-delivery.svg
new file mode 100644
index 00000000..3bd3074a
--- /dev/null
+++ b/odoo-continuous-delivery.svg
@@ -0,0 +1,31 @@
+
+
+
\ No newline at end of file
diff --git a/s3.svg b/s3.svg
new file mode 100644
index 00000000..a17ced21
--- /dev/null
+++ b/s3.svg
@@ -0,0 +1,51 @@
+
+
+
\ No newline at end of file
diff --git a/serverumgebung.svg b/serverumgebung.svg
new file mode 100644
index 00000000..a5afcf41
--- /dev/null
+++ b/serverumgebung.svg
@@ -0,0 +1,106 @@
+
+
+
\ No newline at end of file