From 94e25e69f275d01629c3050110b03463f649829c Mon Sep 17 00:00:00 2001 From: Sheogorath <sheogorath@shivering-isles.com> Date: Sun, 16 Apr 2023 17:14:51 +0200 Subject: [PATCH] removal(terraform): Remove Hedgedoc Demo instance --- terraform/hedgedoc-demo/.terraform.lock.hcl | 104 - terraform/hedgedoc-demo/README.md | 57 - terraform/hedgedoc-demo/dns.tf | 17 - terraform/hedgedoc-demo/firewall.tf | 62 - terraform/hedgedoc-demo/main.tf | 41 - terraform/hedgedoc-demo/provider.tf | 16 - terraform/hedgedoc-demo/schema.excalidraw | 5739 ----------------- terraform/hedgedoc-demo/schema.svg | 16 - terraform/hedgedoc-demo/ssh.tf | 2 - .../hedgedoc-demo/templates/cloud-init.tpl | 169 - .../templates/docker-compose.tpl | 165 - terraform/hedgedoc-demo/terraform.enc.tfvars | 21 - terraform/hedgedoc-demo/variables.tf | 137 - terraform/hedgedoc-demo/versions.tf | 1 - 14 files changed, 6547 deletions(-) delete mode 100644 terraform/hedgedoc-demo/.terraform.lock.hcl delete mode 100644 terraform/hedgedoc-demo/README.md delete mode 100644 terraform/hedgedoc-demo/dns.tf delete mode 100644 terraform/hedgedoc-demo/firewall.tf delete mode 100644 terraform/hedgedoc-demo/main.tf delete mode 100644 terraform/hedgedoc-demo/provider.tf delete mode 100644 terraform/hedgedoc-demo/schema.excalidraw delete mode 100644 terraform/hedgedoc-demo/schema.svg delete mode 100644 terraform/hedgedoc-demo/ssh.tf delete mode 100644 terraform/hedgedoc-demo/templates/cloud-init.tpl delete mode 100644 terraform/hedgedoc-demo/templates/docker-compose.tpl delete mode 100644 terraform/hedgedoc-demo/terraform.enc.tfvars delete mode 100644 terraform/hedgedoc-demo/variables.tf delete mode 120000 terraform/hedgedoc-demo/versions.tf diff --git a/terraform/hedgedoc-demo/.terraform.lock.hcl b/terraform/hedgedoc-demo/.terraform.lock.hcl deleted file mode 100644 index dc7101c95..000000000 --- a/terraform/hedgedoc-demo/.terraform.lock.hcl +++ /dev/null @@ -1,104 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/cloudflare/cloudflare" { - version = "3.34.0" - constraints = "3.34.0" - hashes = [ - "h1:4jOI2ZUyp/EvIVE9rNvCMTqrIaG7j7XxUD1i43xD0Jg=", - "zh:03729b0fcf189e732aca54452a105d82fec839580cb5d0137317af9163e0e4dd", - "zh:121b16a779e9f2fe8c96e98f32514ee9228346fc240ce12c3fb440958b93d127", - "zh:14509f521845eedd57a8791d76958e50bea4928760a152cd853e43f2c81a329b", - "zh:273336ec2bc59ab90916706c074be27f3fe6ab42addc61a354a0ef5e10c2efa5", - "zh:54931c30f71666856c5d749698264c15196103667c87d961f3d293ff8a5c3237", - "zh:58a35eea3b9e1d2f39d7b5b1c6cf107b70eacdf5891017d6667902903db3bd94", - "zh:5ec958afe392a76a1fea262d9070df839c4d811fc6ffd613a37f8b939ab159ef", - "zh:7c24c0572aa9beee20a33cb18ac54d5088a09653e94664a9f74a9af2ae0e3554", - "zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f", - "zh:9248c43f795dbe54e07c6dbc2fb8e2f20aeac8f21ec91373d52b9975f285ba7e", - "zh:b09abd506601b7c3e0b3bfde0b8b9e1aed7f52b5ad629ef2865b8321852409c7", - "zh:e00032df4cd4aad12adf3b7955fca3d1baa8bff9436c775588417da171a4e1d9", - "zh:e4a8812770914d6ce9d1f8399d702e3fb0ecc4bfd6220ba015fcb3884b243c69", - "zh:f2ad0991ef0820b3fc5bd0a500be4dceffe0b5b2ac6c9c5fd17cbb350f2f1209", - "zh:fea3a9dfb1e752dc2864028049a4af05fabf7b62eb57fff26d139a424e3476fd", - ] -} - -provider "registry.terraform.io/hashicorp/local" { - version = "2.3.0" - constraints = "2.3.0" - hashes = [ - "h1:+l9ZTDGmGdwnuYI5ftUjwP8UgoLw4f4V9xoCzal4LW0=", - "zh:1f1920b3f78c31c6b69cdfe1e016a959667c0e2d01934e1a084b94d5a02cd9d2", - "zh:550a3cdae0ddb350942624e7b2e8b31d28bc15c20511553432413b1f38f4b214", - "zh:68d1d9ccbfce2ce56b28a23b22833a5369d4c719d6d75d50e101a8a8dbe33b9b", - "zh:6ae3ad6d865a906920c313ec2f413d080efe32c230aca711fd106b4cb9022ced", - "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", - "zh:a0f413d50f54124057ae3dcd9353a797b84e91dc34bcf85c34a06f8aef1f9b12", - "zh:a2ac6d4088ceddcd73d88505e18b8226a6e008bff967b9e2d04254ef71b4ac6b", - "zh:a851010672e5218bdd4c4ea1822706c9025ef813a03da716d647dd6f8e2cffb0", - "zh:aa797561755041ef2fad99ee9ffc12b5e724e246bb019b21d7409afc2ece3232", - "zh:c6afa960a20d776f54bb1fc260cd13ead17280ebd87f05b9abcaa841ed29d289", - "zh:df0975e86b30bb89717b8c8d6d4690b21db66de06e79e6d6cfda769f3304afe6", - "zh:f0d3cc3da72135efdbe8f4cfbfb0f2f7174827887990a5545e6db1981f0d3a7c", - ] -} - -provider "registry.terraform.io/hashicorp/random" { - version = "3.4.3" - hashes = [ - "h1:xZGZf18JjMS06pFa4NErzANI98qi59SEcBsOcS2P2yQ=", - "zh:41c53ba47085d8261590990f8633c8906696fa0a3c4b384ff6a7ecbf84339752", - "zh:59d98081c4475f2ad77d881c4412c5129c56214892f490adf11c7e7a5a47de9b", - "zh:686ad1ee40b812b9e016317e7f34c0d63ef837e084dea4a1f578f64a6314ad53", - "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", - "zh:84103eae7251384c0d995f5a257c72b0096605048f757b749b7b62107a5dccb3", - "zh:8ee974b110adb78c7cd18aae82b2729e5124d8f115d484215fd5199451053de5", - "zh:9dd4561e3c847e45de603f17fa0c01ae14cae8c4b7b4e6423c9ef3904b308dda", - "zh:bb07bb3c2c0296beba0beec629ebc6474c70732387477a65966483b5efabdbc6", - "zh:e891339e96c9e5a888727b45b2e1bb3fcbdfe0fd7c5b4396e4695459b38c8cb1", - "zh:ea4739860c24dfeaac6c100b2a2e357106a89d18751f7693f3c31ecf6a996f8d", - "zh:f0c76ac303fd0ab59146c39bc121c5d7d86f878e9a69294e29444d4c653786f8", - "zh:f143a9a5af42b38fed328a161279906759ff39ac428ebcfe55606e05e1518b93", - ] -} - -provider "registry.terraform.io/hashicorp/template" { - version = "2.2.0" - constraints = "2.2.0" - hashes = [ - "h1:94qn780bi1qjrbC3uQtjJh3Wkfwd5+tTtJHOb7KTg9w=", - "zh:01702196f0a0492ec07917db7aaa595843d8f171dc195f4c988d2ffca2a06386", - "zh:09aae3da826ba3d7df69efeb25d146a1de0d03e951d35019a0f80e4f58c89b53", - "zh:09ba83c0625b6fe0a954da6fbd0c355ac0b7f07f86c91a2a97849140fea49603", - "zh:0e3a6c8e16f17f19010accd0844187d524580d9fdb0731f675ffcf4afba03d16", - "zh:45f2c594b6f2f34ea663704cc72048b212fe7d16fb4cfd959365fa997228a776", - "zh:77ea3e5a0446784d77114b5e851c970a3dde1e08fa6de38210b8385d7605d451", - "zh:8a154388f3708e3df5a69122a23bdfaf760a523788a5081976b3d5616f7d30ae", - "zh:992843002f2db5a11e626b3fc23dc0c87ad3729b3b3cff08e32ffb3df97edbde", - "zh:ad906f4cebd3ec5e43d5cd6dc8f4c5c9cc3b33d2243c89c5fc18f97f7277b51d", - "zh:c979425ddb256511137ecd093e23283234da0154b7fa8b21c2687182d9aea8b2", - ] -} - -provider "registry.terraform.io/hetznercloud/hcloud" { - version = "1.36.2" - constraints = "1.36.2" - hashes = [ - "h1:VO/dl+g5NfJd436hmT+9NOMQk6oRU4Z9TSJJJrNlN0M=", - "zh:0498ef4209924b30ce7b4a232dd6aee08feab2ebbc90064db699adc10c16707e", - "zh:292e3c0c55d320cf164cdd431ee31580dd86f435aec99721597204bab5de3970", - "zh:3ce8558658baa7c4b9f1eeb92427665b4b930e5b157fbf352977778c90e11aaa", - "zh:46abd0bdeeba46b86832ed31338ad837b584f7b2152f8a9bfa6c3802f481a6da", - "zh:5804e71d411577f06abc0986c8c2e475c49042a192efce5936e4d5bdd874fc22", - "zh:7cef0782e8198346bfe7b61601e1cf8f2158280a5cf665140b72838545ca3127", - "zh:be81782af391ff4cc0859d976637aa00e6fe34061fe4f1df1f5ab5d62ef94f82", - "zh:bf2660e70edf758305085698fc9d05306b174b99559cd0f3f61c0b705ba22275", - "zh:caf727b0a378dc8c9c3594bbf176865f87aa732077820ff045eb352f5a48aeed", - "zh:cf95fc3121b358c7b7b667193ab36b8cb6140e2f6dfbf6f1b4c55b7fec1bb6ef", - "zh:d6d3119f8b971e982b6421dfa3b86314ccaeceaf047a3b6505f79e1a30f8301e", - "zh:e6f7f65dced2e88e3082c57ddcd118412595678cf3c7289bc7e12c724b3bd892", - "zh:f41f59ca511ab1a591d5abdc7f6d32d2e03a1d6087d206a741f95b7b0dd2ea17", - "zh:fbe59fbb5f272a6b206a380f6dbf49837b199960dd038afca2e89b11f72fdfda", - ] -} diff --git a/terraform/hedgedoc-demo/README.md b/terraform/hedgedoc-demo/README.md deleted file mode 100644 index e4b201afd..000000000 --- a/terraform/hedgedoc-demo/README.md +++ /dev/null @@ -1,57 +0,0 @@ -Hedgedoc Demo Terraform Repository -=== - -This directory contains the deployment of the [Hedgedoc](https://hedgedoc.org) [Demo instance](https://demo.hedgedoc.org). - -The demo instance is hosted on [Hetzner Cloud](https://hetzner.cloud) in combination with [Cloudflare](https://cloudflare.com) as DNS, CDN and WAF provider and [Backblaze](https://backblaze.com) as Backup storage. - -The Terraform setup itself is slightly opinionated and allows reproduction of the instance by replacing the existing one, which includes a minor downtime, until the new instance has downloaded all images as started the containers. - - - -Features ---- - -This setup provides with some features that weren't available or limited before: - -1. Fully reproducible instance creation -2. Automated update installation -3. Automatic nightly deployment -4. Automatic nightly backups including monitoring -5. Fully self-contained setup -> All components (hedgedoc, s3, postgresql, reverse-proxy) of the demo instance run on the host - -To be done ---- - -- [x] Automated installation of Hedgedoc -- [x] Automated docker-compose revisions -- [x] Automated updates to latest nightly image -- [x] Fully restricted network access to backend host -- [x] Automated backup of Hedgedoc -- [x] Automated backup monitoring -- [ ] Automated restore of Hedgedoc -- [ ] Add safeguard preventing volume deletion -- [ ] Add safeguard preventing destruction while backup process in progress - -Usage ---- - -Be aware, that without the `.tfstate` this repository will produce another demo instance, not modify the existing one. - -1. Initialise terraform using `terraform init -upgrade` -2. Decrypt or fill/adjust the `terraform.tfvars` file to your needs. (all variables are described in the `variables.tf` file, if you want to start from scratch) -3. Run `terraform apply` and review the changes -4. Initiate deployment of the changes by typing `yes`. - -Technology reference ---- - -- [terraform](https://developer.hashicorp.com/terraform/intro) -- [rockylinux](https://docs.rockylinux.org/) -- [docker](https://docs.docker.com) -- [restic](https://restic.readthedocs.io/en/stable/) -- [hedgedoc](https://docs.hedgedoc.org) -- [traefik](https://docs.traefik.io/) -- [postgresql](https://www.postgresql.org/docs/) -- [minio](https://min.io/docs/minio/container/index.html) -- [watchtower](https://containrrr.dev/watchtower/) \ No newline at end of file diff --git a/terraform/hedgedoc-demo/dns.tf b/terraform/hedgedoc-demo/dns.tf deleted file mode 100644 index d0fd2d343..000000000 --- a/terraform/hedgedoc-demo/dns.tf +++ /dev/null @@ -1,17 +0,0 @@ -resource "cloudflare_record" "demo-instance" { - count = 1 - zone_id = var.dns_zone_id - name = "demo" - value = module.hedgedoc.server_names[0] - type = "CNAME" - proxied = true -} - -resource "cloudflare_record" "s3-storage" { - count = 1 - zone_id = var.dns_zone_id - name = "s3" - value = module.hedgedoc.server_names[0] - type = "CNAME" - proxied = true -} \ No newline at end of file diff --git a/terraform/hedgedoc-demo/firewall.tf b/terraform/hedgedoc-demo/firewall.tf deleted file mode 100644 index 43ecaca49..000000000 --- a/terraform/hedgedoc-demo/firewall.tf +++ /dev/null @@ -1,62 +0,0 @@ -data "cloudflare_ip_ranges" "cloudflare" {} - - -resource "hcloud_firewall" "ingress-web" { - name = "ingress-web" - apply_to { - label_selector = "firewall.hetzner.si-infra.de/web=true" - } - - # ICMP is always a good idea - # - # Network reachability tests - rule { - direction = "in" - protocol = "icmp" - source_ips = [ - "0.0.0.0/0", - "::/0" - ] - } - - # Allow HTTP and HTTPS traffic in - rule { - direction = "in" - protocol = "tcp" - port = "80" - source_ips = data.cloudflare_ip_ranges.cloudflare.cidr_blocks - } - rule { - direction = "in" - protocol = "tcp" - port = "443" - source_ips = data.cloudflare_ip_ranges.cloudflare.cidr_blocks - } -} - -resource "hcloud_firewall" "ingress-ssh" { - name = "ingress-ssh" - apply_to { - label_selector = "firewall.hetzner.si-infra.de/ssh=true" - } - - # ICMP is always a good idea - # - # Network reachability tests - rule { - direction = "in" - protocol = "icmp" - source_ips = [ - "0.0.0.0/0", - "::/0" - ] - } - - # Allow SSH traffic in - rule { - direction = "in" - protocol = "tcp" - port = "22" - source_ips = var.ssh_firewall_cidr - } -} diff --git a/terraform/hedgedoc-demo/main.tf b/terraform/hedgedoc-demo/main.tf deleted file mode 100644 index 845c89820..000000000 --- a/terraform/hedgedoc-demo/main.tf +++ /dev/null @@ -1,41 +0,0 @@ -module "hedgedoc" { - source = "../modules/hcloud_instance" - instance_count = 1 - location = var.location - name = "srv" - dns_domain = var.dns_domain - dns_zone_id = var.dns_zone_id - dns_record_aaaa = false - image = "rocky-9" - user_data = templatefile("templates/cloud-init.tpl", { - docker_compose_file = templatefile("templates/docker-compose.tpl", { - hedgedoc_db_user = "${var.hedgedoc_db_user}", - hedgedoc_db_password = "${var.hedgedoc_db_password}", - - hedgedoc_session_secret = "${var.hedgedoc_session_secret}", - - hedgedoc_minio_accesskey = "${var.hedgedoc_minio_accesskey}", - hedgedoc_minio_secretkey = "${var.hedgedoc_minio_secretkey}", - hedgedoc_minio_endpoint = "${var.hedgedoc_minio_endpoint}", - hedgedoc_minio_bucketname = "${var.hedgedoc_minio_bucketname}", - - hedgedoc_github_clientid = "${var.hedgedoc_github_clientid}", - hedgedoc_github_clientsecret = "${var.hedgedoc_github_clientsecret}", - letsencrypt_email = "${var.letsencrypt_email}", - }), - restic_b2_account_id = "${var.restic_b2_account_id}", - restic_b2_account_key = "${var.restic_b2_account_key}", - restic_repo_url = "${var.restic_repo_url}", - restic_repo_password = "${var.restic_repo_password}", - restic_monitoring_url = "${var.restic_monitoring_url}", - hedgedoc_db_user = "${var.hedgedoc_db_user}", - }) - ssh_keys = data.hcloud_ssh_keys.all_keys.ssh_keys.*.name - server_type = "cx11" - labels = { - "firewall.hetzner.si-infra.de/web" = "true", - "firewall.hetzner.si-infra.de/ssh" = "true", - } - volume = true - volume_size = 45 -} diff --git a/terraform/hedgedoc-demo/provider.tf b/terraform/hedgedoc-demo/provider.tf deleted file mode 100644 index 657bd3026..000000000 --- a/terraform/hedgedoc-demo/provider.tf +++ /dev/null @@ -1,16 +0,0 @@ -provider "cloudflare" { - api_token = var.cloudflare_api_token -} - -provider "hcloud" { - token = var.hcloud_token -} - -provider "template" { -} - -provider "local" { -} - -provider "random" { -} diff --git a/terraform/hedgedoc-demo/schema.excalidraw b/terraform/hedgedoc-demo/schema.excalidraw deleted file mode 100644 index b944bab2f..000000000 --- a/terraform/hedgedoc-demo/schema.excalidraw +++ /dev/null @@ -1,5739 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "type": "rectangle", - "version": 76, - "versionNonce": 56576278, - "isDeleted": false, - "id": "NYUla1JDISfShqgq-jEtm", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 907, - "y": 285, - "strokeColor": "#a61e4d", - "backgroundColor": "transparent", - "width": 893, - "height": 616, - "seed": 385798522, - "groupIds": [], - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "type": "text", - "id": "0Dwpvl-CGTdY2h4TjYQb4" - } - ], - "updated": 1677684652620, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 48, - "versionNonce": 1541798730, - "isDeleted": false, - "id": "0Dwpvl-CGTdY2h4TjYQb4", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 912, - "y": 872, - "strokeColor": "#a61e4d", - "backgroundColor": "transparent", - "width": 175.28334045410156, - "height": 24, - "seed": 805846458, - "groupIds": [], - "roundness": null, - "boundElements": [], - "updated": 1677684652620, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": " Hetzner Project", - "textAlign": "left", - "verticalAlign": "bottom", - "containerId": "NYUla1JDISfShqgq-jEtm", - "originalText": " Hetzner Project" - }, - { - "type": "rectangle", - "version": 96, - "versionNonce": 1472774538, - "isDeleted": false, - "id": "PbdTU9ffYMkvnKNINamNc", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 316, - "y": 506, - "strokeColor": "#e67700", - "backgroundColor": "transparent", - "width": 503, - "height": 275, - "seed": 1563520678, - "groupIds": [], - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "type": "text", - "id": "0DP0aRMwZDLL2J6Kcz7qw" - }, - { - "id": "E9dCAcUakwH1NhpjKnzu2", - "type": "arrow" - } - ], - "updated": 1677686202198, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 65, - "versionNonce": 1909772746, - "isDeleted": false, - "id": "0DP0aRMwZDLL2J6Kcz7qw", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 321, - "y": 752, - "strokeColor": "#e67700", - "backgroundColor": "transparent", - "width": 119.83333587646484, - "height": 24, - "seed": 1109728762, - "groupIds": [], - "roundness": null, - "boundElements": [], - "updated": 1677684513869, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": " Cloudflare", - "textAlign": "left", - "verticalAlign": "bottom", - "containerId": "PbdTU9ffYMkvnKNINamNc", - "originalText": " Cloudflare" - }, - { - "type": "rectangle", - "version": 239, - "versionNonce": 87355658, - "isDeleted": false, - "id": "t-OMqEKEeNwfb0q3qpNS5", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1745, - "y": 1049, - "strokeColor": "#c92a2a", - "backgroundColor": "transparent", - "width": 525, - "height": 200, - "seed": 1265125306, - "groupIds": [], - "roundness": { - "type": 3 - }, - "boundElements": [ - { - "type": "text", - "id": "EF8ITSkPyjGMDYx7fLkBw" - }, - { - "id": "HguRpUUWuof0kzG94vIwa", - "type": "arrow" - } - ], - "updated": 1677684714913, - "link": null, - "locked": false - }, - { - "type": "text", - "version": 220, - "versionNonce": 1234566294, - "isDeleted": false, - "id": "EF8ITSkPyjGMDYx7fLkBw", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1750, - "y": 1220, - "strokeColor": "#c92a2a", - "backgroundColor": "transparent", - "width": 118.76667022705078, - "height": 24, - "seed": 354056678, - "groupIds": [], - "roundness": null, - "boundElements": [], - "updated": 1677684714913, - "link": null, - "locked": false, - "fontSize": 20, - "fontFamily": 1, - "text": " Backblaze", - "textAlign": "left", - "verticalAlign": "bottom", - "containerId": "t-OMqEKEeNwfb0q3qpNS5", - "originalText": " Backblaze" - }, - { - "type": "rectangle", - "version": 261, - "versionNonce": 374258570, - "isDeleted": false, - "id": "hSnt3q_hzkmUhe5ei1UBU", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1338.9107831586205, - "y": 1086.577743674085, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 97.97958497266808, - "height": 55.90246259176774, - "seed": 1796077258, - "groupIds": [ - "8rnWPhvO1FGD0UgLBnWdd", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681594, - "link": null, - "locked": false - }, - { - "type": "rectangle", - "version": 285, - "versionNonce": 801679638, - "isDeleted": false, - "id": "vU8M_MJE4CRaHRZhI9K1V", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1333.5008674239314, - "y": 1079.3645226945018, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 108.79941644204253, - "height": 69.12670105433641, - "seed": 235483862, - "groupIds": [ - "8rnWPhvO1FGD0UgLBnWdd", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": [ - { - "id": "1yvME6mequElcZh4YvE0D", - "type": "arrow" - }, - { - "id": "oF2GZnRMkWocVGHeOxR6_", - "type": "arrow" - }, - { - "id": "QsEdMk5cnaAxWmaCezO8Y", - "type": "arrow" - }, - { - "id": "GvOtS2yDv3FrNIdm-SzOV", - "type": "arrow" - } - ], - "updated": 1677686286153, - "link": null, - "locked": false - }, - { - "type": "line", - "version": 268, - "versionNonce": 29942026, - "isDeleted": false, - "id": "YBJOsEb94_b0MgTvzf2Wt", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1339.2113340327662, - "y": 1153.8009558588092, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 410553738, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681596, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 299, - "versionNonce": 75041942, - "isDeleted": false, - "id": "lOr9f3svSytMq0uBBSNDB", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1386.0972704000583, - "y": 1153.4002213599433, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 860383254, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681596, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 290, - "versionNonce": 1692151754, - "isDeleted": false, - "id": "7ZutcNxs9PVc7Qa5Z0-73", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1362.0532004681168, - "y": 1153.4002213599433, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 1373785162, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681596, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 321, - "versionNonce": 169282006, - "isDeleted": false, - "id": "LcXTNA9iw_s6NZ10cdrhQ", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1408.9391368354036, - "y": 1152.9994868610775, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 1835988310, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681596, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 292, - "versionNonce": 236430986, - "isDeleted": false, - "id": "33YTuxtx5V7VHwfeFO5GQ", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1350.8326344998736, - "y": 1153.8009558588092, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 489042698, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681596, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 324, - "versionNonce": 1032019734, - "isDeleted": false, - "id": "jW6m9qwJYZsHkrnBEoWfx", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1397.7185708671627, - "y": 1153.4002213599429, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 1439816342, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681596, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 313, - "versionNonce": 1446397258, - "isDeleted": false, - "id": "ZkbYzySdlR9dNy4Fhmq3h", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1373.6745009352207, - "y": 1153.4002213599438, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 213860810, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681596, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 345, - "versionNonce": 53677142, - "isDeleted": false, - "id": "Pqmis_7qWY72kik2coOob", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1420.560437302513, - "y": 1152.9994868610775, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 321263574, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681596, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 365, - "versionNonce": 1184041994, - "isDeleted": false, - "id": "yPac8DPhx2uWA23dEg7Kd", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1431.7810032707512, - "y": 1153.4002213599433, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 734558346, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 268, - "versionNonce": 1761284502, - "isDeleted": false, - "id": "J06V0Cylp5Q6JgOwmsUrU", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1345.222351515754, - "y": 1159.8119733417943, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 763407638, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 291, - "versionNonce": 86571722, - "isDeleted": false, - "id": "ehCAmHfoNg0ebyR9jvOD2", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1335.2039890441122, - "y": 1159.8119733417948, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 1778177866, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 299, - "versionNonce": 2047897302, - "isDeleted": false, - "id": "GMPn8ipqYzija38UFUVy_", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1392.1082878830434, - "y": 1159.4112388429294, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 1649842774, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 290, - "versionNonce": 1083380106, - "isDeleted": false, - "id": "R5ogJiB2phzC-7HMwHQIh", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1368.0642179510978, - "y": 1159.4112388429294, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 129457674, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 321, - "versionNonce": 319300630, - "isDeleted": false, - "id": "h_Uye-x0ogViAsrdW0BON", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1414.9501543183878, - "y": 1159.0105043440635, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 2021449622, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 292, - "versionNonce": 470569034, - "isDeleted": false, - "id": "HNFz4Bd0h31LqIoU9xYWh", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1356.8436519828588, - "y": 1159.8119733417948, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 32705738, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 324, - "versionNonce": 903295318, - "isDeleted": false, - "id": "cCKud_vRYX55jkAOWRFiC", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1403.7295883501515, - "y": 1159.4112388429294, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 338197718, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 314, - "versionNonce": 460306186, - "isDeleted": false, - "id": "ieFEEH15CZStvSVKWQKUU", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1379.6855184182054, - "y": 1159.4112388429285, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 2118837130, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 344, - "versionNonce": 1574082198, - "isDeleted": false, - "id": "is8hw82FKQ7okQO-4ESCq", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1426.571454785496, - "y": 1159.010504344063, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 183398934, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 365, - "versionNonce": 255346122, - "isDeleted": false, - "id": "oFF2k55xaG6prH7_eJbN9", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1437.7920207537336, - "y": 1159.411238842929, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 922346058, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 268, - "versionNonce": 1403999190, - "isDeleted": false, - "id": "KvKg_5hgFhchSmHxfB5QE", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1351.2333689987418, - "y": 1165.8229908247808, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 935575382, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 291, - "versionNonce": 8453258, - "isDeleted": false, - "id": "Y7p5iK_QLF7G5RJMfj4K6", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1341.2150065270969, - "y": 1165.8229908247804, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 1725630730, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 321, - "versionNonce": 25323798, - "isDeleted": false, - "id": "kfqoV1-CGEla1qMzQAuXl", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1420.9611718013743, - "y": 1165.0215218270496, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 1325229206, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 338, - "versionNonce": 486857546, - "isDeleted": false, - "id": "NeSN_HioX3AcPfptvFT4l", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1368.3747187312883, - "y": 1166.3270041034439, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 41.56106170620723, - "height": 0.8679379253053294, - "seed": 896096202, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 41.56106170620723, - -0.8679379253053294 - ] - ] - }, - { - "type": "line", - "version": 344, - "versionNonce": 1187042902, - "isDeleted": false, - "id": "TMErCoGSepaRW5CRtJR8j", - "fillStyle": "hachure", - "strokeWidth": 4, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1432.582472268481, - "y": 1165.0215218270491, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 5.610282984120011, - "height": 0, - "seed": 844128726, - "groupIds": [ - "AoCcOwRMrTGFoRWlz7DQJ", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 5.610282984120011, - 0 - ] - ] - }, - { - "type": "line", - "version": 348, - "versionNonce": 589226506, - "isDeleted": false, - "id": "ny_O9L2iwbjel6i_g99DT", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1322.317126831798, - "y": 1170.9871918024123, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 138.25340210867284, - "height": 22.240764687047356, - "seed": 582995594, - "groupIds": [ - "VFZYrXOhE1tKTGwGmkK1a", - "FSPiHWme5vFHmvEHeSfxb", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 138.25340210867284, - 0 - ], - [ - 122.62475665290992, - -21.639662938748792 - ], - [ - 12.623136714270139, - -22.240764687047353 - ], - [ - 0, - 0 - ] - ] - }, - { - "type": "rectangle", - "version": 261, - "versionNonce": 1279237014, - "isDeleted": false, - "id": "LLTusGqxzdgUPrtxjPOva", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1320.9779143343799, - "y": 1169.830335813438, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 138.25340210867267, - "height": 2.8051414920600055, - "seed": 1154594582, - "groupIds": [ - "VFZYrXOhE1tKTGwGmkK1a", - "FSPiHWme5vFHmvEHeSfxb", - "jyl2bgH5v4-wYyrUiItlG", - "k_7qSEtGjXIGxvSGhX8Jg" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false - }, - { - "id": "FLuiCRq1nAtvphSU5RL5T", - "type": "text", - "x": 1340, - "y": 1205, - "width": 88.23332977294922, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1283531914, - "version": 77, - "versionNonce": 1305088202, - "isDeleted": false, - "boundElements": null, - "updated": 1677684681597, - "link": null, - "locked": false, - "text": "Operator", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "Operator" - }, - { - "id": "oF2GZnRMkWocVGHeOxR6_", - "type": "arrow", - "x": 1320, - "y": 1070, - "width": 74.18538967344557, - "height": 227.56544800541724, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1313967190, - "version": 331, - "versionNonce": 143801930, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "TXkrHMGEW1zh1UN6YW0fB" - } - ], - "updated": 1677684704480, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -74.18538967344557, - -227.56544800541724 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "vU8M_MJE4CRaHRZhI9K1V", - "focus": -0.8159363881371506, - "gap": 13.500867423931368 - }, - "endBinding": { - "elementId": "HbRO21PK3MiiJGzkIj4C5", - "focus": -0.12769260213744485, - "gap": 22.434551994582762 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "TXkrHMGEW1zh1UN6YW0fB", - "type": "text", - "x": 1213.423975390328, - "y": 932.2172759972914, - "width": 138.96665954589844, - "height": 48, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1785701322, - "version": 30, - "versionNonce": 628916746, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029778, - "link": null, - "locked": false, - "text": "Deploys using \nTerraform", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "oF2GZnRMkWocVGHeOxR6_", - "originalText": "Deploys using Terraform" - }, - { - "id": "HbRO21PK3MiiJGzkIj4C5", - "type": "rectangle", - "x": 941, - "y": 315, - "width": 363, - "height": 505, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1624335626, - "version": 192, - "versionNonce": 1001966730, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "8I6WQc1HHBluoF8rSbNCU" - }, - { - "id": "oF2GZnRMkWocVGHeOxR6_", - "type": "arrow" - }, - { - "id": "OqZf83VG83rLyWmKQnjSi", - "type": "arrow" - }, - { - "id": "c9SAPd76mFSG9wTKOKUHV", - "type": "arrow" - } - ], - "updated": 1677684657029, - "link": null, - "locked": false - }, - { - "id": "8I6WQc1HHBluoF8rSbNCU", - "type": "text", - "x": 1061.691665649414, - "y": 320, - "width": 121.61666870117188, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 52243594, - "version": 102, - "versionNonce": 1093737290, - "isDeleted": false, - "boundElements": null, - "updated": 1677683984867, - "link": null, - "locked": false, - "text": "cx11 instance", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "containerId": "HbRO21PK3MiiJGzkIj4C5", - "originalText": "cx11 instance" - }, - { - "id": "gk2ue7AnhKFgIIo9iMUqv", - "type": "rectangle", - "x": 1499, - "y": 319, - "width": 266, - "height": 535, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 2054723158, - "version": 99, - "versionNonce": 229748170, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "rAJLDTGxFCYD6hGgaH3cX" - }, - { - "id": "1yvME6mequElcZh4YvE0D", - "type": "arrow" - }, - { - "id": "HguRpUUWuof0kzG94vIwa", - "type": "arrow" - }, - { - "id": "OqZf83VG83rLyWmKQnjSi", - "type": "arrow" - } - ], - "updated": 1677686271138, - "link": null, - "locked": false - }, - { - "id": "rAJLDTGxFCYD6hGgaH3cX", - "type": "text", - "x": 1601.1749992370605, - "y": 324, - "width": 61.650001525878906, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 72751446, - "version": 38, - "versionNonce": 1703035222, - "isDeleted": false, - "boundElements": null, - "updated": 1677684284980, - "link": null, - "locked": false, - "text": "Volume", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "top", - "containerId": "gk2ue7AnhKFgIIo9iMUqv", - "originalText": "Volume" - }, - { - "id": "1yvME6mequElcZh4YvE0D", - "type": "arrow", - "x": 1445.503400160882, - "y": 1072.3626890385315, - "width": 136.2604492660771, - "height": 207.36268903853124, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1226003850, - "version": 212, - "versionNonce": 496265046, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "MvG2nh9HJtQKc5sJ5uEe_" - } - ], - "updated": 1677684681595, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 136.2604492660771, - -207.36268903853124 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "vU8M_MJE4CRaHRZhI9K1V", - "gap": 7.699716134026119, - "focus": 0.39442465502966 - }, - "endBinding": { - "elementId": "gk2ue7AnhKFgIIo9iMUqv", - "gap": 11, - "focus": -0.4299844052921396 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "MvG2nh9HJtQKc5sJ5uEe_", - "type": "text", - "x": 1444.1502950209713, - "y": 944.6813445192658, - "width": 138.96665954589844, - "height": 48, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 557611606, - "version": 42, - "versionNonce": 1611398038, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029786, - "link": null, - "locked": false, - "text": "Deploys using \nTerrafrom", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "1yvME6mequElcZh4YvE0D", - "originalText": "Deploys using Terrafrom" - }, - { - "id": "HguRpUUWuof0kzG94vIwa", - "type": "arrow", - "x": 1785, - "y": 752.6752612579857, - "width": 230.4249416298244, - "height": 302.32473874201435, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1632118282, - "version": 661, - "versionNonce": 1396479894, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "vXADU-vKW00FBxE0F2HPy" - } - ], - "updated": 1677684963962, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 230.4249416298244, - 302.32473874201435 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "gk2ue7AnhKFgIIo9iMUqv", - "focus": -0.07820252663715223, - "gap": 20 - }, - "endBinding": { - "elementId": "2eWhG3whRs65udD50vfqS", - "focus": 0.19705742156890543, - "gap": 19 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "vXADU-vKW00FBxE0F2HPy", - "type": "text", - "x": 1819.729141041963, - "y": 891.8376306289929, - "width": 160.96665954589844, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 375760714, - "version": 25, - "versionNonce": 1936961738, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029787, - "link": null, - "locked": false, - "text": "Is backed up to", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "HguRpUUWuof0kzG94vIwa", - "originalText": "Is backed up to" - }, - { - "id": "2eWhG3whRs65udD50vfqS", - "type": "rectangle", - "x": 1783, - "y": 1074, - "width": 457, - "height": 87, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1303026890, - "version": 114, - "versionNonce": 1078345674, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "Xts9VKBiOM3n7jhlS1x25" - }, - { - "id": "HguRpUUWuof0kzG94vIwa", - "type": "arrow" - } - ], - "updated": 1677684714913, - "link": null, - "locked": false - }, - { - "id": "Xts9VKBiOM3n7jhlS1x25", - "type": "text", - "x": 1960.349998474121, - "y": 1105.5, - "width": 102.30000305175781, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 531766230, - "version": 103, - "versionNonce": 2115369430, - "isDeleted": false, - "boundElements": null, - "updated": 1677684714913, - "link": null, - "locked": false, - "text": "B2 bucket", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "2eWhG3whRs65udD50vfqS", - "originalText": "B2 bucket" - }, - { - "id": "OqZf83VG83rLyWmKQnjSi", - "type": "arrow", - "x": 1323, - "y": 336.46245553501115, - "width": 160, - "height": 86.2104028230898, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 2, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1431175446, - "version": 479, - "versionNonce": 2147133642, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "jEhL9ry3qkLQhWOd4ZLLi" - } - ], - "updated": 1677684944879, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 160, - 86.2104028230898 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "HbRO21PK3MiiJGzkIj4C5", - "focus": -0.9679556585718165, - "gap": 19 - }, - "endBinding": { - "elementId": "gk2ue7AnhKFgIIo9iMUqv", - "focus": 0.24632360387374533, - "gap": 16 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "jEhL9ry3qkLQhWOd4ZLLi", - "type": "text", - "x": 1340.2583351135254, - "y": 367.56765694655604, - "width": 125.48332977294922, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 815466058, - "version": 15, - "versionNonce": 1936988374, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029788, - "link": null, - "locked": false, - "text": "As attached", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "OqZf83VG83rLyWmKQnjSi", - "originalText": "As attached" - }, - { - "id": "c9SAPd76mFSG9wTKOKUHV", - "type": "arrow", - "x": 1016.6150996511753, - "y": 300, - "width": 137.61509965117534, - "height": 105.79498607855442, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 634952778, - "version": 188, - "versionNonce": 158023818, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "ruSP9nrRQ4EgE6DwAW19S" - } - ], - "updated": 1677684957847, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -137.61509965117534, - -32 - ], - [ - -92.61509965117534, - 73.79498607855442 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "HbRO21PK3MiiJGzkIj4C5", - "focus": 0.8241413536488904, - "gap": 15 - }, - "endBinding": { - "elementId": "HbRO21PK3MiiJGzkIj4C5", - "focus": -0.40189316096907785, - "gap": 17 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "ruSP9nrRQ4EgE6DwAW19S", - "type": "text", - "x": 769.0666656494141, - "y": 256, - "width": 219.86666870117188, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1327730058, - "version": 30, - "versionNonce": 1075251082, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029788, - "link": null, - "locked": false, - "text": "Is frequently replaced", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "c9SAPd76mFSG9wTKOKUHV", - "originalText": "Is frequently replaced" - }, - { - "id": "cIuNFyJLQTW-jZmgYtsgk", - "type": "rectangle", - "x": 978, - "y": 466, - "width": 294, - "height": 58, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 788711126, - "version": 79, - "versionNonce": 1064054218, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "GZ71xSvN30LYqjWV-rRIW" - }, - { - "id": "8-6qs3st7jOFAavqLUZ8W", - "type": "arrow" - }, - { - "id": "tq_RdSkkq6QCQ8X9D97Eg", - "type": "arrow" - } - ], - "updated": 1677684894576, - "link": null, - "locked": false - }, - { - "id": "GZ71xSvN30LYqjWV-rRIW", - "type": "text", - "x": 1032.441665649414, - "y": 483, - "width": 185.11666870117188, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 2000124554, - "version": 74, - "versionNonce": 1851592982, - "isDeleted": false, - "boundElements": null, - "updated": 1677684797578, - "link": null, - "locked": false, - "text": "Hedgedoc container", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "cIuNFyJLQTW-jZmgYtsgk", - "originalText": "Hedgedoc container" - }, - { - "id": "29tfcJhh7OdbsJDvjjDWK", - "type": "rectangle", - "x": 974, - "y": 616, - "width": 299, - "height": 49, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1022780618, - "version": 55, - "versionNonce": 1594747862, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "kqh89REqphWnjMKPhUwBb" - }, - { - "id": "lbLJbhlN4lT7EWrRtLgnp", - "type": "arrow" - } - ], - "updated": 1677684894576, - "link": null, - "locked": false - }, - { - "id": "kqh89REqphWnjMKPhUwBb", - "type": "text", - "x": 1052.0833358764648, - "y": 628.5, - "width": 142.8333282470703, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 623142474, - "version": 44, - "versionNonce": 998696790, - "isDeleted": false, - "boundElements": null, - "updated": 1677684781988, - "link": null, - "locked": false, - "text": "Minio container", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "29tfcJhh7OdbsJDvjjDWK", - "originalText": "Minio container" - }, - { - "id": "onCiE9Ilo1n7BE0zcKzYZ", - "type": "rectangle", - "x": 974, - "y": 543, - "width": 304, - "height": 48, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 252251658, - "version": 73, - "versionNonce": 1334894486, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "uwCsz-SszdP26OaRvu0uz" - }, - { - "id": "lbLJbhlN4lT7EWrRtLgnp", - "type": "arrow" - }, - { - "id": "8-6qs3st7jOFAavqLUZ8W", - "type": "arrow" - }, - { - "id": "nhb24zD2J0akLo7s-VD0U", - "type": "arrow" - }, - { - "id": "B-cPw68POxMDVCwCuK4py", - "type": "arrow" - } - ], - "updated": 1677684779197, - "link": null, - "locked": false - }, - { - "id": "uwCsz-SszdP26OaRvu0uz", - "type": "text", - "x": 1039.0166702270508, - "y": 555, - "width": 173.96665954589844, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 685211222, - "version": 60, - "versionNonce": 1444875466, - "isDeleted": false, - "boundElements": null, - "updated": 1677684779198, - "link": null, - "locked": false, - "text": "Traefik Container", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "onCiE9Ilo1n7BE0zcKzYZ", - "originalText": "Traefik Container" - }, - { - "id": "lbLJbhlN4lT7EWrRtLgnp", - "type": "arrow", - "x": 1267.051697943758, - "y": 598.909615235405, - "width": 92.94830205624203, - "height": 68.090384764595, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1817291478, - "version": 347, - "versionNonce": 772007690, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "BVe_QaYNwVVUESu3cF6MB" - } - ], - "updated": 1677684810313, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 92.94830205624203, - 66.090384764595 - ], - [ - 19.11566050679312, - 68.090384764595 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "onCiE9Ilo1n7BE0zcKzYZ", - "focus": -0.5177548655447056, - "gap": 7.909615235404999 - }, - "endBinding": { - "elementId": "29tfcJhh7OdbsJDvjjDWK", - "focus": 1.0825466214153068, - "gap": 13.167358450551092 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "BVe_QaYNwVVUESu3cF6MB", - "type": "text", - "x": 1317.1166648864746, - "y": 653, - "width": 85.76667022705078, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 234045910, - "version": 16, - "versionNonce": 912690710, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029789, - "link": null, - "locked": false, - "text": "forwards", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "lbLJbhlN4lT7EWrRtLgnp", - "originalText": "forwards" - }, - { - "id": "8-6qs3st7jOFAavqLUZ8W", - "type": "arrow", - "x": 1289, - "y": 572.8125278823676, - "width": 75, - "height": 78.60125602381277, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1151000982, - "version": 295, - "versionNonce": 89738198, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "iuMizsKbXF4K9PdCjk1MU" - } - ], - "updated": 1677684824410, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 71, - -37.81252788236759 - ], - [ - -4, - -78.60125602381277 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "onCiE9Ilo1n7BE0zcKzYZ", - "focus": 0.8825240266028853, - "gap": 11 - }, - "endBinding": { - "elementId": "cIuNFyJLQTW-jZmgYtsgk", - "focus": -0.8059475000115457, - "gap": 13 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "iuMizsKbXF4K9PdCjk1MU", - "type": "text", - "x": 1317.1166648864746, - "y": 523, - "width": 85.76667022705078, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 720323146, - "version": 12, - "versionNonce": 866223690, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029789, - "link": null, - "locked": false, - "text": "forwards", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "8-6qs3st7jOFAavqLUZ8W", - "originalText": "forwards" - }, - { - "type": "ellipse", - "version": 1701, - "versionNonce": 1526967050, - "isDeleted": false, - "id": "jt8yof_FFHxN6qSuXJ2u0", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 405.18301230222863, - "y": 272.09341190244714, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 44.169759425803804, - "height": 40.6540467643249, - "seed": 756082122, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "line", - "version": 1765, - "versionNonce": 145220246, - "isDeleted": false, - "id": "A6vMWm9fB5vba0-R78Vlf", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 425.44955657404574, - "y": 312.5212941632868, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 2.167333452488185, - "height": 49.28615538139134, - "seed": 355513302, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -2.167333452488185, - 49.28615538139134 - ] - ] - }, - { - "type": "line", - "version": 1719, - "versionNonce": 539867594, - "isDeleted": false, - "id": "a-JqbAxQa7GxXYeJOm-Fb", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 422.8653867922571, - "y": 363.78514808060356, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 19.510137204936473, - "height": 30.057275189373165, - "seed": 440769674, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 19.510137204936473, - 30.057275189373165 - ] - ] - }, - { - "type": "line", - "version": 1723, - "versionNonce": 234561494, - "isDeleted": false, - "id": "cxa5bPKUy3IavJxLZn2gJ", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 422.25780948622685, - "y": 362.9234169877824, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 18.783346090897325, - "height": 25.733119709460734, - "seed": 1272432918, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -18.783346090897325, - 25.733119709460734 - ] - ] - }, - { - "type": "line", - "version": 1672, - "versionNonce": 984084618, - "isDeleted": false, - "id": "h09q6gG1JCRVxIyaqaaJo", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 405.9169664479072, - "y": 322.2095363692414, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 18.951759311642757, - "height": 18.19071092374616, - "seed": 1429568330, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 18.951759311642757, - 18.19071092374616 - ] - ] - }, - { - "type": "line", - "version": 1692, - "versionNonce": 410301718, - "isDeleted": false, - "id": "ZFxkSuS50Eu3XLKkU-Fgn", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 426.41759061089255, - "y": 340.53315362966384, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 27.310883180876726, - "height": 15.402957589820515, - "seed": 1600796246, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 27.310883180876726, - -15.402957589820515 - ] - ] - }, - { - "type": "line", - "version": 1712, - "versionNonce": 1580027722, - "isDeleted": false, - "id": "cy8ffztEKDA6wX5CQjadM", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 398.10210392347875, - "y": 275.9494575372676, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 63.46164769486781, - "height": 12.911229185001785, - "seed": 1278968330, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 63.46164769486781, - 12.911229185001785 - ] - ] - }, - { - "type": "rectangle", - "version": 2144, - "versionNonce": 1636409942, - "isDeleted": false, - "id": "M2NARO7BfgPrbSADKKcrA", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0.1875122815022081, - "x": 418.3001395139967, - "y": 234.70259277168935, - "strokeColor": "#000000", - "backgroundColor": "#fff", - "width": 32.71500022666033, - "height": 45.980903261711745, - "seed": 1220344726, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "line", - "version": 1401, - "versionNonce": 253285898, - "isDeleted": false, - "id": "UEtSoUBbaYebiqA1ntkeF", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 427.47483157247046, - "y": 301.279485409361, - "strokeColor": "#000000", - "backgroundColor": "#000", - "width": 53.20883302704749, - "height": 12.438499241734945, - "seed": 1783804106, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 16.057917597112322, - 6.049076792861201 - ], - [ - 22.482826275609803, - 5.465194911879904 - ], - [ - 27.39425009598468, - 2.016358930953765 - ], - [ - 23.850013402912772, - 10.166502906931791 - ], - [ - 15.774030333735844, - 10.636936235909024 - ], - [ - -0.1619724876934452, - 6.53463659543896 - ], - [ - -16.495069149918784, - 8.744614388479818 - ], - [ - -25.81458293106281, - -1.8015630058259184 - ], - [ - -16.48461931200311, - 3.816409289419604 - ], - [ - 0, - 0 - ] - ] - }, - { - "type": "ellipse", - "version": 762, - "versionNonce": 739174294, - "isDeleted": false, - "id": "oGYYL_RyEuuZ1YpmGxYOD", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 409.9747296794107, - "y": 284.6129558109897, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 14.47032432846386, - "height": 11.522877502139076, - "seed": 503650518, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "ellipse", - "version": 602, - "versionNonce": 241534154, - "isDeleted": false, - "id": "Kpcjir9TNn2undR3Ocjdu", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 416.5410158769104, - "y": 289.15759089942463, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0.7549734432242013, - "height": 0.9913792688802648, - "seed": 51775370, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "ellipse", - "version": 603, - "versionNonce": 406422742, - "isDeleted": false, - "id": "gXwAzxuk0u9wLr43iKN12", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 436.4029182292165, - "y": 290.86962663683704, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0.7625994376002037, - "height": 1.2964190439203462, - "seed": 1725402646, - "groupIds": [ - "GV6APywVOGwu50093cOGh" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "ellipse", - "version": 1455, - "versionNonce": 1169054602, - "isDeleted": false, - "id": "coMLSEvbKqdQ8EOzYn3qZ", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 517.6510826651795, - "y": 234.5534913019119, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 48.05529909659412, - "height": 52.730902963267106, - "seed": 1052804682, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "line", - "version": 1425, - "versionNonce": 2006874646, - "isDeleted": false, - "id": "oKxRtPcsYdqY8zOE7ubrr", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 539.2179854016106, - "y": 287.4431507085733, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 2.7078761127437083, - "height": 61.57834305239284, - "seed": 1881758550, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -2.7078761127437083, - 61.57834305239284 - ] - ] - }, - { - "type": "line", - "version": 1378, - "versionNonce": 858675786, - "isDeleted": false, - "id": "yyo50t5IffL7nv847rZng", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 536.624600803116, - "y": 350.72968152415496, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 24.376052717198476, - "height": 37.55369410555039, - "seed": 103623946, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 24.376052717198476, - 37.55369410555039 - ] - ] - }, - { - "type": "line", - "version": 1354, - "versionNonce": 556975958, - "isDeleted": false, - "id": "V64bRAIVIkXjgn2bqtnKd", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 533.2614569561304, - "y": 348.2073558512629, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 20.856847311132707, - "height": 34.887159612848606, - "seed": 542081174, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -20.856847311132707, - 34.887159612848606 - ] - ] - }, - { - "type": "line", - "version": 1331, - "versionNonce": 1438679306, - "isDeleted": false, - "id": "cm09ZFtLqOc0ebVO2n2vO", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 515.8860621109309, - "y": 299.4516617369588, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 23.678412878991605, - "height": 22.727555618028187, - "seed": 1859582922, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 23.678412878991605, - 22.727555618028187 - ] - ] - }, - { - "type": "line", - "version": 1351, - "versionNonce": 1162570902, - "isDeleted": false, - "id": "520Q63D2Nk4wYrsfi5Q0Y", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 541.069855441536, - "y": 321.71210951124857, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 34.12233964207367, - "height": 19.244524129499055, - "seed": 1258225110, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 34.12233964207367, - -19.244524129499055 - ] - ] - }, - { - "type": "line", - "version": 1582, - "versionNonce": 417320906, - "isDeleted": false, - "id": "RVVs_Ck_O5sH4NCMzNuKk", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 561.3809846316547, - "y": 248.4750874849476, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 40.267115590408615, - "height": 19.656485851742378, - "seed": 651752074, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -12.409465305563225, - 9.291617897339462 - ], - [ - -33.011397185814445, - 3.8364242371273978 - ], - [ - -40.267115590408615, - 19.656485851742378 - ] - ] - }, - { - "type": "line", - "version": 1853, - "versionNonce": 1100835286, - "isDeleted": false, - "id": "1a9VWLshAzJmvGiFzLoPm", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 520.8619506309954, - "y": 248.64015884846106, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 16.221138648124747, - "height": 46.28029709596124, - "seed": 88920854, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -1.597253039270119, - -7.202137263877104 - ], - [ - -8.23487345177416, - -8.7917478547018 - ], - [ - -16.221138648124743, - 3.7128163008893207 - ], - [ - -11.812192242205574, - 37.48854924125944 - ], - [ - -6.290008869522399, - 20.871670868279992 - ], - [ - 0, - 0 - ] - ] - }, - { - "type": "rectangle", - "version": 820, - "versionNonce": 1084704394, - "isDeleted": false, - "id": "7freu-r8JI5COJiUej5BM", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0.32340402082123276, - "x": 505.80499691455066, - "y": 285.86546742300106, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 13.51063521853309, - "height": 28.09316498014444, - "seed": 1626214730, - "groupIds": [ - "6DekJ7lkLQDVn4QtHONZD" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "ellipse", - "version": 2979, - "versionNonce": 1966980886, - "isDeleted": false, - "id": "h3CA68C3ez1TVT1E47DCM", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 614.2166846028034, - "y": 311.2644480469137, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 22.962090852177305, - "height": 25.196217843240962, - "seed": 2041446486, - "groupIds": [ - "fGh2vHqHiwCalWw2xcyCP", - "1dCmpaR_6aNHoPDp8cA6L" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "line", - "version": 2954, - "versionNonce": 1439819082, - "isDeleted": false, - "id": "k9bwbbO77ywz0-eIOVQjO", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 622.3492945948466, - "y": 336.6544603557136, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 1.2938947105974545, - "height": 29.423758342517576, - "seed": 1081169930, - "groupIds": [ - "fGh2vHqHiwCalWw2xcyCP", - "1dCmpaR_6aNHoPDp8cA6L" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -1.2938947105974545, - 29.423758342517576 - ] - ] - }, - { - "type": "line", - "version": 2961, - "versionNonce": 346123350, - "isDeleted": false, - "id": "qNPMTclRuDsJbgPRQcooK", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 620.8511943469888, - "y": 365.7212844930167, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 8.027782545968531, - "height": 16.381077520120563, - "seed": 1006077334, - "groupIds": [ - "fGh2vHqHiwCalWw2xcyCP", - "1dCmpaR_6aNHoPDp8cA6L" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 8.027782545968531, - 16.381077520120563 - ] - ] - }, - { - "type": "line", - "version": 2934, - "versionNonce": 297446410, - "isDeleted": false, - "id": "xn8bevPtOOfm5dpeYlyKd", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 620.4518734640552, - "y": 365.11885266090917, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 12.934412685499442, - "height": 14.81557535082132, - "seed": 1163773642, - "groupIds": [ - "fGh2vHqHiwCalWw2xcyCP", - "1dCmpaR_6aNHoPDp8cA6L" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -12.934412685499442, - 14.81557535082132 - ] - ] - }, - { - "type": "line", - "version": 2858, - "versionNonce": 2107470230, - "isDeleted": false, - "id": "qsAs0sdhfb7FJWdC9IoGo", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 610.3498587209318, - "y": 340.5302465889466, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 11.314170923583024, - "height": 10.859826216044992, - "seed": 492724950, - "groupIds": [ - "fGh2vHqHiwCalWw2xcyCP", - "1dCmpaR_6aNHoPDp8cA6L" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 11.314170923583024, - 10.859826216044992 - ] - ] - }, - { - "type": "line", - "version": 2886, - "versionNonce": 1247582922, - "isDeleted": false, - "id": "8rF8rI6e8-iBUY379bm26", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 620.8142985431765, - "y": 350.6623702794802, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 16.30455491235678, - "height": 9.195541798215446, - "seed": 944659850, - "groupIds": [ - "fGh2vHqHiwCalWw2xcyCP", - "1dCmpaR_6aNHoPDp8cA6L" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 16.30455491235678, - -9.195541798215446 - ] - ] - }, - { - "type": "line", - "version": 3060, - "versionNonce": 191286998, - "isDeleted": false, - "id": "iivHl6dET3fQA_-m3Nl-H", - "fillStyle": "solid", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 616.6833607387229, - "y": 313.70039323399715, - "strokeColor": "#000000", - "backgroundColor": "#4c6ef5", - "width": 35.92743759704585, - "height": 13.376796241548695, - "seed": 7837718, - "groupIds": [ - "1dCmpaR_6aNHoPDp8cA6L" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 10.51338912439717, - -10.252968819400877 - ], - [ - 20.38646225315211, - -0.03190277899463023 - ], - [ - 19.236014855963816, - 1.7057555141289393 - ], - [ - 18.35006207196114, - 3.1238274221478175 - ], - [ - -15.36725231771717, - 1.387934706783133 - ], - [ - -15.54097534389374, - -0.6670467447534376 - ], - [ - 0.3688959711043456, - -0.17438609570499786 - ] - ] - }, - { - "type": "line", - "version": 2231, - "versionNonce": 1582477706, - "isDeleted": false, - "id": "i5s4OWEZ02x96QRl9KAgq", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 627.5967510169261, - "y": 304.6525442873836, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 24.65967091745729, - "height": 10.637051196030885, - "seed": 377363530, - "groupIds": [ - "1dCmpaR_6aNHoPDp8cA6L" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -0.26390072608214954, - -5.266439928393932 - ], - [ - -6.997999078476703, - -5.274542143668375 - ], - [ - -10.575705851809737, - -10.637051196030885 - ], - [ - 7.209814134937449, - -2.4179325297615386 - ], - [ - 14.083965065647554, - -6.184305173056867 - ], - [ - 0.7060501882022683, - -4.784936849226437 - ] - ] - }, - { - "type": "ellipse", - "version": 2959, - "versionNonce": 1787986966, - "isDeleted": false, - "id": "UlZOO2ekiKA8sdUKnL2SI", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 676.015040700001, - "y": 239.69825877759013, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 55.5018958676587, - "height": 51.08419650559211, - "seed": 1418201098, - "groupIds": [ - "asJn5qQ5-jfEmfFdK78Ft" - ], - "roundness": null, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false - }, - { - "type": "line", - "version": 3023, - "versionNonce": 551022666, - "isDeleted": false, - "id": "gO5XIAvSujeta8ko4alyK", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 703.145849966063, - "y": 293.0638257915795, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 2.723381724379938, - "height": 61.930947762807584, - "seed": 501470614, - "groupIds": [ - "asJn5qQ5-jfEmfFdK78Ft" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -2.723381724379938, - 61.930947762807584 - ] - ] - }, - { - "type": "line", - "version": 2979, - "versionNonce": 1830130006, - "isDeleted": false, - "id": "o_KVW7FQDlzzV0FhQe0TG", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 701.649898701141, - "y": 356.5330103234234, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 24.515632812786453, - "height": 37.76873089898643, - "seed": 52328138, - "groupIds": [ - "asJn5qQ5-jfEmfFdK78Ft" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 24.515632812786453, - 37.76873089898643 - ] - ] - }, - { - "type": "line", - "version": 2956, - "versionNonce": 1170691850, - "isDeleted": false, - "id": "PUgcWIoZdMNQrMhNCl9SF", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 697.0196736174885, - "y": 352.3185603638669, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 20.97627602976596, - "height": 35.086927521543586, - "seed": 490779350, - "groupIds": [ - "asJn5qQ5-jfEmfFdK78Ft" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -20.97627602976596, - 35.086927521543586 - ] - ] - }, - { - "type": "line", - "version": 3754, - "versionNonce": 1581577878, - "isDeleted": false, - "id": "wVXdaibrFqloCKrVwFXGa", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 702.6380960385732, - "y": 306.94104074801857, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 40.47473533519768, - "height": 20.865892343741145, - "seed": 1517882762, - "groupIds": [ - "asJn5qQ5-jfEmfFdK78Ft" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 18.60673419716477, - 13.683914799148056 - ], - [ - 33.21064628236198, - -6.883032608842589 - ], - [ - 40.47473533519768, - -7.181977544593087 - ] - ] - }, - { - "type": "line", - "version": 4172, - "versionNonce": 1302062538, - "isDeleted": false, - "id": "FYXwV0nqtM4RxXVeOHnr6", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 0, - "opacity": 100, - "angle": 0, - "x": 662.8871686262291, - "y": 299.14032510371925, - "strokeColor": "#000000", - "backgroundColor": "#ced4da", - "width": 37.772869676107796, - "height": 21.549781572354593, - "seed": 1871702038, - "groupIds": [ - "asJn5qQ5-jfEmfFdK78Ft" - ], - "roundness": { - "type": 2 - }, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 9.741371741017304, - 1.6861264404047913 - ], - [ - 21.9487128024392, - 21.549781572354593 - ], - [ - 37.772869676107796, - 9.328625461176804 - ] - ] - }, - { - "id": "Ha00mrXEKgmZ8yhxheMKh", - "type": "rectangle", - "x": 381, - "y": 212, - "width": 381, - "height": 220, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 457300694, - "version": 93, - "versionNonce": 750191562, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "e1Y4-3KWA_vIXptZgaKzE" - }, - { - "id": "ESPQaSw0BYF6yIiFH7Eiz", - "type": "arrow" - } - ], - "updated": 1677684471708, - "link": null, - "locked": false - }, - { - "id": "e1Y4-3KWA_vIXptZgaKzE", - "type": "text", - "x": 386, - "y": 403, - "width": 75.55000305175781, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 2146623754, - "version": 84, - "versionNonce": 1903205514, - "isDeleted": false, - "boundElements": null, - "updated": 1677684409199, - "link": null, - "locked": false, - "text": " Users", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "bottom", - "containerId": "Ha00mrXEKgmZ8yhxheMKh", - "originalText": " Users" - }, - { - "id": "pY9XwQyQ_oSYgENpD-Tq-", - "type": "arrow", - "x": 599, - "y": 431, - "width": 36.546301898752404, - "height": 127, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 282904854, - "version": 61, - "versionNonce": 1756090838, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "6Guk_PkIGLT6phX6uAwDe" - } - ], - "updated": 1677684514541, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -36.546301898752404, - 127 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": { - "elementId": "6idiTKAud2b3nFWpxz-rc", - "focus": -0.007058823529411765, - "gap": 12 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "6Guk_PkIGLT6phX6uAwDe", - "type": "text", - "x": 560.093515844447, - "y": 482.5, - "width": 41.266666412353516, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 926258326, - "version": 9, - "versionNonce": 1977113430, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029790, - "link": null, - "locked": false, - "text": "Visit", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "pY9XwQyQ_oSYgENpD-Tq-", - "originalText": "Visit" - }, - { - "id": "6idiTKAud2b3nFWpxz-rc", - "type": "rectangle", - "x": 341, - "y": 570, - "width": 425, - "height": 49, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 480047818, - "version": 47, - "versionNonce": 1314681622, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "aqJoenAMUqQqYH7IsGA25" - }, - { - "id": "pY9XwQyQ_oSYgENpD-Tq-", - "type": "arrow" - }, - { - "id": "B-cPw68POxMDVCwCuK4py", - "type": "arrow" - }, - { - "id": "E9dCAcUakwH1NhpjKnzu2", - "type": "arrow" - } - ], - "updated": 1677686187316, - "link": null, - "locked": false - }, - { - "id": "aqJoenAMUqQqYH7IsGA25", - "type": "text", - "x": 467.30833435058594, - "y": 582.5, - "width": 172.38333129882812, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 697806858, - "version": 42, - "versionNonce": 2007763082, - "isDeleted": false, - "boundElements": null, - "updated": 1677684513869, - "link": null, - "locked": false, - "text": "demo.hedgedoc.org", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "6idiTKAud2b3nFWpxz-rc", - "originalText": "demo.hedgedoc.org" - }, - { - "id": "H5MpNh4sstqFt-p-v85DF", - "type": "rectangle", - "x": 343, - "y": 641, - "width": 423, - "height": 41, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1277381770, - "version": 56, - "versionNonce": 692567830, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "HjzN819ohisTaXetg1wcd" - }, - { - "id": "ESPQaSw0BYF6yIiFH7Eiz", - "type": "arrow" - }, - { - "id": "nhb24zD2J0akLo7s-VD0U", - "type": "arrow" - }, - { - "id": "QsEdMk5cnaAxWmaCezO8Y", - "type": "arrow" - } - ], - "updated": 1677685006795, - "link": null, - "locked": false - }, - { - "id": "HjzN819ohisTaXetg1wcd", - "type": "text", - "x": 479.0999984741211, - "y": 649.5, - "width": 150.8000030517578, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1730578698, - "version": 30, - "versionNonce": 1438535574, - "isDeleted": false, - "boundElements": null, - "updated": 1677684513872, - "link": null, - "locked": false, - "text": "s3.hedgedoc.org", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "H5MpNh4sstqFt-p-v85DF", - "originalText": "s3.hedgedoc.org" - }, - { - "id": "ESPQaSw0BYF6yIiFH7Eiz", - "type": "arrow", - "x": 365, - "y": 446, - "width": 76, - "height": 215.25317721085423, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1680567958, - "version": 134, - "versionNonce": 124816458, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "Vd0UHhtjmBInR463Pv2FN" - } - ], - "updated": 1677684546000, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -76, - 182 - ], - [ - -32.31476588406605, - 215.25317721085423 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "Ha00mrXEKgmZ8yhxheMKh", - "focus": 0.6543886965211125, - "gap": 16 - }, - "endBinding": { - "elementId": "H5MpNh4sstqFt-p-v85DF", - "focus": -0.9289494388263997, - "gap": 10.314765884066048 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "Vd0UHhtjmBInR463Pv2FN", - "type": "text", - "x": 225.69166564941406, - "y": 616, - "width": 126.61666870117188, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1132633430, - "version": 18, - "versionNonce": 921578762, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029791, - "link": null, - "locked": false, - "text": "Implicitly use", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "ESPQaSw0BYF6yIiFH7Eiz", - "originalText": "Implicitly use" - }, - { - "id": "nhb24zD2J0akLo7s-VD0U", - "type": "arrow", - "x": 775, - "y": 666.9554323863823, - "width": 185, - "height": 83.1429447008785, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 2035363786, - "version": 148, - "versionNonce": 1881530954, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "IyXsV0ZV4xZF-12pwPlSR" - } - ], - "updated": 1677684779199, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 185, - -83.1429447008785 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "H5MpNh4sstqFt-p-v85DF", - "focus": 0.9017418735427238, - "gap": 9 - }, - "endBinding": { - "elementId": "onCiE9Ilo1n7BE0zcKzYZ", - "focus": 0.6260445682451254, - "gap": 14 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "IyXsV0ZV4xZF-12pwPlSR", - "type": "text", - "x": 824.6166648864746, - "y": 613.3839600359431, - "width": 85.76667022705078, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1674000906, - "version": 13, - "versionNonce": 404652182, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029791, - "link": null, - "locked": false, - "text": "forwards", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "nhb24zD2J0akLo7s-VD0U", - "originalText": "forwards" - }, - { - "id": "B-cPw68POxMDVCwCuK4py", - "type": "arrow", - "x": 776, - "y": 596.8298715727226, - "width": 186, - "height": 37.46409281727324, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1967848278, - "version": 147, - "versionNonce": 445057290, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "lCmios3O_n3casXdc25ZK" - } - ], - "updated": 1677684779201, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 186, - -37.46409281727324 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "6idiTKAud2b3nFWpxz-rc", - "focus": 0.694284448382809, - "gap": 10 - }, - "endBinding": { - "elementId": "onCiE9Ilo1n7BE0zcKzYZ", - "focus": 0.744602551521099, - "gap": 12 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "lCmios3O_n3casXdc25ZK", - "type": "text", - "x": 826.1166648864746, - "y": 566.097825164086, - "width": 85.76667022705078, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 327369238, - "version": 24, - "versionNonce": 1601698762, - "isDeleted": false, - "boundElements": null, - "updated": 1677685029791, - "link": null, - "locked": false, - "text": "forwards", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "B-cPw68POxMDVCwCuK4py", - "originalText": "forwards" - }, - { - "id": "wvZ7dc3g0HbRLoEzSZyXI", - "type": "rectangle", - "x": 1523, - "y": 378, - "width": 224, - "height": 50, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 116159242, - "version": 23, - "versionNonce": 297630090, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "xna_q4GDt7To9NcvYjJUi" - } - ], - "updated": 1677684561865, - "link": null, - "locked": false - }, - { - "id": "xna_q4GDt7To9NcvYjJUi", - "type": "text", - "x": 1544.6083297729492, - "y": 391, - "width": 180.78334045410156, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1531152086, - "version": 31, - "versionNonce": 1677496010, - "isDeleted": false, - "boundElements": null, - "updated": 1677684570163, - "link": null, - "locked": false, - "text": "database storage", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "wvZ7dc3g0HbRLoEzSZyXI", - "originalText": "database storage" - }, - { - "id": "sj5HWlSrwx-OHGTVFBaku", - "type": "rectangle", - "x": 1529, - "y": 455, - "width": 211, - "height": 44, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1391467222, - "version": 20, - "versionNonce": 1763396054, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "qyY29KmDBDNQE0jDsbtJq" - } - ], - "updated": 1677684577168, - "link": null, - "locked": false - }, - { - "id": "qyY29KmDBDNQE0jDsbtJq", - "type": "text", - "x": 1551.2916641235352, - "y": 465, - "width": 166.4166717529297, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1479798730, - "version": 21, - "versionNonce": 2037716566, - "isDeleted": false, - "boundElements": null, - "updated": 1677684588286, - "link": null, - "locked": false, - "text": "Minio/S3 storage", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "sj5HWlSrwx-OHGTVFBaku", - "originalText": "Minio/S3 storage" - }, - { - "id": "BPuiRxx1trM18dioDejgX", - "type": "rectangle", - "x": 1532, - "y": 524, - "width": 212, - "height": 34, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 510385046, - "version": 27, - "versionNonce": 2004696778, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "qxsBVnHy3LRp0ilsxmeBM" - } - ], - "updated": 1677684608229, - "link": null, - "locked": false - }, - { - "id": "qxsBVnHy3LRp0ilsxmeBM", - "type": "text", - "x": 1548.341667175293, - "y": 529, - "width": 179.31666564941406, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1239820246, - "version": 51, - "versionNonce": 2139917718, - "isDeleted": false, - "boundElements": null, - "updated": 1677684608228, - "link": null, - "locked": false, - "text": "docker-compose.yml", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "BPuiRxx1trM18dioDejgX", - "originalText": "docker-compose.yml" - }, - { - "id": "ilcJSBNVWYJOvkeNRIIbC", - "type": "rectangle", - "x": 1533, - "y": 581, - "width": 212, - "height": 58, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1740559754, - "version": 29, - "versionNonce": 1387025994, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "fMfaX26HxD0LGloKiEAYY" - } - ], - "updated": 1677684627102, - "link": null, - "locked": false - }, - { - "id": "fMfaX26HxD0LGloKiEAYY", - "type": "text", - "x": 1543.5833358764648, - "y": 586, - "width": 190.8333282470703, - "height": 48, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 552837526, - "version": 37, - "versionNonce": 176248150, - "isDeleted": false, - "boundElements": null, - "updated": 1677684629254, - "link": null, - "locked": false, - "text": "Certificates / \nTraefik persistence", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "ilcJSBNVWYJOvkeNRIIbC", - "originalText": "Certificates / Traefik persistence" - }, - { - "id": "caBK0pJgQK7phL2qcD7Mv", - "type": "rectangle", - "x": 979, - "y": 395, - "width": 290, - "height": 50, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1637366422, - "version": 57, - "versionNonce": 1478736714, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "VGKFQykR9WD6xoECrcGFn" - }, - { - "id": "tq_RdSkkq6QCQ8X9D97Eg", - "type": "arrow" - } - ], - "updated": 1677684840245, - "link": null, - "locked": false - }, - { - "id": "VGKFQykR9WD6xoECrcGFn", - "type": "text", - "x": 1017.6999969482422, - "y": 408, - "width": 212.60000610351562, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 181590410, - "version": 53, - "versionNonce": 745703050, - "isDeleted": false, - "boundElements": null, - "updated": 1677684829283, - "link": null, - "locked": false, - "text": "PostgreSQL container", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "caBK0pJgQK7phL2qcD7Mv", - "originalText": "PostgreSQL container" - }, - { - "id": "GZW1LNQ0aSLMTCPYJGm6D", - "type": "rectangle", - "x": 980, - "y": 747, - "width": 280, - "height": 49, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1934272726, - "version": 36, - "versionNonce": 525138442, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "GDZ64rqG2w4LDKGuXK8S7" - } - ], - "updated": 1677684772288, - "link": null, - "locked": false - }, - { - "id": "GDZ64rqG2w4LDKGuXK8S7", - "type": "text", - "x": 1064.5833320617676, - "y": 759.5, - "width": 110.83333587646484, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 382246410, - "version": 19, - "versionNonce": 60752790, - "isDeleted": false, - "boundElements": null, - "updated": 1677684772288, - "link": null, - "locked": false, - "text": "watchtower", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "GZW1LNQ0aSLMTCPYJGm6D", - "originalText": "watchtower" - }, - { - "id": "tq_RdSkkq6QCQ8X9D97Eg", - "type": "arrow", - "x": 967, - "y": 497, - "width": 44, - "height": 79, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1858502422, - "version": 27, - "versionNonce": 626692886, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "PsyNYOMiViSlATH2BCH8J" - } - ], - "updated": 1677684843120, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -43, - -37 - ], - [ - 1, - -79 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "cIuNFyJLQTW-jZmgYtsgk", - "focus": -0.8872270415794197, - "gap": 11 - }, - "endBinding": { - "elementId": "caBK0pJgQK7phL2qcD7Mv", - "focus": 0.9235048678720444, - "gap": 11 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "PsyNYOMiViSlATH2BCH8J", - "type": "text", - "x": 901.9833335876465, - "y": 448, - "width": 44.03333282470703, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 810496650, - "version": 7, - "versionNonce": 883203466, - "isDeleted": false, - "boundElements": null, - "updated": 1677684847434, - "link": null, - "locked": false, - "text": "uses", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "tq_RdSkkq6QCQ8X9D97Eg", - "originalText": "uses" - }, - { - "id": "QsEdMk5cnaAxWmaCezO8Y", - "type": "arrow", - "x": 1320, - "y": 1110, - "width": 566, - "height": 416, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 2116736202, - "version": 87, - "versionNonce": 1234994198, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "ORkdqIneypycQ02IaNdYF" - } - ], - "updated": 1677685008164, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -455, - -151 - ], - [ - -566, - -416 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "vU8M_MJE4CRaHRZhI9K1V", - "focus": -0.3536158728171567, - "gap": 13.500867423931368 - }, - "endBinding": { - "elementId": "H5MpNh4sstqFt-p-v85DF", - "focus": -0.8446067589115787, - "gap": 12 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "ORkdqIneypycQ02IaNdYF", - "type": "text", - "x": 711.9583282470703, - "y": 947, - "width": 306.0833435058594, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 256590998, - "version": 57, - "versionNonce": 1956197974, - "isDeleted": false, - "boundElements": null, - "updated": 1677685013561, - "link": null, - "locked": false, - "text": "Deploys (both) using Terraform", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "QsEdMk5cnaAxWmaCezO8Y", - "originalText": "Deploys (both) using Terraform" - }, - { - "id": "BqPk0CwdDOh4nclcZBnA2", - "type": "rectangle", - "x": 273, - "y": 1050, - "width": 544, - "height": 282, - "angle": 0, - "strokeColor": "#5c940d", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1894645206, - "version": 45, - "versionNonce": 1572705238, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "aAgnbfwddIlRj85_XP14w" - }, - { - "id": "txDPd-pLrQcvCNZXFTGoA", - "type": "arrow" - }, - { - "id": "GvOtS2yDv3FrNIdm-SzOV", - "type": "arrow" - } - ], - "updated": 1677686286152, - "link": null, - "locked": false - }, - { - "id": "aAgnbfwddIlRj85_XP14w", - "type": "text", - "x": 278, - "y": 1303, - "width": 137.21665954589844, - "height": 24, - "angle": 0, - "strokeColor": "#5c940d", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1519639754, - "version": 38, - "versionNonce": 427422294, - "isDeleted": false, - "boundElements": null, - "updated": 1677686127860, - "link": null, - "locked": false, - "text": " StatusCake", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "bottom", - "containerId": "BqPk0CwdDOh4nclcZBnA2", - "originalText": " StatusCake" - }, - { - "id": "q3k4kPk6JUR-1RG4VFYxi", - "type": "rectangle", - "x": 309, - "y": 1077, - "width": 468, - "height": 71, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 1226147338, - "version": 15, - "versionNonce": 1703058902, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "Wr2C5r1yqphDW1PoSccHl" - }, - { - "id": "E9dCAcUakwH1NhpjKnzu2", - "type": "arrow" - } - ], - "updated": 1677686187315, - "link": null, - "locked": false - }, - { - "id": "Wr2C5r1yqphDW1PoSccHl", - "type": "text", - "x": 470.7333297729492, - "y": 1100.5, - "width": 144.53334045410156, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1806942614, - "version": 17, - "versionNonce": 686055626, - "isDeleted": false, - "boundElements": null, - "updated": 1677686152222, - "link": null, - "locked": false, - "text": "Uptime Monitor", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "q3k4kPk6JUR-1RG4VFYxi", - "originalText": "Uptime Monitor" - }, - { - "id": "udGOt6XNLyRdJVHh1gzZA", - "type": "rectangle", - "x": 312, - "y": 1173, - "width": 463, - "height": 64, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 3 - }, - "seed": 245786838, - "version": 20, - "versionNonce": 1494616778, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "2B_QTmKtB4vn2IaNj2VgK" - }, - { - "id": "txDPd-pLrQcvCNZXFTGoA", - "type": "arrow" - } - ], - "updated": 1677686256801, - "link": null, - "locked": false - }, - { - "id": "2B_QTmKtB4vn2IaNj2VgK", - "type": "text", - "x": 480.28333282470703, - "y": 1193, - "width": 126.43333435058594, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1668642134, - "version": 13, - "versionNonce": 1791779722, - "isDeleted": false, - "boundElements": null, - "updated": 1677686166636, - "link": null, - "locked": false, - "text": "Push Monitor", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "udGOt6XNLyRdJVHh1gzZA", - "originalText": "Push Monitor" - }, - { - "id": "E9dCAcUakwH1NhpjKnzu2", - "type": "arrow", - "x": 488, - "y": 1062, - "width": 41, - "height": 262, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 390816330, - "version": 275, - "versionNonce": 1166542474, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "KEzkt7sDfdDwvgxJKAPBZ" - } - ], - "updated": 1677686226168, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 22, - -134 - ], - [ - 41, - -262 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "q3k4kPk6JUR-1RG4VFYxi", - "focus": -0.26390142203690453, - "gap": 15 - }, - "endBinding": { - "elementId": "PbdTU9ffYMkvnKNINamNc", - "focus": 0.05615653148299789, - "gap": 19 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "KEzkt7sDfdDwvgxJKAPBZ", - "type": "text", - "x": 226.80833435058594, - "y": 909, - "width": 172.38333129882812, - "height": 48, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 341536918, - "version": 38, - "versionNonce": 866128906, - "isDeleted": false, - "boundElements": null, - "updated": 1677686216056, - "link": null, - "locked": false, - "text": "Monitors \ndemo.hedgedoc.org", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "E9dCAcUakwH1NhpjKnzu2", - "originalText": "Monitors demo.hedgedoc.org" - }, - { - "id": "txDPd-pLrQcvCNZXFTGoA", - "type": "arrow", - "x": 1847, - "y": 943, - "width": 1061, - "height": 387, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 1003028246, - "version": 206, - "versionNonce": 1136230998, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "GZUnDupAeja_cvaiMkcjg" - } - ], - "updated": 1677686278740, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - -430, - 387 - ], - [ - -1061, - 272 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": { - "elementId": "udGOt6XNLyRdJVHh1gzZA", - "focus": -0.4609148874814427, - "gap": 11 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "GZUnDupAeja_cvaiMkcjg", - "type": "text", - "x": 2303.533332824707, - "y": 1226, - "width": 190.93333435058594, - "height": 48, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 407215702, - "version": 24, - "versionNonce": 500374282, - "isDeleted": false, - "boundElements": null, - "updated": 1677686251202, - "link": null, - "locked": false, - "text": "Notifies on success\n", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "txDPd-pLrQcvCNZXFTGoA", - "originalText": "Notifies on success\n" - }, - { - "id": "GvOtS2yDv3FrNIdm-SzOV", - "type": "arrow", - "x": 836, - "y": 1134, - "width": 490, - "height": 10, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": { - "type": 2 - }, - "seed": 274134538, - "version": 29, - "versionNonce": 1307958166, - "isDeleted": false, - "boundElements": [ - { - "type": "text", - "id": "ZNkWRNrj2-PaiENaM_gLu" - } - ], - "updated": 1677686287312, - "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 490, - 10 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "BqPk0CwdDOh4nclcZBnA2", - "focus": -0.42946664809915047, - "gap": 19 - }, - "endBinding": { - "elementId": "vU8M_MJE4CRaHRZhI9K1V", - "focus": -0.8783932357310605, - "gap": 7.500867423931368 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "ZNkWRNrj2-PaiENaM_gLu", - "type": "text", - "x": 999.3583297729492, - "y": 1127, - "width": 163.28334045410156, - "height": 24, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "roundness": null, - "seed": 1168417290, - "version": 20, - "versionNonce": 1041790998, - "isDeleted": false, - "boundElements": null, - "updated": 1677686295609, - "link": null, - "locked": false, - "text": "alerts via e-mail", - "fontSize": 20, - "fontFamily": 1, - "textAlign": "center", - "verticalAlign": "middle", - "containerId": "GvOtS2yDv3FrNIdm-SzOV", - "originalText": "alerts via e-mail" - } - ], - "appState": { - "gridSize": null, - "viewBackgroundColor": "#ffffff" - }, - "files": {} -} \ No newline at end of file diff --git a/terraform/hedgedoc-demo/schema.svg b/terraform/hedgedoc-demo/schema.svg deleted file mode 100644 index 2d9013378..000000000 --- a/terraform/hedgedoc-demo/schema.svg +++ /dev/null @@ -1,16 +0,0 @@ -<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2064.308334350586 1162" width="2064.308334350586" height="1162"> - <!-- svg-source:excalidraw --> - - <defs> - <style class="style-fonts"> - @font-face { - font-family: "Virgil"; - src: url("https://excalidraw.com/Virgil.woff2"); - } - @font-face { - font-family: "Cascadia"; - src: url("https://excalidraw.com/Cascadia.woff2"); - } - </style> - </defs> - <rect x="0" y="0" width="2064.308334350586" height="1162" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(691.3083343505859 83) rotate(0 446.5 308)"><path d="M32 0 M32 0 C356.49 -2.48, 680.66 -3.66, 861 0 M32 0 C199.97 -0.68, 368.02 -0.67, 861 0 M861 0 C881.22 -1.49, 894.1 10.85, 893 32 M861 0 C880.38 -1.25, 890.83 11.31, 893 32 M893 32 C892.75 199.97, 892.28 369.3, 893 584 M893 32 C891.47 177.06, 891.45 321.96, 893 584 M893 584 C891.89 604.21, 883.25 616.05, 861 616 M893 584 C891.94 606.73, 884.42 617.13, 861 616 M861 616 C638.23 617.97, 416.38 618.85, 32 616 M861 616 C600.39 615.21, 339.74 614.96, 32 616 M32 616 C11.68 615.66, 1.67 603.63, 0 584 M32 616 C10.32 614.81, 1.13 603.45, 0 584 M0 584 C2.61 443.57, 2.51 302.78, 0 32 M0 584 C0.4 407.18, 0.41 229.64, 0 32 M0 32 C1 9.62, 9.28 -1.43, 32 0 M0 32 C2.11 11.17, 9.05 0.88, 32 0" stroke="#a61e4d" stroke-width="1" fill="none"></path></g><g transform="translate(696.3083343505859 670) rotate(0 87.64167022705078 12)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#a61e4d" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"> Hetzner Project</text></g><g stroke-linecap="round" transform="translate(100.30833435058594 304) rotate(0 251.5 137.5)"><path d="M32 0 M32 0 C183.32 1.57, 332.94 1.38, 471 0 M32 0 C204.13 1.15, 376.1 1.05, 471 0 M471 0 C491.98 -1.08, 504.72 11.81, 503 32 M471 0 C490.07 0.84, 500.84 10.04, 503 32 M503 32 C501.17 79.33, 501.24 127.05, 503 243 M503 32 C502.41 89.35, 502.37 147.6, 503 243 M503 243 C502.06 265.76, 491.59 275.45, 471 275 M503 243 C504 263.42, 491.09 276.6, 471 275 M471 275 C348.27 274.97, 227.72 276, 32 275 M471 275 C370.65 275.82, 269.53 275.67, 32 275 M32 275 C10.73 276.34, 0.11 263.55, 0 243 M32 275 C10.74 274.6, 2.1 265.38, 0 243 M0 243 C-0.32 194.94, -0.1 145.65, 0 32 M0 243 C0.03 165.44, -0.39 86.32, 0 32 M0 32 C-0.32 9.31, 12.24 1.07, 32 0 M0 32 C0.37 10.94, 8.45 1.86, 32 0" stroke="#e67700" stroke-width="1" fill="none"></path></g><g transform="translate(105.30833435058594 550) rotate(0 59.91666793823242 12)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e67700" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"> Cloudflare</text></g><g stroke-linecap="round" transform="translate(1529.308334350586 847) rotate(0 262.5 100)"><path d="M32 0 M32 0 C161.42 1.58, 291.12 1.68, 493 0 M32 0 C163.98 0.75, 296.83 1.14, 493 0 M493 0 C514.05 -1.77, 524.68 12.67, 525 32 M493 0 C515.25 1.08, 525.42 8.71, 525 32 M525 32 C526.86 61.17, 527.58 94.69, 525 168 M525 32 C525.94 74.12, 525.18 117.91, 525 168 M525 168 C526.2 189.43, 512.92 199.27, 493 200 M525 168 C523.46 189.16, 513.35 200.25, 493 200 M493 200 C389.12 201.71, 287.85 200.65, 32 200 M493 200 C385.76 198.55, 278.3 198.52, 32 200 M32 200 C12.52 198.75, -0.9 187.58, 0 168 M32 200 C11.28 198.37, 1.11 187.77, 0 168 M0 168 C-2.56 115.8, 0.96 63.32, 0 32 M0 168 C-0.73 116.46, -0.56 64.66, 0 32 M0 32 C-1.53 12.11, 10.83 -0.95, 32 0 M0 32 C-1.83 12.15, 12.62 1.03, 32 0" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(1534.308334350586 1018) rotate(0 59.38333511352539 12)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#c92a2a" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"> Backblaze</text></g><g stroke-linecap="round" transform="translate(1123.2191175092064 884.577743674085) rotate(0 48.98979248633407 27.951231295883872)"><path d="M0.56 1.42 C20.66 0.88, 41.89 -1.21, 97.35 -0.58 M0.88 -0.97 C35.14 1.83, 70.81 0.72, 97.85 0.61 M97.07 0.15 C99.5 18.05, 96.8 34.24, 97.54 57.37 M97.62 -0.28 C97.32 17.34, 97.55 35.82, 97.28 56.01 M98.51 55.16 C75.94 56.82, 58.03 55.38, -1.75 54.16 M98.51 55.8 C72.23 56.75, 46.48 55.71, 0.16 56.75 M-1.63 56.79 C-1.48 42.04, -1.96 28.96, -0.95 -1.83 M0.48 56.89 C1.27 36.04, 0.46 15.63, 0.55 0.44" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(1117.8092017745173 877.3645226945018) rotate(0 54.39970822102123 34.563350527168154)"><path d="M1.42 -1.09 C26.6 -1.91, 50.44 -0.94, 108.22 1.31 M-0.97 -0.69 C39.45 -1.79, 76.81 -1.09, 109.41 0.23 M108.95 1.61 C108.62 18.51, 106.73 38.75, 110.26 69.5 M108.52 -0.55 C108.97 19.16, 109.63 38.27, 108.9 68.25 M108.05 67.85 C78.78 71, 45.51 67.67, -1.74 68.4 M108.7 69.23 C86.65 69.9, 62.59 69.86, 0.85 68.7 M0.89 68.12 C0.79 41.12, 2.11 15.15, -1.83 1.25 M0.99 70.12 C0.52 51.94, 0.36 34.93, 0.44 -0.71" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(1123.5196683833522 951.8009558588092) rotate(0 2.836422660744688 0.05750696725249327)"><path d="M-0.31 0.19 C1.12 -0.43, 2.97 -0.2, 5.98 0.3 M-0.19 0.27 C0.96 0.01, 2.34 0.22, 5.68 -0.05" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1170.4056047506442 951.4002213599433) rotate(0 3.0512840413222193 -0.2364831899476485)"><path d="M0.19 -0.45 C1.45 -0.15, 3.52 0.4, 5.91 -0.49 M0.27 -0.23 C2.14 0, 4.53 0.1, 5.56 -0.06" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1146.3615348187027 951.4002213599433) rotate(0 2.5505051853004943 0.05100355535478229)"><path d="M-0.45 -0.39 C1.9 -0.18, 4.53 0.28, 5.12 0.5 M-0.23 -0.04 C1.1 0.12, 2.34 -0.1, 5.55 -0.13" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1193.2474711859895 950.9994868610775) rotate(0 2.8561450474147705 -0.2528842912882965)"><path d="M-0.39 -0.18 C1.22 0.41, 3.06 -0.45, 6.11 -0.54 M-0.04 -0.04 C1.47 0.11, 2.55 -0.01, 5.48 0.02" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1135.1409688504596 951.8009558588092) rotate(0 2.7270914510054354 -0.0622597323597347)"><path d="M-0.18 -0.16 C2.24 0.34, 3.26 0.53, 5.07 -0.38 M-0.04 0.17 C2.29 -0.04, 4.4 -0.12, 5.63 0.23" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1182.0269052177487 951.4002213599429) rotate(0 2.83714773140116 0.14191225645890881)"><path d="M-0.16 0.37 C1.53 -0.48, 2.96 -0.53, 5.23 0.55 M0.17 0.07 C1.17 -0.05, 2.31 0.03, 5.84 0" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1157.9828352858067 951.4002213599438) rotate(0 3.111022196117119 -0.06589894983790145)"><path d="M0.37 0.3 C0.8 0.51, 2.04 -0.37, 6.16 -0.47 M0.07 -0.05 C1.54 -0.16, 3.23 0.19, 5.61 -0.15" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1204.868771653099 950.9994868610775) rotate(0 2.705928669444802 -0.20119104737250382)"><path d="M0.3 -0.49 C2 -0.58, 2.63 0.51, 5.15 -0.08 M-0.05 -0.06 C1.48 0.01, 3.45 -0.02, 5.46 -0.27" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1216.089337621337 951.4002213599433) rotate(0 2.5188960347545617 0.08836452137893502)"><path d="M-0.49 0.5 C0.98 -0.41, 3.59 -0.5, 5.53 -0.07 M-0.06 -0.13 C2.04 0.24, 4.04 -0.14, 5.34 -0.06" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1129.53068586634 957.8119733417943) rotate(0 2.710101081863627 -0.10166437375698933)"><path d="M0.5 -0.54 C1.67 0.6, 3.64 -0.03, 5.54 0.34 M-0.13 0.02 C2.04 0.01, 3.48 -0.26, 5.55 0.21" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1119.5123233946981 957.8119733417948) rotate(0 2.703477118302999 -0.09199386768716522)"><path d="M-0.54 -0.38 C2.53 -0.51, 3.89 -0.12, 5.95 0.13 M0.02 0.23 C1.59 -0.13, 2.91 -0.04, 5.82 0.05" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1176.4166222336294 957.4112388429294) rotate(0 2.6786820796899065 0.2266205009876785)"><path d="M-0.38 0.55 C0.72 -0.02, 2.31 0.4, 5.74 -0.09 M0.23 0 C1.41 -0.27, 3.06 0.2, 5.66 -0.05" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1152.3725523016838 957.4112388429294) rotate(0 2.7774810972210844 -0.10416244057273616)"><path d="M0.55 -0.47 C2.1 -0.03, 4.7 0.17, 5.52 -0.12 M0 -0.15 C1.16 -0.11, 3.06 0.01, 5.56 0.26" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1199.2584886689738 957.0105043440635) rotate(0 2.700979051487252 -0.1023730498994837)"><path d="M-0.47 -0.08 C1.07 0.29, 2.41 -0.15, 5.49 -0.26 M-0.15 -0.27 C1.66 0.21, 3.5 -0.05, 5.87 -0.1" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1141.1519863334447 957.8119733417948) rotate(0 2.6205228863396997 0.023734635635378254)"><path d="M-0.08 -0.07 C1.64 0.18, 2.5 -0.07, 5.35 0.04 M-0.27 -0.06 C2.34 0.08, 4.22 0.29, 5.51 -0.08" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1188.0379227007375 957.4112388429294) rotate(0 2.790168340278342 0.1483535802856295)"><path d="M-0.07 0.34 C2.36 -0.08, 4.34 -0.25, 5.65 0.45 M-0.06 0.21 C1.73 0, 3.6 -0.05, 5.53 -0.16" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1163.9938527687914 957.4112388429285) rotate(0 3.1340113781291166 0.0002072925869924802)"><path d="M0.34 0.13 C1.13 -0.11, 2.18 0.05, 6.06 -0.01 M0.21 0.05 C1.33 0.27, 2.66 -0.07, 5.45 -0.13" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1210.8797891360819 957.0105043440631) rotate(0 2.8266800669518943 -0.13764153472766338)"><path d="M0.13 -0.09 C1.48 -0.29, 3.25 0.42, 5.6 -0.3 M0.05 -0.05 C1.4 -0.14, 2.21 -0.2, 5.48 -0.09" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1222.1003551043195 957.4112388429289) rotate(0 2.7128525859667434 -0.14078530917004173)"><path d="M-0.09 -0.12 C1.35 0.03, 3.67 -0.02, 5.31 -0.54 M-0.05 0.26 C1.46 -0.09, 2.96 -0.14, 5.52 0.05" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1135.5417033493277 963.8229908247808) rotate(0 2.772559005519952 -0.09865485447278388)"><path d="M-0.12 -0.26 C2.07 0.46, 4.04 -0.29, 5.07 -0.12 M0.26 -0.1 C2.01 -0.15, 4.06 -0.08, 5.67 -0.2" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1125.5233408776828 963.8229908247804) rotate(0 2.6150606716672655 0.13438903743735864)"><path d="M-0.26 0.04 C2.27 0, 3.32 -0.53, 5.49 0.41 M-0.1 -0.08 C1.63 -0.18, 3.48 0, 5.41 0.03" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1205.2695061519603 963.0215218270496) rotate(0 2.9707844178996083 0.10271908703555255)"><path d="M0.04 0.45 C1.58 -0.28, 2.64 -0.1, 6.02 0.1 M-0.08 -0.16 C1.45 -0.07, 3.22 -0.18, 5.64 -0.25" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1152.6830530818743 964.3270041034439) rotate(0 20.689142349082772 -0.6311810813081138)"><path d="M1.61 -0.03 C10.5 -2.19, 22.72 0.95, 41.93 -1.23 M-0.55 -0.47 C15.95 -0.03, 31.85 -0.46, 40.68 -0.94" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1216.890806619067 963.0215218270491) rotate(0 2.729144381648098 0.10486190672156681)"><path d="M-0.01 -0.3 C0.89 -0.17, 3.26 0.06, 5.51 0.51 M-0.13 -0.09 C1.54 -0.17, 3 -0.22, 5.59 -0.25" stroke="#000000" stroke-width="4" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1106.625461182384 968.9871918024123) rotate(0 69.50052143743812 -10.694584826112305)"><path d="M-1.08 -1.92 C42.08 1.49, 85.41 -0.34, 140.08 -0.71 M-0.33 0.2 C36.85 0.75, 74.23 0.57, 137.35 0.26 M139.84 0.37 C132.54 -7.28, 129.45 -13, 122.6 -20.58 M138.45 -0.17 C133.86 -5.28, 128.75 -11.57, 122.27 -22.46 M121.14 -19.77 C83.78 -23.38, 48.07 -22.73, 12.25 -21.29 M122.81 -21.41 C79.26 -21.01, 34.09 -21.34, 12.29 -21.91 M11.75 -20.75 C8.71 -14.4, 5.96 -7.95, 1.21 1.18 M12.5 -22.57 C8.8 -16.02, 4.94 -9.26, -0.89 0.61" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1105.2862486849658 967.8303358134381) rotate(0 69.12670105433631 1.402570746030051)"><path d="M-1.92 -0.44 C54.09 1.12, 104.88 2.58, 137.54 -0.57 M0.2 -0.7 C33.91 -0.43, 67.54 -0.45, 138.52 -0.37 M138.3 -0.24 C138.03 0.56, 138.03 1.32, 138.4 2.78 M138.23 0.02 C138.4 0.81, 138.39 1.69, 138.14 2.87 M140.12 1.86 C101.94 3.02, 68.31 1.4, 0.95 4.79 M138.48 3.35 C83.42 2.36, 28.05 2.73, 0.33 3.03 M0.21 2.84 C0.09 2.31, -0.02 1.55, 0.17 -0.05 M-0.05 2.76 C0.01 1.78, 0.07 0.81, 0.09 0.1" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1124.308334350586 1003) rotate(0 44.11666488647461 12)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Operator</text></g><g mask="url(#mask-oF2GZnRMkWocVGHeOxR6_)" stroke-linecap="round"><g transform="translate(1104.308334350586 868) rotate(0 -36.74870337220659 -114.10201453562075)"><path d="M-0.52 0.89 C-12.77 -37.01, -61.91 -189.09, -74.03 -227.18 M1.4 0.31 C-10.94 -37.98, -62.41 -191.32, -74.9 -229.1" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1104.308334350586 868) rotate(0 -36.74870337220659 -114.10201453562075)"><path d="M-54.76 -205.34 C-60.39 -210.07, -65.84 -216.41, -73.71 -229.43 M-56.58 -205.92 C-62.43 -214.08, -68.2 -222.22, -74.29 -228.39" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1104.308334350586 868) rotate(0 -36.74870337220659 -114.10201453562075)"><path d="M-74.23 -198.85 C-74.92 -205.14, -75.43 -213.13, -73.71 -229.43 M-76.05 -199.43 C-75.37 -209.74, -74.63 -220.04, -74.29 -228.39" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-oF2GZnRMkWocVGHeOxR6_"><rect x="0" y="0" fill="#fff" width="1278.4937240240315" height="1195.5654480054172"></rect><rect x="997.7323097409139" y="730.2172759972914" fill="#000" width="138.96665954589844" height="48" opacity="1"></rect></mask><g transform="translate(997.7323097409139 730.2172759972914) rotate(0 69.82732123746541 23.680709467087866)"><text x="69.48332977294922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Deploys using </text><text x="69.48332977294922" y="24" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Terraform</text></g><g stroke-linecap="round" transform="translate(725.3083343505859 113) rotate(0 181.5 252.5)"><path d="M32 0 M32 0 C135.12 0.71, 235.64 -0.02, 331 0 M32 0 C141.87 -1.54, 251.06 -0.65, 331 0 M331 0 C350.99 0.21, 363.81 11.89, 363 32 M331 0 C352.11 -0.02, 360.72 10.48, 363 32 M363 32 C361.71 153.17, 362.43 273.89, 363 473 M363 32 C363.5 179.89, 363.04 327.13, 363 473 M363 473 C362.93 495.43, 351.87 504.85, 331 505 M363 473 C361.84 495.27, 351.65 505.82, 331 505 M331 505 C236.27 503.19, 138.99 504.27, 32 505 M331 505 C269.27 506.54, 208.85 506.37, 32 505 M32 505 C11.71 504.86, 1.4 495.3, 0 473 M32 505 C9.17 506.58, -1.85 493.79, 0 473 M0 473 C2.5 311.63, 1.73 149.34, 0 32 M0 473 C-1.54 347.21, -1.83 221.75, 0 32 M0 32 C0.53 9.54, 11.79 -1.69, 32 0 M0 32 C-0.33 9.39, 10.33 1.29, 32 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(846 118) rotate(0 60.80833435058594 12)"><text x="60.80833435058594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">cx11 instance</text></g><g stroke-linecap="round" transform="translate(1283.308334350586 117) rotate(0 133 267.5)"><path d="M32 0 M32 0 C110.68 2.86, 187.84 3.49, 234 0 M32 0 C103.27 0.27, 173.83 0.53, 234 0 M234 0 C256.31 0.76, 265.57 12.35, 266 32 M234 0 C256.24 -0.72, 266.46 9.99, 266 32 M266 32 C264.17 168.99, 264.79 305.18, 266 503 M266 32 C264.2 189.51, 264.49 347.5, 266 503 M266 503 C267.57 524.53, 256.73 536.48, 234 535 M266 503 C266.72 524.67, 253.9 536.63, 234 535 M234 535 C194.09 533.1, 152.19 535.36, 32 535 M234 535 C155.21 534.2, 74.78 535.21, 32 535 M32 535 C9.61 536.42, -1.45 525.29, 0 503 M32 535 C11.92 533.08, -2.16 523.41, 0 503 M0 503 C2.53 334.73, 2.33 168.54, 0 32 M0 503 C0.77 316.61, 0.54 129.94, 0 32 M0 32 C1.61 12.5, 8.96 -1.82, 32 0 M0 32 C0.33 8.53, 10.23 2.13, 32 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1385.4833335876465 122) rotate(0 30.825000762939453 12)"><text x="30.825000762939453" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Volume</text></g><g mask="url(#mask-1yvME6mequElcZh4YvE0D)" stroke-linecap="round"><g transform="translate(1229.8117345114679 870.3626890385315) rotate(0 68.01507043568745 -103.58180769578428)"><path d="M1.11 0.82 C23.93 -33.81, 113.21 -173.45, 135.79 -207.98 M0.24 0.2 C22.95 -34.25, 111.97 -172.04, 134.6 -206.77" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1229.8117345114679 870.3626890385315) rotate(0 68.01507043568745 -103.58180769578428)"><path d="M129.23 -178.31 C128.28 -183.07, 132.36 -190.39, 136.38 -208.3 M127.02 -177.26 C129.61 -184.15, 131.29 -190.76, 133.9 -206.69" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1229.8117345114679 870.3626890385315) rotate(0 68.01507043568745 -103.58180769578428)"><path d="M112.02 -189.48 C114.61 -192.08, 122.26 -197.09, 136.38 -208.3 M109.8 -188.43 C116.12 -192.94, 121.45 -197.18, 133.9 -206.69" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-1yvME6mequElcZh4YvE0D"><rect x="0" y="0" fill="#fff" width="1466.072183777545" height="1177.7253780770627"></rect><rect x="1228.4586293715574" y="742.6813445192658" fill="#000" width="138.96665954589844" height="48" opacity="1"></rect></mask><g transform="translate(1228.4586293715572 742.6813445192658) rotate(0 69.36817557559812 24.099536823481344)"><text x="69.48332977294922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Deploys using </text><text x="69.48332977294922" y="24" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Terrafrom</text></g><g mask="url(#mask-HguRpUUWuof0kzG94vIwa)" stroke-linecap="round"><g transform="translate(1569.308334350586 550.6752612579857) rotate(0 115.85771992152615 150.5449975273125)"><path d="M0.87 -0.29 C39.07 49.94, 191.32 252.21, 229.58 302.58 M-0.14 -1.49 C38.41 48.87, 193.55 249.83, 231.85 300.6" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1569.308334350586 550.6752612579857) rotate(0 115.85771992152615 150.5449975273125)"><path d="M206.09 283.03 C215.51 289.62, 222.85 295.43, 230.46 300.79 M206.97 284.49 C213.03 288.02, 218.44 293.32, 231.44 301.49" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1569.308334350586 550.6752612579857) rotate(0 115.85771992152615 150.5449975273125)"><path d="M222.39 270.57 C226.56 281.39, 228.51 291.31, 230.46 300.79 M223.28 272.03 C225.34 278.51, 226.8 286.83, 231.44 301.49" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-HguRpUUWuof0kzG94vIwa"><rect x="0" y="0" fill="#fff" width="1899.7332759804103" height="953"></rect><rect x="1604.037475392549" y="689.837630628993" fill="#000" width="160.96665954589844" height="24" opacity="1"></rect></mask><g transform="translate(1604.037475392549 689.8376306289929) rotate(0 81.12857887956318 11.382628156305259)"><text x="80.48332977294922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Is backed up to</text></g><g stroke-linecap="round" transform="translate(1567.308334350586 872) rotate(0 228.5 43.5)"><path d="M21.75 0 M21.75 0 C132.83 1.38, 245.55 0.83, 435.25 0 M21.75 0 C166.91 -1.28, 311.87 -0.92, 435.25 0 M435.25 0 C448.81 -0.97, 455.62 5.74, 457 21.75 M435.25 0 C450.78 0.62, 455.65 5.43, 457 21.75 M457 21.75 C454.98 37.84, 456.67 54.53, 457 65.25 M457 21.75 C457.26 34.14, 456.81 48.02, 457 65.25 M457 65.25 C455.64 78.29, 449.44 86.85, 435.25 87 M457 65.25 C456.41 77.48, 450.99 85.03, 435.25 87 M435.25 87 C307.3 87.06, 180.98 86.96, 21.75 87 M435.25 87 C345.79 87.48, 255.5 87.9, 21.75 87 M21.75 87 C6.68 88.02, -1.89 80.66, 0 65.25 M21.75 87 C5.84 88.63, 0.22 79.88, 0 65.25 M0 65.25 C1.01 54.51, -1.14 46.6, 0 21.75 M0 65.25 C-0.48 49.45, -0.39 34.37, 0 21.75 M0 21.75 C-0.92 5.3, 7.35 -1.79, 21.75 0 M0 21.75 C-0.68 7.68, 8.55 -1.37, 21.75 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1744.658332824707 903.5) rotate(0 51.150001525878906 12)"><text x="51.150001525878906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B2 bucket</text></g><g mask="url(#mask-OqZf83VG83rLyWmKQnjSi)" stroke-linecap="round"><g transform="translate(1107.308334350586 134.46245553501115) rotate(0 81.81064852699637 42.92024805352054)"><path d="M1.49 -1.22 C28.16 13.19, 135.63 72.44, 162.13 87.06" stroke="#000000" stroke-width="1.5" fill="none" stroke-dasharray="8 9"></path></g><g transform="translate(1107.308334350586 134.46245553501115) rotate(0 81.81064852699637 42.92024805352054)"><path d="M130.74 85.49 C144.82 84.57, 155.15 88.96, 161.18 86.41" stroke="#000000" stroke-width="1.5" fill="none"></path></g><g transform="translate(1107.308334350586 134.46245553501115) rotate(0 81.81064852699637 42.92024805352054)"><path d="M140.65 67.52 C151.1 73.42, 157.72 84.54, 161.18 86.41" stroke="#000000" stroke-width="1.5" fill="none"></path></g></g><mask id="mask-OqZf83VG83rLyWmKQnjSi"><rect x="0" y="0" fill="#fff" width="1367.308334350586" height="320.67285835810094"></rect><rect x="1124.5666694641113" y="165.56765694655604" fill="#000" width="125.48332977294922" height="24" opacity="1"></rect></mask><g transform="translate(1124.5666694641113 165.56765694655604) rotate(0 64.55231341347098 11.815046641975641)"><text x="62.74166488647461" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">As attached</text></g><g mask="url(#mask-c9SAPd76mFSG9wTKOKUHV)" stroke-linecap="round"><g transform="translate(800.9234340017613 98) rotate(0 -70.80931647512625 19.33873452509215)"><path d="M-0.58 0.96 C-23.61 -4.43, -123.04 -44.48, -138.32 -32.42 C-153.59 -20.35, -99.81 55.82, -92.24 73.35" stroke="#000000" stroke-width="1.5" fill="none" stroke-dasharray="8 9"></path></g><g transform="translate(800.9234340017613 98) rotate(0 -70.80931647512625 19.33873452509215)"><path d="M-113.53 52.8 C-109.31 60.25, -102.81 64.74, -94 72.53" stroke="#000000" stroke-width="1.5" fill="none"></path></g><g transform="translate(800.9234340017613 98) rotate(0 -70.80931647512625 19.33873452509215)"><path d="M-95.72 42.62 C-96.58 52.88, -95.17 60.29, -94 72.53" stroke="#000000" stroke-width="1.5" fill="none"></path></g></g><mask id="mask-c9SAPd76mFSG9wTKOKUHV"><rect x="0" y="0" fill="#fff" width="1038.5385336529366" height="303.7949860785544"></rect><rect x="553.375" y="54" fill="#000" width="219.86666870117188" height="24" opacity="1"></rect></mask><g transform="translate(553.375 54) rotate(0 176.73911752663503 63.33873452509215)"><text x="109.93333435058594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Is frequently replaced</text></g><g stroke-linecap="round" transform="translate(762.3083343505859 264) rotate(0 147 29)"><path d="M14.5 0 M14.5 0 C100.1 0.59, 183.58 0.56, 279.5 0 M14.5 0 C88.42 0.88, 161.62 1.4, 279.5 0 M279.5 0 C289.66 -0.4, 295.91 5.59, 294 14.5 M279.5 0 C290.71 -1.67, 293.97 5.18, 294 14.5 M294 14.5 C294.8 23.3, 295.67 33.87, 294 43.5 M294 14.5 C293.99 24.09, 293.76 33.13, 294 43.5 M294 43.5 C295.24 53.44, 289.36 59.41, 279.5 58 M294 43.5 C293.34 54.13, 290.37 57.85, 279.5 58 M279.5 58 C179.1 57.48, 75.27 58.57, 14.5 58 M279.5 58 C209.31 60.62, 140.81 60.56, 14.5 58 M14.5 58 C5.65 56.49, 0.69 51.95, 0 43.5 M14.5 58 C4.33 59, 1.04 55.04, 0 43.5 M0 43.5 C-0.62 36.26, -1.64 25.12, 0 14.5 M0 43.5 C-0.89 32.03, 0.48 22, 0 14.5 M0 14.5 C1.01 6.58, 3.99 1.83, 14.5 0 M0 14.5 C-0.39 3.55, 4.47 -1.1, 14.5 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(816.75 281) rotate(0 92.55833435058594 12)"><text x="92.55833435058594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Hedgedoc container</text></g><g stroke-linecap="round" transform="translate(758.3083343505859 414) rotate(0 149.5 24.5)"><path d="M12.25 0 M12.25 0 C122.56 -0.2, 231.93 1.8, 286.75 0 M12.25 0 C71.22 -0.5, 128.33 -0.55, 286.75 0 M286.75 0 C293.7 -0.44, 299.87 4.99, 299 12.25 M286.75 0 C296.79 -0.22, 298.02 2.24, 299 12.25 M299 12.25 C297.6 20.09, 300.79 26.87, 299 36.75 M299 12.25 C298.79 18.5, 299.69 23.32, 299 36.75 M299 36.75 C300.83 44.58, 293.8 48.68, 286.75 49 M299 36.75 C297.9 46.26, 293.13 46.93, 286.75 49 M286.75 49 C178.03 50.38, 69.33 49.4, 12.25 49 M286.75 49 C182.14 50.19, 78.5 50.64, 12.25 49 M12.25 49 C3.16 50.18, -0.62 43.39, 0 36.75 M12.25 49 C2.23 47.4, -0.02 44.95, 0 36.75 M0 36.75 C-1.23 29.45, -2.1 17.15, 0 12.25 M0 36.75 C-1 29.71, -0.63 20.69, 0 12.25 M0 12.25 C1.56 4.39, 6.02 -1.55, 12.25 0 M0 12.25 C1.96 2.29, 1.89 -0.66, 12.25 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(836.3916702270508 426.5) rotate(0 71.41666412353516 12)"><text x="71.41666412353516" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Minio container</text></g><g stroke-linecap="round" transform="translate(758.3083343505859 341) rotate(0 152 24)"><path d="M12 0 M12 0 C73.43 1.24, 136.2 0.63, 292 0 M12 0 C81.54 2.18, 152.47 2.51, 292 0 M292 0 C298.39 1.62, 303.13 3.28, 304 12 M292 0 C301.79 0.35, 306.22 2.22, 304 12 M304 12 C303.24 19.99, 302.13 30.84, 304 36 M304 12 C303 21.05, 304.21 28.2, 304 36 M304 36 C305.65 42.24, 298.65 47.99, 292 48 M304 36 C305.88 42.91, 300.14 48, 292 48 M292 48 C186.71 47.62, 77.14 47.3, 12 48 M292 48 C182.13 47.99, 71.9 47.74, 12 48 M12 48 C3.42 46.14, -0.27 43.08, 0 36 M12 48 C3.92 48.45, 0.41 46.11, 0 36 M0 36 C-2.04 30.37, 0.09 21.29, 0 12 M0 36 C0.38 28.05, 0.05 20.95, 0 12 M0 12 C0.14 2.51, 5.54 -1.39, 12 0 M0 12 C0.18 3.26, 4.93 0.15, 12 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(823.3250045776367 353) rotate(0 86.98332977294922 12)"><text x="86.98332977294922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Traefik Container</text></g><g mask="url(#mask-lbLJbhlN4lT7EWrRtLgnp)" stroke-linecap="round"><g transform="translate(1051.360032294344 396.909615235405) rotate(0 45.84105692976516 35.643022347648014)"><path d="M-0.08 -0.04 C15.26 10.97, 89.98 54.16, 93.15 65.46 C96.31 76.76, 31.45 67.33, 18.93 67.74 M-1.58 -1.1 C13.52 10.1, 89.03 55, 92.3 66.66 C95.58 78.33, 30.5 68.5, 18.06 68.88" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1051.360032294344 396.909615235405) rotate(0 45.84105692976516 35.643022347648014)"><path d="M46.84 60.95 C34.49 63.52, 23.65 65.22, 17.79 67.96 M47.82 60.75 C38.6 63.35, 28.81 66.52, 18.13 69.04" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1051.360032294344 396.909615235405) rotate(0 45.84105692976516 35.643022347648014)"><path d="M45.4 81.42 C33.72 75.96, 23.44 69.63, 17.79 67.96 M46.38 81.22 C37.55 77.74, 28.18 74.84, 18.13 69.04" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-lbLJbhlN4lT7EWrRtLgnp"><rect x="0" y="0" fill="#fff" width="1244.308334350586" height="565"></rect><rect x="1101.4249992370605" y="451" fill="#000" width="85.76667022705078" height="24" opacity="1"></rect></mask><g transform="translate(1101.4249992370605 451) rotate(0 -4.223910012951478 -18.447362416946987)"><text x="42.88333511352539" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">forwards</text></g><g mask="url(#mask-8-6qs3st7jOFAavqLUZ8W)" stroke-linecap="round"><g transform="translate(1073.308334350586 370.8125278823676) rotate(0 32.987729498177146 -39.22568828337813)"><path d="M-0.84 0.09 C11.08 -6.28, 71.13 -24.22, 70.62 -37.33 C70.1 -50.44, 8.65 -71.77, -3.92 -78.54 M0.93 -0.9 C12.73 -7.72, 70.39 -26.48, 69.47 -39.2 C68.54 -51.91, 7.76 -70.36, -4.64 -77.2" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1073.308334350586 370.8125278823676) rotate(0 32.987729498177146 -39.22568828337813)"><path d="M25.48 -76.53 C19.37 -76.26, 11.91 -78, -3.6 -78.63 M26.09 -76.16 C16.2 -75.53, 8.64 -76.42, -5.34 -76.69" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1073.308334350586 370.8125278823676) rotate(0 32.987729498177146 -39.22568828337813)"><path d="M17.63 -57.57 C13.14 -61.52, 7.45 -67.53, -3.6 -78.63 M18.24 -57.2 C10.55 -61.99, 5.24 -68.3, -5.34 -76.69" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-8-6qs3st7jOFAavqLUZ8W"><rect x="0" y="0" fill="#fff" width="1248.308334350586" height="549.4137839061804"></rect><rect x="1101.4249992370605" y="321" fill="#000" width="85.76667022705078" height="24" opacity="1"></rect></mask><g transform="translate(1101.4249992370605 321) rotate(0 4.871064611702536 10.586839598989457)"><text x="42.88333511352539" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">forwards</text></g><g stroke-linecap="round" transform="translate(189.49134665281457 70.09341190244714) rotate(0 22.08487971290191 20.32702338216245)"><path d="M28.11 0.08 C32.35 0.91, 36.35 5.26, 39.01 9 C41.68 12.74, 44.42 18.36, 44.09 22.52 C43.77 26.68, 40.22 30.94, 37.05 33.97 C33.89 37, 29.72 40.34, 25.1 40.72 C20.48 41.1, 13.28 38.57, 9.32 36.25 C5.37 33.93, 2.6 30.86, 1.36 26.81 C0.13 22.76, 0.07 16.19, 1.93 11.98 C3.78 7.76, 7.63 3.36, 12.51 1.51 C17.39 -0.34, 27.64 0.49, 31.22 0.88 C34.81 1.27, 33.98 3.42, 34.01 3.82 M14.31 1.57 C18.16 0.41, 25.08 0.8, 29.65 2.3 C34.23 3.81, 39.59 7.07, 41.76 10.61 C43.94 14.15, 43.66 19.22, 42.7 23.55 C41.74 27.88, 39.61 33.82, 35.98 36.59 C32.36 39.36, 25.62 40.64, 20.96 40.18 C16.31 39.73, 11.62 36.61, 8.04 33.85 C4.46 31.09, 0.26 27.87, -0.52 23.64 C-1.31 19.41, 0.59 12.24, 3.31 8.48 C6.03 4.71, 13.83 2.44, 15.79 1.04 C17.75 -0.36, 15.2 -0.09, 15.08 0.09" stroke="#000000" stroke-width="2" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(209.75789092463168 110.52129416328683) rotate(0 -1.1839700521253462 25.463052273794318)"><path d="M0.4 0.59 C0.19 8.79, -1.64 41.44, -1.94 49.45 M-0.85 -0.15 C-1.13 8.26, -2.62 42.78, -2.77 51.07" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(207.17372114284302 161.78514808060356) rotate(0 9.556554771432985 15.077499692904553)"><path d="M0.59 0.23 C3.83 5.3, 16.63 26.07, 19.67 30.85 M-0.56 -0.7 C2.52 4.01, 15.76 24.09, 18.81 29.14" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(206.56614383681278 160.9234169877824) rotate(0 -9.145929745656133 12.751590563350703)"><path d="M0.23 0.16 C-2.84 4.25, -14.63 20.71, -17.99 25.1 M-1.11 -0.8 C-4.3 3.39, -15.77 22.08, -18.52 26.3" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(190.22530079849315 120.20953636924139) rotate(0 9.741407615017295 9.075473807016351)"><path d="M0.16 0.79 C3.12 3.6, 15.06 14.15, 18.31 17.05 M-1.21 0.16 C2.09 3.05, 17.27 14.77, 20.69 17.99" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(210.72592496147848 138.53315362966384) rotate(0 14.016057186157212 -7.38605785050828)"><path d="M0.79 -0.64 C5.12 -3.11, 21.75 -12.36, 26.17 -14.67 M-0.25 1.64 C4.41 -1.19, 23.82 -13.41, 28.28 -16.41" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(182.4104382740647 73.94945753726762) rotate(0 31.776404366424657 6.635417162457429)"><path d="M-0.64 -1.14 C10.03 0.87, 53.36 10.73, 64.19 12.89 M1.23 0.87 C11.79 3.02, 53.15 12.46, 63.62 14.41" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(202.60847386458266 32.70259277168935) rotate(10.74366233694554 16.35750011333016 22.99045163085586)"><path d="M-1.74 -1.88 L32.33 0.22 L32.67 45.93 L0.68 44.11" stroke="none" stroke-width="0" fill="#fff"></path><path d="M1.21 -0.04 C13.48 -1.5, 22.97 1.78, 33.06 -0.79 M0.01 -0.06 C6.9 -0.84, 13.51 -1.29, 32.07 -0.29 M34.41 -1.68 C31.07 19.05, 31.4 37.5, 32.86 45.59 M32.82 -0.13 C32.06 11.43, 31.37 21.26, 33.13 45.9 M32.1 44.31 C23.68 44.94, 16.44 45.17, -1.23 45.26 M32.42 46.15 C24.87 45.61, 16.6 46.06, -0.49 45.53 M0.84 44.24 C-0.25 29.04, -1.09 8.74, -1.64 -0.4 M0.19 46.12 C0.09 35.99, 0.28 23.33, 0.52 0.55" stroke="#000000" stroke-width="2" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(211.7831659230564 99.27948540936097) rotate(0 0.5262100774604335 4.625327082560148)" fill-rule="evenodd"><path d="M-1.45 0.82 L18.84 7.38 L27.54 1.62 L22.58 8.65 L21.15 11.38 L-0.43 5.93 L-15.37 6.76 L-23.72 4.08 L-25.98 -3.08 L-15.97 3.93 L-0.61 -1.67" stroke="none" stroke-width="0" fill="#000" fill-rule="evenodd"></path><path d="M0.73 -0.02 C3.66 0.99, 13.43 3.9, 16.96 4.96 C20.49 6.03, 20.12 6.91, 21.89 6.34 C23.66 5.77, 27.46 0.8, 27.6 1.54 C27.74 2.28, 24.54 9.27, 22.75 10.78 C20.96 12.3, 20.69 11.34, 16.86 10.65 C13.02 9.95, 5.43 6.98, -0.24 6.64 C-5.9 6.29, -12.68 10.14, -17.14 8.6 C-21.61 7.06, -27.06 -1.98, -27.01 -2.58 C-26.95 -3.18, -21.25 4.67, -16.84 4.97 C-12.42 5.28, -3.48 0.26, -0.51 -0.74 M-0.35 -1.08 C2.56 0.15, 12.96 5.01, 16.49 5.93 C20.01 6.86, 18.9 5.05, 20.81 4.46 C22.72 3.87, 27.36 1.23, 27.96 2.4 C28.55 3.57, 26.49 10.3, 24.36 11.5 C22.23 12.7, 19.17 10.64, 15.18 9.61 C11.18 8.58, 5.37 5.58, 0.37 5.34 C-4.64 5.1, -10.52 9.19, -14.85 8.18 C-19.19 7.17, -25.41 -0.2, -25.64 -0.71 C-25.88 -1.22, -20.45 5.04, -16.25 5.13 C-12.06 5.23, -3.19 0.43, -0.45 -0.14" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(194.28306402999664 82.61295581098972) rotate(0 7.235162164231923 5.761438751069534)"><path d="M4.25 0.18 C5.46 -0.43, 6.46 0.32, 8.08 0.69 C9.71 1.06, 12.95 1.46, 14 2.39 C15.05 3.32, 14.74 5.05, 14.39 6.26 C14.04 7.47, 13.12 8.89, 11.89 9.65 C10.65 10.42, 8.48 10.54, 6.98 10.84 C5.48 11.15, 4.07 12.18, 2.88 11.5 C1.7 10.81, 0.09 8.21, -0.15 6.72 C-0.38 5.24, 0.65 3.59, 1.48 2.57 C2.31 1.54, 3.98 0.89, 4.82 0.57 C5.67 0.25, 6.38 0.64, 6.54 0.63 M5.13 0.09 C6.62 -0.28, 8.3 0.88, 9.47 1.25 C10.63 1.63, 11.21 1.39, 12.12 2.32 C13.03 3.25, 15.16 5.42, 14.94 6.81 C14.71 8.21, 12.06 9.97, 10.75 10.67 C9.44 11.38, 8.7 11.33, 7.1 11.06 C5.5 10.79, 2.46 9.92, 1.16 9.07 C-0.14 8.22, -0.6 7.17, -0.72 5.96 C-0.84 4.75, -0.39 2.84, 0.47 1.8 C1.32 0.76, 3.44 -0.14, 4.43 -0.29 C5.43 -0.44, 6.38 0.68, 6.43 0.91" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(200.84935022749636 87.15759089942463) rotate(0 0.37748672161208674 0.49568963444014)"><path d="M-0.11 -0.9 C-0.07 -0.81, 0.92 0.76, 1.06 0.95 C1.2 1.14, 0.77 0.37, 0.73 0.23 C0.69 0.09, 0.87 0.14, 0.82 0.09 C0.78 0.04, 0.66 -0.19, 0.47 -0.09 C0.28 0.01, -0.41 0.61, -0.31 0.7 C-0.21 0.78, 1.12 0.3, 1.07 0.42 C1.02 0.53, -0.31 1.54, -0.61 1.38 C-0.92 1.23, -0.99 -0.2, -0.77 -0.52 C-0.55 -0.84, 0.44 -0.65, 0.71 -0.55 C0.98 -0.45, 0.94 0.09, 0.84 0.09 M0.03 -0.42 C0.17 -0.74, 1.35 -1.68, 1.34 -1.46 C1.33 -1.25, 0.1 0.67, -0.02 0.85 C-0.14 1.03, 0.45 -0.41, 0.63 -0.39 C0.8 -0.38, 1.13 0.93, 1.02 0.95 C0.9 0.97, 0.24 -0.12, -0.07 -0.26 C-0.38 -0.4, -0.75 0.05, -0.84 0.09 C-0.94 0.13, -0.61 0.04, -0.62 -0.02 C-0.63 -0.08, -0.92 -0.53, -0.88 -0.28 C-0.83 -0.04, -0.61 1.47, -0.34 1.45 C-0.07 1.43, 0.61 -0.34, 0.75 -0.39" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(220.71125257980242 88.86962663683704) rotate(0 0.3812997188001077 0.6482095219601831)"><path d="M-0.4 0.56 C-0.2 0.66, 1.43 0.29, 1.62 0.34 C1.8 0.39, 0.95 0.74, 0.69 0.86 C0.44 0.97, 0.3 1.07, 0.08 1.03 C-0.14 1, -0.58 0.47, -0.62 0.65 C-0.66 0.83, -0.2 2.19, -0.16 2.1 C-0.13 2.02, -0.6 0.57, -0.42 0.14 C-0.24 -0.3, 0.91 -0.58, 0.9 -0.53 C0.9 -0.47, -0.31 0.26, -0.47 0.44 C-0.62 0.63, -0.2 0.67, -0.02 0.57 C0.16 0.48, 0.64 0.1, 0.63 -0.11 M-0.02 0.85 C-0.22 0.77, -1.06 -0.45, -0.82 -0.5 C-0.59 -0.56, 1.29 0.18, 1.38 0.5 C1.47 0.82, -0.14 1.38, -0.28 1.43 C-0.42 1.49, 0.68 1.02, 0.55 0.82 C0.42 0.62, -0.83 0.33, -1.05 0.23 C-1.27 0.14, -0.84 0.38, -0.77 0.26 C-0.69 0.15, -0.67 -0.35, -0.6 -0.48 C-0.53 -0.6, -0.77 -0.65, -0.36 -0.48 C0.05 -0.32, 1.79 0.4, 1.85 0.52 C1.91 0.65, 0.06 0.47, 0 0.27" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(301.95941701576544 32.55349130191189) rotate(0 24.027649548297063 26.365451481633556)"><path d="M26.6 1 C31.57 1.27, 37.43 3.89, 41 7.63 C44.58 11.38, 47.61 18.02, 48.04 23.49 C48.48 28.96, 46.68 35.79, 43.61 40.47 C40.54 45.14, 34.42 49.97, 29.63 51.53 C24.84 53.09, 19.53 52.04, 14.87 49.85 C10.2 47.66, 4.13 43.56, 1.65 38.39 C-0.83 33.22, -1.53 24.55, -0.03 18.85 C1.47 13.16, 5.51 7.21, 10.63 4.23 C15.74 1.24, 26.82 1.27, 30.66 0.94 C34.49 0.61, 33.93 1.77, 33.62 2.23 M26.14 -1.45 C30.95 -1.33, 36.1 3.77, 39.71 7.71 C43.31 11.65, 46.95 16.69, 47.75 22.21 C48.56 27.72, 47.42 36.14, 44.56 40.82 C41.7 45.51, 35.73 48.83, 30.58 50.33 C25.43 51.83, 18.4 51.94, 13.64 49.84 C8.87 47.73, 4.31 42.7, 1.99 37.7 C-0.34 32.71, -1.47 25.04, -0.3 19.88 C0.86 14.71, 4.65 10.1, 9 6.72 C13.35 3.34, 23.06 0.45, 25.81 -0.4 C28.57 -1.25, 25.75 0.87, 25.52 1.63" stroke="#000000" stroke-width="2" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(323.5263197521965 85.44315070857328) rotate(0 -1.7484407065033452 30.353066293668945)"><path d="M0.88 0.21 C0.53 10.38, -2.68 50.07, -3.18 60.48 M-0.12 -0.73 C-0.57 9.61, -3.97 51.17, -4.38 61.44" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(320.9329351537019 148.72968152415496) rotate(0 12.132418376647365 18.203160522543698)"><path d="M0.21 -0.47 C4.18 5.74, 19.07 31.83, 23.28 38.17 M-1.14 -1.76 C3.24 4.02, 21.01 29.6, 25.41 36.37" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(317.5697913067163 146.2073558512629) rotate(0 -9.690823205506945 17.43401532400361)"><path d="M-0.47 -1.1 C-3.99 4.86, -16.84 29.98, -20.24 35.97 M1.48 0.94 C-2.22 6.57, -17.01 28.55, -20.86 34.41" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(300.1943964615168 97.45166173695878) rotate(0 11.829641957075125 12.086813795558669)"><path d="M-1.1 0.62 C2.99 4.49, 20.64 19.03, 24.76 22.74 M0.52 -0.1 C4.53 4.01, 20.67 20.23, 24.38 24.28" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(325.37818979212193 119.71210951124857) rotate(0 16.806546631687183 -9.11932542660287)"><path d="M0.62 1.08 C6.38 -1.96, 28.53 -15.82, 34.13 -19.32 M-0.52 0.6 C5.13 -2.14, 27.52 -14.57, 33.19 -17.82" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(345.6893189822406 46.47508748494761) rotate(0 -20.37768216272542 9.270275498321311)"><path d="M1.08 0.01 C-0.82 1.47, -6.69 8.78, -12.49 9.39 C-18.28 10.01, -28.83 2.11, -33.66 3.69 C-38.49 5.27, -40.3 16.02, -41.46 18.88 M0.19 -1.03 C-1.78 0.59, -7.65 9.99, -13.47 10.98 C-19.3 11.98, -30.04 3.5, -34.77 4.93 C-39.49 6.37, -41.2 17.37, -41.84 19.57" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(305.1702849815813 46.640158848461056) rotate(0 -8.588732061414618 13.424822208880244)"><path d="M0.01 -0.08 C-0.34 -1.56, -0.1 -6.2, -1.5 -7.85 C-2.89 -9.5, -5.8 -11.85, -8.38 -9.98 C-10.96 -8.11, -16.62 -4.47, -17 3.36 C-17.38 11.19, -12.32 33.89, -10.65 36.98 C-8.99 40.07, -8.64 28.2, -7.03 21.89 C-5.42 15.58, -2.26 2.89, -1.01 -0.87 M-1.45 -1.16 C-2 -1.99, -1.1 -5.3, -2.39 -6.65 C-3.69 -8.01, -6.76 -11.11, -9.22 -9.29 C-11.68 -7.47, -16.78 -3.45, -17.16 4.28 C-17.54 12.01, -13.38 34.25, -11.52 37.11 C-9.66 39.96, -7.77 27.41, -6 21.39 C-4.23 15.37, -1.85 4.78, -0.9 0.99" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(290.1133312651366 83.86546742300106) rotate(18.529685470617636 6.755317609266569 14.046582490072211)"><path d="M0.11 -0.73 C5.11 -1.33, 9.67 -0.39, 14.81 -0.57 M-0.49 0.28 C2.84 0.46, 6.49 -0.02, 13.08 -0.51 M12.91 1.12 C11.56 8.26, 14.36 18.26, 12.23 28.61 M12.85 -0.53 C13.01 8.18, 12.81 16.82, 13.12 29.04 M14.47 27.44 C10.32 28.07, 3.82 27.5, 1.24 28.19 M13.44 28.46 C10.26 27.56, 7.17 27.84, -0.43 27.84 M-0.15 29.88 C0.16 17.83, 0.98 12.13, -1.74 -1.88 M-0.03 28.43 C-0.97 20.75, -0.77 13.16, -0.78 -0.17" stroke="#000000" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(398.52501895338935 109.26444804691369) rotate(0 11.481045426088656 12.59810892162048)"><path d="M10.5 0.99 C12.92 0.68, 15.73 0.56, 17.9 1.86 C20.06 3.17, 22.98 6.03, 23.5 8.83 C24.02 11.62, 22.36 16, 21.03 18.64 C19.69 21.28, 17.61 23.7, 15.49 24.67 C13.36 25.64, 10.65 25.46, 8.28 24.48 C5.91 23.5, 2.59 20.98, 1.27 18.78 C-0.06 16.58, -0.01 13.87, 0.36 11.27 C0.72 8.66, 1.46 5.19, 3.45 3.15 C5.45 1.11, 10.86 -0.59, 12.33 -0.99 C13.79 -1.39, 12.35 0.47, 12.24 0.74 M11.7 -0.88 C13.89 -0.74, 17.36 1.44, 19.13 3.44 C20.91 5.44, 22.18 8.39, 22.33 11.1 C22.49 13.8, 21.22 17.28, 20.06 19.66 C18.91 22.05, 17.79 24.68, 15.41 25.41 C13.02 26.13, 8.01 25.48, 5.76 24.04 C3.52 22.59, 2.57 19.26, 1.95 16.72 C1.32 14.18, 1.56 11.35, 2 8.78 C2.43 6.21, 2.5 2.74, 4.56 1.31 C6.61 -0.12, 13.15 0.26, 14.33 0.21 C15.51 0.15, 12.11 0.82, 11.63 0.98" stroke="#000000" stroke-width="2" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(406.6576289454325 134.65446035571358) rotate(0 -0.6372564835990602 14.254365473636454)"><path d="M-0.65 -0.14 C-1.05 4.61, -2.32 23.52, -2.49 28.65 M1.21 -1.27 C1.16 3.62, 0.24 24.76, -0.4 29.77" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(405.15952869757473 163.7212844930167) rotate(0 3.9368748259374797 8.095126013248063)"><path d="M-0.14 -1.19 C1.05 1.59, 5.69 13.18, 7.25 16.03 M-1.68 0.8 C-0.11 3.81, 7.77 14.69, 9.55 17.38" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(404.76020781464115 163.11885266090917) rotate(0 -7.017624486888224 7.597855633497403)"><path d="M-1.19 -0.78 C-3.3 1.91, -11.24 13.5, -13.29 15.97 M0.38 1.43 C-1.85 3.82, -11.94 12.2, -14.42 14.46" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(394.65819307151776 138.53024658894662) rotate(0 5.847153419878225 5.020691087822996)"><path d="M-0.78 -0.35 C1.32 1.57, 10.58 8.31, 12.47 10.35 M1.01 -1.58 C3.07 0.61, 10.12 9.68, 12.13 11.62" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(405.12263289376244 148.66237027948023) rotate(0 7.722682260676322 -4.387452978214299)"><path d="M-0.35 1.16 C2.48 -0.37, 12.85 -8.04, 15.8 -9.93 M1.66 0.72 C4.4 -0.6, 12.01 -7.09, 14.58 -8.78" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(400.9916950893088 111.70039323399715) rotate(0 1.4507012408978426 -3.557200191512038)" fill-rule="evenodd"><path d="M-1.98 -0.96 L11.34 -10.42 L14.9 -5.38 L20.99 2.39 L-20.23 -1.1 L-0.69 -1.01" stroke="none" stroke-width="0" fill="#4c6ef5" fill-rule="evenodd"></path><path d="M1.16 -0.51 C2.92 -1.99, 6.74 -9.17, 9.78 -9.23 C12.81 -9.3, 17.72 -2.61, 19.38 -0.9 C21.04 0.81, 19.8 0.35, 19.73 1.03 C19.66 1.72, 24.86 3.28, 18.97 3.21 C13.08 3.14, -9.7 1.21, -15.6 0.62 C-21.51 0.03, -19.14 -0.17, -16.45 -0.33 C-13.77 -0.49, -2.25 -0.47, 0.5 -0.34 M0.31 -1.82 C2.52 -3.58, 8.53 -11.12, 12.1 -10.82 C15.67 -10.52, 20.39 -2.14, 21.74 -0.04 C23.1 2.06, 20.89 1.17, 20.23 1.78 C19.58 2.4, 23.58 3.47, 17.82 3.64 C12.06 3.82, -8.63 3.7, -14.31 2.84 C-20 1.99, -18.6 -0.9, -16.29 -1.5 C-13.98 -2.1, -3.48 -0.92, -0.46 -0.76" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(411.905085367512 102.65254428738359) rotate(0 1.4950305742326009 -5.334636012995787)"><path d="M0 0 C-0.04 -0.88, 0.9 -4.39, -0.26 -5.27 C-1.43 -6.15, -5.28 -4.38, -7 -5.27 C-8.72 -6.17, -12.94 -11.11, -10.58 -10.64 C-8.21 -10.16, 3.1 -3.16, 7.21 -2.42 C11.32 -1.68, 15.17 -5.79, 14.08 -6.18 C13 -6.58, 2.94 -5.02, 0.71 -4.78 M0 0 C-0.04 -0.88, 0.9 -4.39, -0.26 -5.27 C-1.43 -6.15, -5.28 -4.38, -7 -5.27 C-8.72 -6.17, -12.94 -11.11, -10.58 -10.64 C-8.21 -10.16, 3.1 -3.16, 7.21 -2.42 C11.32 -1.68, 15.17 -5.79, 14.08 -6.18 C13 -6.58, 2.94 -5.02, 0.71 -4.78" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(460.32337505058695 37.69825877759013) rotate(0 27.750947933829366 25.542098252796052)"><path d="M55.5 25.54 C55.5 27.02, 55.36 28.52, 55.08 29.98 C54.8 31.43, 54.38 32.89, 53.83 34.28 C53.28 35.67, 52.59 37.03, 51.78 38.31 C50.98 39.59, 50.04 40.83, 49.01 41.96 C47.98 43.09, 46.82 44.16, 45.59 45.11 C44.36 46.06, 43.02 46.92, 41.63 47.66 C40.24 48.4, 38.75 49.04, 37.24 49.54 C35.73 50.05, 34.15 50.44, 32.57 50.7 C30.99 50.95, 29.36 51.08, 27.75 51.08 C26.14 51.08, 24.51 50.95, 22.93 50.7 C21.35 50.44, 19.77 50.05, 18.26 49.54 C16.75 49.04, 15.27 48.4, 13.88 47.66 C12.48 46.92, 11.14 46.06, 9.91 45.11 C8.68 44.16, 7.52 43.09, 6.49 41.96 C5.46 40.83, 4.52 39.59, 3.72 38.31 C2.91 37.03, 2.22 35.67, 1.67 34.28 C1.12 32.89, 0.7 31.43, 0.42 29.98 C0.14 28.52, 0 27.02, 0 25.54 C0 24.06, 0.14 22.56, 0.42 21.11 C0.7 19.65, 1.12 18.2, 1.67 16.81 C2.22 15.42, 2.91 14.05, 3.72 12.77 C4.52 11.49, 5.46 10.26, 6.49 9.12 C7.52 7.99, 8.68 6.93, 9.91 5.98 C11.14 5.03, 12.48 4.16, 13.88 3.42 C15.27 2.68, 16.75 2.05, 18.26 1.54 C19.77 1.03, 21.35 0.64, 22.93 0.39 C24.51 0.13, 26.14 0, 27.75 0 C29.36 0, 30.99 0.13, 32.57 0.39 C34.15 0.64, 35.73 1.03, 37.24 1.54 C38.75 2.05, 40.24 2.68, 41.63 3.42 C43.02 4.16, 44.36 5.03, 45.59 5.98 C46.82 6.93, 47.98 7.99, 49.01 9.12 C50.04 10.26, 50.98 11.49, 51.78 12.77 C52.59 14.05, 53.28 15.42, 53.83 16.81 C54.38 18.2, 54.8 19.65, 55.08 21.11 C55.36 22.56, 55.43 24.8, 55.5 25.54 C55.57 26.28, 55.57 24.8, 55.5 25.54" stroke="#000000" stroke-width="2" fill="none"></path></g><g stroke-linecap="round"><g transform="translate(487.45418431664893 91.06382579157952) rotate(0 -1.3616908621899597 30.965473881403796)"><path d="M0 0 C-0.45 10.32, -2.27 51.61, -2.72 61.93 M0 0 C-0.45 10.32, -2.27 51.61, -2.72 61.93" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(485.9582330517269 154.5330103234234) rotate(0 12.257816406393204 18.88436544949323)"><path d="M0 0 C4.09 6.29, 20.43 31.47, 24.52 37.77 M0 0 C4.09 6.29, 20.43 31.47, 24.52 37.77" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(481.3280079680744 150.31856036386688) rotate(0 -10.488138014882963 17.5434637607718)"><path d="M0 0 C-3.5 5.85, -17.48 29.24, -20.98 35.09 M0 0 C-3.5 5.85, -17.48 29.24, -20.98 35.09" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(486.9464303891591 104.94104074801857) rotate(0 20.237367667598846 2.6298477785319108)"><path d="M0 0 C3.1 2.28, 13.07 14.83, 18.61 13.68 C24.14 12.54, 29.57 -3.41, 33.21 -6.88 C36.86 -10.36, 39.26 -7.13, 40.47 -7.18 M0 0 C3.1 2.28, 13.07 14.83, 18.61 13.68 C24.14 12.54, 29.57 -3.41, 33.21 -6.88 C36.86 -10.36, 39.26 -7.13, 40.47 -7.18" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(447.1955029768151 97.14032510371925) rotate(0 18.8864348380539 10.62160640140732)"><path d="M0 0 C1.62 0.28, 6.08 -1.91, 9.74 1.69 C13.4 5.28, 17.28 20.28, 21.95 21.55 C26.62 22.82, 35.14 11.37, 37.77 9.33 M0 0 C1.62 0.28, 6.08 -1.91, 9.74 1.69 C13.4 5.28, 17.28 20.28, 21.95 21.55 C26.62 22.82, 35.14 11.37, 37.77 9.33" stroke="#000000" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(165.30833435058594 10) rotate(0 190.5 110)"><path d="M32 0 M32 0 C106.25 -1.34, 181.41 -1.25, 349 0 M32 0 C100.58 1.74, 169.29 1.71, 349 0 M349 0 C371.88 1.01, 380.72 11.62, 381 32 M349 0 C370.77 1.36, 383.3 11.45, 381 32 M381 32 C380.22 66.95, 378.93 102.11, 381 188 M381 32 C381.36 82.88, 381.21 133.75, 381 188 M381 188 C381.49 210.12, 369.78 221.51, 349 220 M381 188 C380.5 207.88, 368.37 219.35, 349 220 M349 220 C229.92 219.44, 107.87 219.75, 32 220 M349 220 C252.22 218.81, 156.09 218.79, 32 220 M32 220 C10.6 221.8, 1.85 210, 0 188 M32 220 C8.49 220.09, 1.69 210.06, 0 188 M0 188 C3.42 152.8, -0.35 121.77, 0 32 M0 188 C-0.74 142.21, 0.29 98.16, 0 32 M0 32 C-1.41 12.26, 12.31 -0.58, 32 0 M0 32 C-1.36 10.14, 9.07 2.04, 32 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(170.30833435058594 201) rotate(0 37.775001525878906 12)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"> Users</text></g><g mask="url(#mask-pY9XwQyQ_oSYgENpD-Tq-)" stroke-linecap="round"><g transform="translate(383.30833435058594 229) rotate(0 -17.61791481887974 63.561623834972295)"><path d="M-0.81 0.31 C-6.61 21.61, -29.88 106.78, -35.7 127.7 M0.96 -0.57 C-4.84 20.38, -30.03 104.76, -36.2 125.94" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(383.30833435058594 229) rotate(0 -17.61791481887974 63.561623834972295)"><path d="M-37.55 97.42 C-36.5 104.1, -39.21 109.24, -34.63 125.97 M-37.51 95.83 C-37.31 103.88, -37.63 111.47, -35.99 125.68" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(383.30833435058594 229) rotate(0 -17.61791481887974 63.561623834972295)"><path d="M-17.86 103.22 C-21.21 108.48, -28.31 112.31, -34.63 125.97 M-17.83 101.64 C-22.44 108.33, -27.6 114.49, -35.99 125.68" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-pY9XwQyQ_oSYgENpD-Tq-"><rect x="0" y="0" fill="#fff" width="519.8546362493383" height="456"></rect><rect x="344.4018501950329" y="280.5" fill="#000" width="41.266666412353516" height="24" opacity="1"></rect></mask><g transform="translate(344.4018501950329 280.5) rotate(0 21.288569336673277 12.061623834972295)"><text x="20.633333206176758" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Visit</text></g><g stroke-linecap="round" transform="translate(125.30833435058594 368) rotate(0 212.5 24.5)"><path d="M12.25 0 M12.25 0 C131.99 2.16, 250.34 1.77, 412.75 0 M12.25 0 C122.94 1.36, 233.5 1.64, 412.75 0 M412.75 0 C422.46 -0.26, 423.69 5.84, 425 12.25 M412.75 0 C419.01 -1.39, 423.02 4.92, 425 12.25 M425 12.25 C426.15 22.14, 425.05 28.91, 425 36.75 M425 12.25 C423.99 18.21, 424.55 24.67, 425 36.75 M425 36.75 C425.04 45.57, 420.64 49.21, 412.75 49 M425 36.75 C422.97 46.38, 419.12 47.51, 412.75 49 M412.75 49 C273.57 46.56, 136.49 46.85, 12.25 49 M412.75 49 C283.26 49.71, 153.24 50.04, 12.25 49 M12.25 49 C5.88 47.07, 0.26 46.2, 0 36.75 M12.25 49 C1.86 50.13, 0.93 46.49, 0 36.75 M0 36.75 C-1.15 29.19, -0.14 21.8, 0 12.25 M0 36.75 C0.68 28.04, -0.08 21.41, 0 12.25 M0 12.25 C0.51 4.1, 5.64 -1, 12.25 0 M0 12.25 C0.61 1.86, 3.37 -1.01, 12.25 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(251.61666870117188 380.5) rotate(0 86.19166564941406 12)"><text x="86.19166564941406" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">demo.hedgedoc.org</text></g><g stroke-linecap="round" transform="translate(127.30833435058594 439) rotate(0 211.5 20.5)"><path d="M10.25 0 M10.25 0 C162.64 -1.86, 317.39 -1.71, 412.75 0 M10.25 0 C131.53 0.59, 252.34 0.88, 412.75 0 M412.75 0 C419.06 0.88, 423.22 1.57, 423 10.25 M412.75 0 C421.53 1.51, 422.16 2.96, 423 10.25 M423 10.25 C424.34 13.39, 423.08 19.13, 423 30.75 M423 10.25 C422.94 15.85, 423.17 20.86, 423 30.75 M423 30.75 C424.47 38.29, 417.87 40.61, 412.75 41 M423 30.75 C422.43 37.39, 421.87 42.41, 412.75 41 M412.75 41 C264.4 38.91, 118.04 38.43, 10.25 41 M412.75 41 C274.75 39.95, 136.53 39.78, 10.25 41 M10.25 41 C1.8 39.33, 1.13 38.38, 0 30.75 M10.25 41 C3.75 39.15, -0.23 39.78, 0 30.75 M0 30.75 C0.09 23.97, 0.3 19.63, 0 10.25 M0 30.75 C0.9 23.8, 0.48 17.39, 0 10.25 M0 10.25 C0.63 2.3, 3.51 1.47, 10.25 0 M0 10.25 C-2.1 2.8, 2.89 -1.11, 10.25 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(263.40833282470703 447.5) rotate(0 75.4000015258789 12)"><text x="75.4000015258789" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">s3.hedgedoc.org</text></g><g mask="url(#mask-ESPQaSw0BYF6yIiFH7Eiz)" stroke-linecap="round"><g transform="translate(149.30833435058594 244) rotate(0 -37.45666334265587 107.19324699261594)"><path d="M-0.97 -0.12 C-13.52 30.11, -69.5 145.61, -74.85 181.56 C-80.21 217.52, -40.18 210.14, -33.1 215.62 M0.73 -1.23 C-11.93 29.15, -69.97 147.09, -75.2 182.87 C-80.42 218.65, -37.8 208.09, -30.61 213.47" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(149.30833435058594 244) rotate(0 -37.45666334265587 107.19324699261594)"><path d="M-57.77 220.56 C-49.15 215.8, -38.65 215.29, -31.99 213.64 M-57.55 219.57 C-50.22 217.64, -42.32 215.97, -31.17 213.51" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(149.30833435058594 244) rotate(0 -37.45666334265587 107.19324699261594)"><path d="M-54.8 202.02 C-47.16 203.53, -37.67 209.33, -31.99 213.64 M-54.57 201.03 C-48.04 204.38, -40.99 207.98, -31.17 213.51" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-ESPQaSw0BYF6yIiFH7Eiz"><rect x="0" y="0" fill="#fff" width="325.30833435058594" height="559.2531772108542"></rect><rect x="10" y="414" fill="#000" width="126.61666870117188" height="24" opacity="1"></rect></mask><g transform="translate(10 414) rotate(0 101.85167100793007 -62.80675300738406)"><text x="63.30833435058594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Implicitly use</text></g><g mask="url(#mask-nhb24zD2J0akLo7s-VD0U)" stroke-linecap="round"><g transform="translate(559.3083343505859 464.9554323863823) rotate(0 92.05841009768659 -41.717646921832284)"><path d="M-0.23 -0.87 C30.29 -14.71, 152.87 -69.04, 183.83 -82.78 M-1.82 1.28 C29 -12.95, 154.79 -70.82, 185.93 -84.72" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(559.3083343505859 464.9554323863823) rotate(0 92.05841009768659 -41.717646921832284)"><path d="M163.05 -65.66 C172.68 -70.26, 179.42 -78.17, 187.31 -85.11 M164.94 -64.24 C170.18 -68.17, 173.83 -74.14, 185.85 -85.55" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(559.3083343505859 464.9554323863823) rotate(0 92.05841009768659 -41.717646921832284)"><path d="M154.57 -84.34 C167.25 -82.28, 177 -83.55, 187.31 -85.11 M156.45 -82.92 C163.52 -82.49, 169.14 -84.13, 185.85 -85.55" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-nhb24zD2J0akLo7s-VD0U"><rect x="0" y="0" fill="#fff" width="844.3083343505859" height="648.0983770872608"></rect><rect x="608.9249992370605" y="411.38396003594323" fill="#000" width="85.76667022705078" height="24" opacity="1"></rect></mask><g transform="translate(608.9249992370605 411.3839600359431) rotate(0 42.44174521121198 11.85382542860691)"><text x="42.88333511352539" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">forwards</text></g><g mask="url(#mask-B-cPw68POxMDVCwCuK4py)" stroke-linecap="round"><g transform="translate(560.3083343505859 394.8298715727226) rotate(0 92.67726746692324 -18.783203655911734)"><path d="M-0.19 0.83 C30.77 -5.62, 154.07 -31.87, 184.94 -38.4 M-1.74 0.22 C29.64 -6.13, 155.57 -31.06, 187.1 -37.35" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(560.3083343505859 394.8298715727226) rotate(0 92.67726746692324 -18.783203655911734)"><path d="M162.83 -23.56 C165.84 -26.99, 171.92 -29.25, 186.85 -36.49 M160.9 -21.81 C167.74 -24.47, 171.55 -28.84, 187.79 -38.3" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(560.3083343505859 394.8298715727226) rotate(0 92.67726746692324 -18.783203655911734)"><path d="M158.83 -43.68 C162.83 -42.41, 169.84 -39.97, 186.85 -36.49 M156.9 -41.94 C164.42 -40.39, 169.05 -40.58, 187.79 -38.3" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-B-cPw68POxMDVCwCuK4py"><rect x="0" y="0" fill="#fff" width="846.3083343505859" height="532.2939643899958"></rect><rect x="610.4249992370605" y="364.097825164086" fill="#000" width="85.76667022705078" height="24" opacity="1"></rect></mask><g transform="translate(610.4249992370605 364.097825164086) rotate(0 42.56060258044863 11.948842752724886)"><text x="42.88333511352539" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">forwards</text></g><g stroke-linecap="round" transform="translate(1307.308334350586 176) rotate(0 112 25)"><path d="M12.5 0 M12.5 0 C51.38 -2.38, 93.89 0.78, 211.5 0 M12.5 0 C71.36 0.48, 130.61 -0.08, 211.5 0 M211.5 0 C221.57 1.7, 222.56 5.98, 224 12.5 M211.5 0 C220.39 -0.37, 223.55 4.66, 224 12.5 M224 12.5 C222.01 19.2, 222.4 22.64, 224 37.5 M224 12.5 C223.62 18.53, 224.13 26.24, 224 37.5 M224 37.5 C224.24 46.79, 220.73 49.85, 211.5 50 M224 37.5 C223.51 47.64, 217.63 51.83, 211.5 50 M211.5 50 C132.97 48, 54.52 46.29, 12.5 50 M211.5 50 C133.08 50.43, 54.59 51.03, 12.5 50 M12.5 50 C4.76 49.24, -1.65 44.9, 0 37.5 M12.5 50 C2 48.15, 1.23 45.17, 0 37.5 M0 37.5 C1.64 27.73, -0.41 22.32, 0 12.5 M0 37.5 C-0.89 31.14, -1.01 24.52, 0 12.5 M0 12.5 C1.97 4.92, 5.45 0.01, 12.5 0 M0 12.5 C-0.5 3.25, 2.95 -0.43, 12.5 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1328.9166641235352 189) rotate(0 90.39167022705078 12)"><text x="90.39167022705078" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">database storage</text></g><g stroke-linecap="round" transform="translate(1313.308334350586 253) rotate(0 105.5 22)"><path d="M11 0 M11 0 C58.68 -0.73, 111.19 0.31, 200 0 M11 0 C76.02 -2.45, 139.18 -0.9, 200 0 M200 0 C206.86 0.68, 211.2 2.05, 211 11 M200 0 C208.59 -2.13, 212.91 5.93, 211 11 M211 11 C210.7 17.64, 210.08 25.49, 211 33 M211 11 C211.52 16.46, 210.36 21.01, 211 33 M211 33 C212.59 41.09, 208.3 43.83, 200 44 M211 33 C208.96 38.24, 207.11 46.06, 200 44 M200 44 C135.99 42.42, 72.51 42.59, 11 44 M200 44 C143.33 44.12, 87.65 43.79, 11 44 M11 44 C1.8 43.59, -0.63 40.73, 0 33 M11 44 C2.14 45.77, 2.07 38.72, 0 33 M0 33 C1.41 26.97, 0.5 19.84, 0 11 M0 33 C0.14 27.65, -0.44 20.32, 0 11 M0 11 C-1.15 3.41, 4.8 -1.9, 11 0 M0 11 C0.3 3.14, 5.64 -1.29, 11 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1335.599998474121 263) rotate(0 83.20833587646484 12)"><text x="83.20833587646484" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Minio/S3 storage</text></g><g stroke-linecap="round" transform="translate(1316.308334350586 322) rotate(0 106 17)"><path d="M8.5 0 M8.5 0 C61.39 0.13, 117.82 0.06, 203.5 0 M8.5 0 C64.16 -0.68, 119.42 -0.92, 203.5 0 M203.5 0 C208.54 0.4, 210.67 4.37, 212 8.5 M203.5 0 C211.23 -1.62, 212.19 0.89, 212 8.5 M212 8.5 C212.37 12.42, 211.73 16.41, 212 25.5 M212 8.5 C211.75 13.75, 211.55 19.67, 212 25.5 M212 25.5 C213.14 29.27, 209.43 33.54, 203.5 34 M212 25.5 C213.97 29.87, 211.17 32.78, 203.5 34 M203.5 34 C157.77 34.9, 110.58 33.29, 8.5 34 M203.5 34 C146.46 34.12, 87.83 33.99, 8.5 34 M8.5 34 C3.01 34.53, -1.58 32.9, 0 25.5 M8.5 34 C3.51 33.99, 0.19 31.03, 0 25.5 M0 25.5 C-0.85 18.2, -0.22 11.41, 0 8.5 M0 25.5 C-0.64 21.24, 0.38 19.17, 0 8.5 M0 8.5 C1.73 2.62, 4.08 -1.24, 8.5 0 M0 8.5 C1.77 4.04, 4.76 -1.66, 8.5 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1332.650001525879 327) rotate(0 89.65833282470703 12)"><text x="89.65833282470703" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">docker-compose.yml</text></g><g stroke-linecap="round" transform="translate(1317.308334350586 379) rotate(0 106 29)"><path d="M14.5 0 M14.5 0 C59.75 -2.4, 102.77 -1.34, 197.5 0 M14.5 0 C60.52 -2.48, 107.4 -1.9, 197.5 0 M197.5 0 C206.93 1.4, 210.01 5.28, 212 14.5 M197.5 0 C209 1.74, 211.18 5.63, 212 14.5 M212 14.5 C211.19 26.62, 213.95 34.58, 212 43.5 M212 14.5 C212.8 24.34, 212.58 33.36, 212 43.5 M212 43.5 C212.41 53.83, 206.61 56.53, 197.5 58 M212 43.5 C211.2 54.08, 207.99 57.63, 197.5 58 M197.5 58 C153.3 58.86, 111.93 59.04, 14.5 58 M197.5 58 C138.38 58.07, 80.1 58.6, 14.5 58 M14.5 58 C6.12 58.72, -1.76 51.48, 0 43.5 M14.5 58 C4.05 59.82, -1.32 52.22, 0 43.5 M0 43.5 C0.36 35.95, -0.01 29.05, 0 14.5 M0 43.5 C0.03 34.09, -0.57 24.13, 0 14.5 M0 14.5 C1.2 3.87, 5.47 1.41, 14.5 0 M0 14.5 C1.38 6.78, 5.33 1.6, 14.5 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1327.8916702270508 384) rotate(0 95.41666412353516 24)"><text x="95.41666412353516" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Certificates / </text><text x="95.41666412353516" y="24" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Traefik persistence</text></g><g stroke-linecap="round" transform="translate(763.3083343505859 193) rotate(0 145 25)"><path d="M12.5 0 M12.5 0 C96.73 0.41, 183.65 1.2, 277.5 0 M12.5 0 C91.14 1.79, 169.52 1.57, 277.5 0 M277.5 0 C287.24 1.2, 291.69 4.6, 290 12.5 M277.5 0 C287.43 -0.07, 290.18 4.15, 290 12.5 M290 12.5 C289.59 17.27, 290.88 24.21, 290 37.5 M290 12.5 C288.89 18.94, 290.5 24.68, 290 37.5 M290 37.5 C288.95 44.58, 287.74 49.09, 277.5 50 M290 37.5 C290.97 44.51, 287.87 51.02, 277.5 50 M277.5 50 C181.34 48.16, 85.28 48.34, 12.5 50 M277.5 50 C196.41 50.66, 116.58 50.26, 12.5 50 M12.5 50 C2.98 48.85, 1.08 43.98, 0 37.5 M12.5 50 C3.63 50.82, -1.31 47.7, 0 37.5 M0 37.5 C0.77 32.52, -1.22 25.49, 0 12.5 M0 37.5 C0.67 29.58, 0.2 23.08, 0 12.5 M0 12.5 C0.71 4.57, 3.47 1.57, 12.5 0 M0 12.5 C-2.29 4.65, 4.87 2.16, 12.5 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(802.0083312988281 206) rotate(0 106.30000305175781 12)"><text x="106.30000305175781" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">PostgreSQL container</text></g><g stroke-linecap="round" transform="translate(764.3083343505859 545) rotate(0 140 24.5)"><path d="M12.25 0 M12.25 0 C86.71 -0.52, 162.59 0.47, 267.75 0 M12.25 0 C92.4 1.26, 172.84 1.87, 267.75 0 M267.75 0 C275.52 -0.75, 278.3 4.02, 280 12.25 M267.75 0 C274.22 -1.59, 279.38 5.34, 280 12.25 M280 12.25 C281.47 21.02, 279.36 27.37, 280 36.75 M280 12.25 C280.52 17.3, 279.25 23.25, 280 36.75 M280 36.75 C280.1 43.83, 277.47 48.32, 267.75 49 M280 36.75 C277.84 46.69, 274.72 49.4, 267.75 49 M267.75 49 C207.3 51.29, 146.31 49.99, 12.25 49 M267.75 49 C176.92 51.18, 86.57 51.03, 12.25 49 M12.25 49 C5.72 47.91, 0.99 43.86, 0 36.75 M12.25 49 C4.7 48.35, -0.27 46.94, 0 36.75 M0 36.75 C-1.39 26.74, 1.38 18.75, 0 12.25 M0 36.75 C-0.81 29.07, 0.21 23.34, 0 12.25 M0 12.25 C0.58 5.73, 4.06 1.64, 12.25 0 M0 12.25 C0.3 5.76, 3.66 -1.55, 12.25 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(848.8916664123535 557.5) rotate(0 55.41666793823242 12)"><text x="55.41666793823242" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">watchtower</text></g><g mask="url(#mask-tq_RdSkkq6QCQ8X9D97Eg)" stroke-linecap="round"><g transform="translate(751.3083343505859 295) rotate(0 -20.919873570785228 -39.88373555272352)"><path d="M0.97 -0.08 C-6.08 -6.54, -42.93 -25.21, -42.79 -38.19 C-42.66 -51.16, -5.32 -70.99, 1.8 -77.92 M0.02 -1.16 C-7.13 -7.57, -43.87 -24.19, -43.64 -37.27 C-43.4 -50.36, -5.75 -72.74, 1.45 -79.69" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(751.3083343505859 295) rotate(0 -20.919873570785228 -39.88373555272352)"><path d="M-14.94 -54.14 C-12.69 -59.83, -4.69 -69.53, 0.24 -80.19 M-14.1 -53.9 C-9.34 -61.57, -4.21 -71.02, 1.3 -78.73" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(751.3083343505859 295) rotate(0 -20.919873570785228 -39.88373555272352)"><path d="M-27.34 -70.5 C-21.79 -72.04, -10.57 -77.49, 0.24 -80.19 M-26.5 -70.25 C-17.79 -72.76, -8.75 -77.05, 1.3 -78.73" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-tq_RdSkkq6QCQ8X9D97Eg"><rect x="0" y="0" fill="#fff" width="895.3083343505859" height="474"></rect><rect x="686.2916679382324" y="246" fill="#000" width="44.03333282470703" height="24" opacity="1"></rect></mask><g transform="translate(686.2916679382324 246) rotate(0 44.09679284156829 9.116264447276478)"><text x="22.016666412353516" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">uses</text></g><g mask="url(#mask-QsEdMk5cnaAxWmaCezO8Y)" stroke-linecap="round"><g transform="translate(1104.308334350586 908) rotate(0 -282.6933824051637 -208.28722695186735)"><path d="M-0.84 0.26 C-76.82 -24.91, -360.84 -81.83, -454.98 -151.34 C-549.12 -220.86, -547.21 -372.61, -565.7 -416.83 M0.92 -0.65 C-75.29 -25.62, -361.38 -80.77, -455.92 -149.98 C-550.46 -219.2, -548.03 -371.63, -566.3 -415.96" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1104.308334350586 908) rotate(0 -282.6933824051637 -208.28722695186735)"><path d="M-549.8 -390.59 C-556.72 -399.66, -563.53 -409.4, -567.46 -416.63 M-549.86 -391.06 C-554.82 -396.21, -559.05 -402.81, -566.27 -416.37" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1104.308334350586 908) rotate(0 -282.6933824051637 -208.28722695186735)"><path d="M-569.85 -386.19 C-569.3 -396.75, -568.64 -408.13, -567.46 -416.63 M-569.9 -386.66 C-569.7 -392.96, -568.76 -400.69, -566.27 -416.37" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-QsEdMk5cnaAxWmaCezO8Y"><rect x="0" y="0" fill="#fff" width="1770.308334350586" height="1424"></rect><rect x="496.26666259765625" y="745" fill="#000" width="306.0833435058594" height="24" opacity="1"></rect></mask><g transform="translate(496.26666259765625 745) rotate(0 325.348289347766 -45.28722695186735)"><text x="153.0416717529297" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Deploys (both) using Terraform</text></g><g stroke-linecap="round" transform="translate(57.30833435058594 848) rotate(0 272 141)"><path d="M32 0 M32 0 C196.3 -1.7, 361.3 -0.55, 512 0 M32 0 C191.03 1.66, 349.47 1.29, 512 0 M512 0 C532.09 1.92, 545.43 11.75, 544 32 M512 0 C532.38 1.84, 542.57 11.74, 544 32 M544 32 C542.71 107.15, 545.2 180.78, 544 250 M544 32 C543.16 107.71, 542.35 183.18, 544 250 M544 250 C545.31 271.54, 533.36 280.45, 512 282 M544 250 C545.44 271.04, 531.3 279.75, 512 282 M512 282 C386.59 281.4, 261.62 281.07, 32 282 M512 282 C372.63 283.22, 233.09 282.54, 32 282 M32 282 C10.47 283.14, 1.66 270.98, 0 250 M32 282 C8.9 282.29, -1.96 270.17, 0 250 M0 250 C0.3 168.89, -2.18 90.46, 0 32 M0 250 C-0.24 202.1, -0.15 152.67, 0 32 M0 32 C0.6 9.55, 10.85 -1.2, 32 0 M0 32 C0.33 9.57, 10.86 -0.71, 32 0" stroke="#5c940d" stroke-width="1" fill="none"></path></g><g transform="translate(62.30833435058594 1101) rotate(0 68.60832977294922 12)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#5c940d" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"> StatusCake</text></g><g stroke-linecap="round" transform="translate(93.30833435058594 875) rotate(0 234 35.5)"><path d="M17.75 0 M17.75 0 C127.06 1.25, 235.01 1.55, 450.25 0 M17.75 0 C118.18 1.97, 217.88 1.67, 450.25 0 M450.25 0 C460.94 -2, 469.37 5.28, 468 17.75 M450.25 0 C459.86 0.19, 469.27 6.21, 468 17.75 M468 17.75 C467.92 26.92, 468.06 37.72, 468 53.25 M468 17.75 C467.3 26.46, 467.41 36.44, 468 53.25 M468 53.25 C468.71 66.35, 460.23 71.25, 450.25 71 M468 53.25 C468.82 65.05, 464.11 70.01, 450.25 71 M450.25 71 C304.19 72.81, 158.8 73.28, 17.75 71 M450.25 71 C321.81 70.99, 192.87 70.98, 17.75 71 M17.75 71 C4.72 69.16, -0.9 64.05, 0 53.25 M17.75 71 C7.11 69.8, 0.95 65.11, 0 53.25 M0 53.25 C-1.51 40.73, -0.21 26.31, 0 17.75 M0 53.25 C0.73 42.24, 0.04 29.66, 0 17.75 M0 17.75 C-0.81 4.14, 6.9 1.97, 17.75 0 M0 17.75 C0.44 6.54, 3.7 -0.63, 17.75 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(255.04166412353516 898.5) rotate(0 72.26667022705078 12)"><text x="72.26667022705078" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Uptime Monitor</text></g><g stroke-linecap="round" transform="translate(96.30833435058594 971) rotate(0 231.5 32)"><path d="M16 0 M16 0 C168.55 -1.28, 323.38 -1.42, 447 0 M16 0 C183.48 -0.37, 350.31 -0.82, 447 0 M447 0 C456.27 0.87, 462.95 3.59, 463 16 M447 0 C457.51 1.27, 463.6 5.59, 463 16 M463 16 C461.9 25.38, 463.84 35.78, 463 48 M463 16 C463.67 26.94, 462.37 38.33, 463 48 M463 48 C463.03 58.72, 458.15 62.32, 447 64 M463 48 C460.79 59.67, 458.79 63.4, 447 64 M447 64 C343.33 63.04, 238.84 62.31, 16 64 M447 64 C358.95 62.52, 271.52 62.45, 16 64 M16 64 C6.61 65.3, -1.03 60.01, 0 48 M16 64 C5.21 63.22, -1.7 60.5, 0 48 M0 48 C1.83 39.89, -2.04 28.16, 0 16 M0 48 C0.26 39.4, 0.09 29.66, 0 16 M0 16 C-0.3 7.32, 5.12 1.17, 16 0 M0 16 C0.91 6.04, 5.23 -1.23, 16 0" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(264.59166717529297 991) rotate(0 63.21666717529297 12)"><text x="63.21666717529297" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Push Monitor</text></g><g mask="url(#mask-E9dCAcUakwH1NhpjKnzu2)" stroke-linecap="round"><g transform="translate(272.30833435058594 860) rotate(0 20.05640299396123 -131.58170434498697)"><path d="M0.03 0.29 C3.43 -22.24, 14.08 -91.54, 20.99 -135.15 C27.91 -178.77, 38.24 -240.16, 41.52 -261.42 M-1.41 -0.61 C2.3 -23.03, 16.1 -90.41, 23.17 -134.22 C30.25 -178.03, 38.1 -242.16, 41.03 -263.45" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(272.30833435058594 860) rotate(0 20.05640299396123 -131.58170434498697)"><path d="M48.01 -235.84 C43.34 -243.51, 43.97 -255.12, 39.87 -264.26 M47.72 -233.89 C45.05 -240.56, 43.91 -247.17, 41.35 -263.66" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(272.30833435058594 860) rotate(0 20.05640299396123 -131.58170434498697)"><path d="M27.67 -238.52 C30.09 -245.25, 37.82 -255.94, 39.87 -264.26 M27.38 -236.57 C29.01 -242.86, 32.16 -248.92, 41.35 -263.66" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-E9dCAcUakwH1NhpjKnzu2"><rect x="0" y="0" fill="#fff" width="413.30833435058594" height="1222"></rect><rect x="208.11666870117188" y="702" fill="#000" width="172.38333129882812" height="48" opacity="1"></rect></mask><g transform="translate(208.11666870117188 702) rotate(0 84.24806864337529 26.418295655013026)"><text x="86.19166564941406" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Monitors </text><text x="86.19166564941406" y="24" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">demo.hedgedoc.org</text></g><g mask="url(#mask-txDPd-pLrQcvCNZXFTGoA)" stroke-linecap="round"><g transform="translate(1631.308334350586 741) rotate(0 -530.6289477951825 197.80390600234762)"><path d="M0.7 -1.01 C-70.64 63.47, -252.1 341.92, -429.21 387.58 C-606.32 433.23, -956.67 292.03, -1061.96 272.93 M-0.39 1.08 C-71.71 65.13, -253.22 340.76, -429.75 385.76 C-606.28 430.75, -954.41 290.21, -1059.57 271.07" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1631.308334350586 741) rotate(0 -530.6289477951825 197.80390600234762)"><path d="M-1031.33 270.1 C-1034.69 267.82, -1040.12 269.92, -1057.93 271.92 M-1028.76 268.42 C-1036.19 269.47, -1043.98 270.84, -1059.19 271.09" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(1631.308334350586 741) rotate(0 -530.6289477951825 197.80390600234762)"><path d="M-1036.86 289.86 C-1039.23 283.58, -1043.55 281.71, -1057.93 271.92 M-1034.29 288.18 C-1040.63 284.67, -1047.15 281.49, -1059.19 271.09" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-txDPd-pLrQcvCNZXFTGoA"><rect x="0" y="0" fill="#fff" width="2792.308334350586" height="1228"></rect><rect x="1105.841667175293" y="1104" fill="#000" width="190.93333435058594" height="48" opacity="1"></rect></mask><g transform="translate(1105.841667175293 1104) rotate(0 -5.162280619889543 -165.19609399765238)"><text x="95.46666717529297" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Notifies on success</text><text x="95.46666717529297" y="24" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"></text></g><g mask="url(#mask-GvOtS2yDv3FrNIdm-SzOV)" stroke-linecap="round"><g transform="translate(620.3083343505859 932) rotate(0 244.51292371080723 5.439195482255855)"><path d="M0.45 0.71 C81.89 2.49, 408.02 8.02, 489.8 9.54 M-0.77 0.04 C80.39 2.08, 406.79 9, 488.75 10.84" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(620.3083343505859 932) rotate(0 244.51292371080723 5.439195482255855)"><path d="M461.52 20.15 C470.91 18.45, 482.63 14.17, 490.23 12.54 M460.85 20.9 C467.15 17.44, 471.92 16.49, 488.85 11.48" stroke="#000000" stroke-width="1" fill="none"></path></g><g transform="translate(620.3083343505859 932) rotate(0 244.51292371080723 5.439195482255855)"><path d="M461.97 -0.36 C470.99 6.06, 482.53 9.89, 490.23 12.54 M461.3 0.39 C467.32 1.18, 472 4.49, 488.85 11.48" stroke="#000000" stroke-width="1" fill="none"></path></g></g><mask id="mask-GvOtS2yDv3FrNIdm-SzOV"><rect x="0" y="0" fill="#fff" width="1210.308334350586" height="1042"></rect><rect x="783.6666641235352" y="925" fill="#000" width="163.28334045410156" height="24" opacity="1"></rect></mask><g transform="translate(783.6666641235352 925) rotate(0 81.15459393785801 12.439195482255855)"><text x="81.64167022705078" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#000000" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">alerts via e-mail</text></g></svg> \ No newline at end of file diff --git a/terraform/hedgedoc-demo/ssh.tf b/terraform/hedgedoc-demo/ssh.tf deleted file mode 100644 index db794f29d..000000000 --- a/terraform/hedgedoc-demo/ssh.tf +++ /dev/null @@ -1,2 +0,0 @@ -data "hcloud_ssh_keys" "all_keys" { -} diff --git a/terraform/hedgedoc-demo/templates/cloud-init.tpl b/terraform/hedgedoc-demo/templates/cloud-init.tpl deleted file mode 100644 index 66c3d2de0..000000000 --- a/terraform/hedgedoc-demo/templates/cloud-init.tpl +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/bash - -set -e - -dnf upgrade -y - -# Enable automatic updates -dnf install -y dnf-automatic - -systemctl enable --now dnf-automatic-install.timer - -# Install docker -dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin -systemctl enable --now docker - -# Setup volume -echo "/dev/sdb /srv xfs discard,nofail,defaults 0 0" >> /etc/fstab -mount /dev/sdb /srv - -mountpoint /srv - -# Create docker-compose backup -if -e /srv/docker-compose.yaml; then - mv /srv/docker-compose.yaml /srv/docker-compose.yaml.1 -fi - -CUR=1 -for i in $(seq 2 10); do - if -e "/srv/docker-compose.yaml.$${CUR}"; then - mv "/srv/docker-compose.yaml.$${CUR}" "/srv/docker-compose.yaml.$${i}" - else - break - fi - CUR="$${i}" -done - -cat > /srv/docker-compose.yaml <<EOF -${docker_compose_file} -EOF - -cd /srv - -docker compose up -d - -dnf install -y epel-release -dnf install -y restic - -mkdir -p /root/.cache/ - -cat > /etc/sysconfig/restic <<EOF -BACKUP_PATHS="/srv" -B2_ACCOUNT_ID=${restic_b2_account_id} -B2_ACCOUNT_KEY=${restic_b2_account_key} -RETENTION_DAYS=7 -RETENTION_WEEKS=2 -RETENTION_MONTHS=3 -RETENTION_YEARS=1 -RESTIC_REPOSITORY=${restic_repo_url} -RESTIC_PASSWORD=${restic_repo_password} -RESTIC_CACHE_DIR=/root/.cache/restic -EOF - -set -a -source /etc/sysconfig/restic -set +a - -if ! restic snapshots; then - restic init -fi - -# Inspired by https://fedoramagazine.org/automate-backups-with-restic-and-systemd/ -# Inspired by https://www.mavjs.org/post/automatic-backup-restic-systemd-service/ -cat > /etc/systemd/system/offsite-backup.service <<EOF -[Unit] -Description=Offsite backup with restic -After=network-online.target -Wants=network-online.target - -[Service] -Type=simple -# Low CPU priority -CPUShares=512 -EnvironmentFile=/etc/sysconfig/restic -ExecStart=/usr/local/libexec/restic-backup-hedgedoc -EOF - -# Inspired by https://github.com/mhw/restic-backup-scripts/blob/e3fe81ba25acc5ae3ccdb28807eea8b0be38ce20/postgresql-backup.sh -cat > /usr/local/libexec/restic-backup-hedgedoc <<EOF -#!/bin/bash -set -e -set -o pipefail - -# Run general backup, excluding the database -/usr/bin/restic backup /srv \ - --exclude=/srv/database/* \ - --one-file-system \ - --tag systemd.timer \ - --tag persistentvolume - -cd /srv - -# Run database backup separately by dumping the database for consistency -docker compose exec database pg_dump --create --clean --if-exists --no-owner --no-privileges -U ${hedgedoc_db_user} hedgedoc | \ - gzip --rsyncable | \ - restic backup \ - --stdin --stdin-filename postgresql/hedgedoc.sql.gz \ - --tag "systemd.timer" \ - --tag "hedgedoc-database" - -# Notify monitoring about success -curl --retry-all-errors --retry 10 '${restic_monitoring_url}' -EOF -chmod +x /usr/local/libexec/restic-backup-hedgedoc - -cat > /etc/systemd/system/offsite-backup-prune.service <<EOF -[Unit] -Description=Restic backup service (data pruning) -After=network-online.target -Wants=network-online.target - -[Service] -Type=oneshot -EnvironmentFile=/etc/sysconfig/restic -ExecStart=/usr/bin/restic forget --prune \ - --tag systemd.timer \ - --group-by "paths,tags" \ - --keep-daily \$RETENTION_DAYS \ - --keep-weekly \$RETENTION_WEEKS \ - --keep-monthly \$RETENTION_MONTHS \ - --keep-yearly \$RETENTION_YEARS -EOF - -cat > /etc/systemd/system/offsite-backup.timer <<EOF -[Unit] -Description=Offsite backup with restic -After=network-online.target -Wants=network-online.target - -[Timer] -OnCalendar=daily -Persistent=true -RandomizedDelaySec=600 - -[Install] -WantedBy=timers.target -EOF - -cat > /etc/systemd/system/offsite-backup-prune.timer <<EOF -[Unit] -Description=Prune data from the restic repository monthly -After=network-online.target -Wants=network-online.target - -[Timer] -OnCalendar=*-*-* 4:00:00 -Persistent=true -RandomizedDelaySec=600 - -[Install] -WantedBy=timers.target -EOF - -systemctl daemon-reload -systemctl enable --now offsite-backup.timer offsite-backup-prune.timer - -sleep 60 - -reboot diff --git a/terraform/hedgedoc-demo/templates/docker-compose.tpl b/terraform/hedgedoc-demo/templates/docker-compose.tpl deleted file mode 100644 index e5ee42a7e..000000000 --- a/terraform/hedgedoc-demo/templates/docker-compose.tpl +++ /dev/null @@ -1,165 +0,0 @@ -version: '2' -services: - database: - # renovate: - image: docker.io/library/postgres:13 - mem_limit: 896mb - memswap_limit: 1024mb - read_only: true - tmpfs: - - /run/postgresql:size=512K - - /tmp:size=128K - stop_grace_period: 2m - stop_signal: SIGINT - environment: - - POSTGRES_USER=${hedgedoc_db_user} - - POSTGRES_PASSWORD=${hedgedoc_db_password} - - POSTGRES_DB=hedgedoc - volumes: - - ./database:/var/lib/postgresql/data:z - networks: - backend: - restart: always - - hedgedoc: - # renovate: - image: quay.io/hedgedoc/hedgedoc-nightly:debian - mem_limit: 1gb - memswap_limit: 1536mb - read_only: true - tmpfs: - - /tmp:size=10M - depends_on: - - database - environment: - - "CMD_DB_URL=postgres://${hedgedoc_db_user}:${hedgedoc_db_password}@database:5432/hedgedoc" - - "CMD_DOMAIN=demo.hedgedoc.org" - - "CMD_PROTOCOL_USESSL=true" - - "CMD_URL_ADDPORT=false" - - "CMD_SESSION_SECRET=${hedgedoc_session_secret}" - - "CMD_MINIO_PORT=443" - - "CMD_MINIO_ENDPOINT=${hedgedoc_minio_endpoint}" - - "CMD_MINIO_ACCESS_KEY=${hedgedoc_minio_accesskey}" - - "CMD_MINIO_SECRET_KEY=${hedgedoc_minio_secretkey}" - - "CMD_MINIO_SECURE=true" - - "CMD_IMAGE_UPLOAD_TYPE=minio" - - "CMD_S3_BUCKET=${hedgedoc_minio_bucketname}" - - "CMD_GITHUB_CLIENTID=${hedgedoc_github_clientid}" - - "CMD_GITHUB_CLIENTSECRET=${hedgedoc_github_clientsecret}" - - "CMD_USECDN=false" - - "CMD_ALLOW_FREE_URL=false" - - "CMD_EMAIL=true" - - "CMD_ALLOW_PDF_EXPORT=false" - - "CMD_CSP_REPORTURI=https://hedgedoc.report-uri.com/r/d/csp/enforce" - - "CMD_OPENID=true" - - "CMD_TOOBUSY_LAG=250" - - "CMD_CSP_ALLOW_FRAMING=false" - - "CMD_CSP_ADD_DISQUS=false" - - "CMD_CSP_ADD_GOOGLE_ANALYTICS=false" - - labels: - - "traefik.http.routers.hedgedoc_demo.rule=Host(\`demo.hedgedoc.org\`) && PathPrefix(\`/\`) && ! PathPrefix(\`/metrics\`)" - - "traefik.http.routers.hedgedoc_demo.entrypoints=websecure" - - "traefik.http.routers.hedgedoc_demo.tls=true" - - "traefik.http.routers.hedgedoc_demo.tls.certresolver=letsencrypt_http" - - "traefik.http.routers.hedgedoc_demo.middlewares=hedgedoc_demo" - - "traefik.http.routers.hedgedoc_demo.service=hedgedoc_demo" - - "traefik.http.services.hedgedoc_demo.loadbalancer.server.port=3000" - - "traefik.http.middlewares.hedgedoc_demo.headers.sslredirect=true" - - "traefik.http.middlewares.hedgedoc_demo.headers.stsSeconds=63072000" - - "traefik.http.middlewares.hedgedoc_demo.headers.browserXssFilter=true" - - "traefik.http.middlewares.hedgedoc_demo.headers.contentTypeNosniff=true" - - - "traefik.enable=true" - - "traefik.port=3000" - - "traefik.docker.network=proxy" - - - volumes: - - './privacy.md:/hedgedoc/public/docs/privacy.md:ro,z' - - networks: - backend: - proxy: - restart: always - - minio: - # renovate: - image: docker.io/minio/minio:latest - mem_limit: 256mb - memswap_limit: 512mb - read_only: true - tmpfs: - - /root/.minio:size=128K - environment: - - "MINIO_ACCESS_KEY=${hedgedoc_minio_accesskey}" - - "MINIO_SECRET_KEY=${hedgedoc_minio_secretkey}" - - "MINIO_BROWSER=off" - - "MINIO_DOMAIN=${hedgedoc_minio_endpoint}" - volumes: - - "./s3-storage:/data:z" - command: ["server", "/data"] - restart: always - labels: - - "traefik.http.routers.minio_hedgedoc.rule=Host(\`${hedgedoc_minio_endpoint}\`) && PathPrefix(\`/\`)" - - "traefik.http.routers.minio_hedgedoc.entrypoints=websecure" - - "traefik.http.routers.minio_hedgedoc.tls=true" - - "traefik.http.routers.minio_hedgedoc.tls.certresolver=letsencrypt_http" - - "traefik.http.routers.minio_hedgedoc.middlewares=minio_hedgedoc" - - "traefik.http.routers.minio_hedgedoc.service=minio_hedgedoc" - - "traefik.http.services.minio_hedgedoc.loadbalancer.server.port=9000" - - "traefik.http.middlewares.minio_hedgedoc.headers.sslredirect=true" - - "traefik.http.middlewares.minio_hedgedoc.headers.stsSeconds=63072000" - - "traefik.http.middlewares.minio_hedgedoc.headers.referrerPolicy=no-referrer" - - "traefik.http.middlewares.minio_hedgedoc.headers.contentTypeNosniff=true" - - "traefik.http.middlewares.minio_hedgedoc.headers.browserXssFilter=true" - - "traefik.enable=true" - - "traefik.port=9000" - - "traefik.docker.network=proxy" - - networks: - proxy: - - proxy: - # renovate: - image: docker.io/library/traefik:v2.10 - security_opt: - - "label:disable" - read_only: true - restart: always - - ports: - - "80:80" - - "443:443" - - volumes: - - "./acme:/etc/traefik/acme:z" - - "/var/run/docker.sock:/var/run/docker.sock" - - command: - - "--entryPoints.web.address=:80" - - "--entryPoints.websecure.address=:443" - - "--accesslog=false" - - "--providers.docker=true" - - "--certificatesResolvers.letsencrypt_http.acme.email=${letsencrypt_email}" - - "--certificatesResolvers.letsencrypt_http.acme.storage=/etc/traefik/acme/acme-v2.json" - - "--certificatesResolvers.letsencrypt_http.acme.httpChallenge.entrypoint=web" - - networks: - proxy: - - watchtower: - # renovate: - image: docker.io/containrrr/watchtower:latest - restart: always - security_opt: - - "label:disable" - environment: - - "WATCHTOWER_CLEANUP=true" - volumes: - - "/var/run/docker.sock:/var/run/docker.sock" - -networks: - proxy: - name: proxy - backend: \ No newline at end of file diff --git a/terraform/hedgedoc-demo/terraform.enc.tfvars b/terraform/hedgedoc-demo/terraform.enc.tfvars deleted file mode 100644 index 7a71db85a..000000000 --- a/terraform/hedgedoc-demo/terraform.enc.tfvars +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": "ENC[AES256_GCM,data:AvfL4Gvv1+/YJi/7Qcq42x24lK9irGWnTmo8cvazsYgMOciIyCz7Jru6LItoCMrALgXSfuT6v2ezgQJ++shTBllfOnGfvyk4nIjNeeJDwellVoardgiwBO+xxUSyHG6exbuODFw0xE0m3N1hSOyyy1wbOpG6pFGDfkZYtzD6F5MVzyGBpgg+py3/nggIMtWwrm03frSxWESggJ+bLQWsOmVqXVq9fWEAsB4tXfsaR3QaALcyAEeyVNB+111abhxuSLn/+jQHuzovQky8ORpLBGRlR7VtWj2Z6xnJ+KsSWtONJn1qdZddi24ybrJ33R8OCDX2ISQx0wV/XG5APAquAxeNsSik3nOBIqhHjWM9gTNrZohyfGc044WO9xF6zKqSKpuZ8zqnEqd/0qcWUvvFeFL4UEXtYugAQm1LbSj21ulYLEkO0KSMwHTLdeysa53KECBL9rkRh2FjXFtxva7ctDjE5uyfE4sqEB3VpdRu3Frd3nDTrKbI5qtf99Ujbv8fwCkrxKMEkYmHXGBRtBndabafknugUPTCfWk0eLLzxAJ/hSWJ/tFciALFPujqEdtM78zpBvYbmr68DuqO3zq8i2r+7tFhZKHYk6Sk/+kWB202I4RoO5d/MV1tx7ZSvFVeYxJJfRb+ZHR7RfEofLv+EE/Ku7YCb8ABzFPvnTZpqaLxc8BLnl5ahoZzvyhrngu5ZIwVjW9s/SkjynslPC0l2PH7gHpVLXH6rz3ggUU8siOW1885Khwp/Par3vG2C7wXGjXSVitzVM+ssRSI55TVr81ar2DJtriujPBR7vUJnQ1yexOOyPMwg0Q804MjXsFE0N4POB0zIOU390LscyEzLKblqUhi843yrZX+Y4n0AbmZpOUMsDgqqa9BhdrHtMGRGWd6xT+bDwc4mcysHS1VHr+oDaAU4oNh/Px4168DFsLhXexPBtneCV3AEZ1LscL0DjGxVlaNKD6hcl1JqIGwIM+6QbDmpAhjIPNFHR2PYBmYJ9Q92WYUkQw3/CubZ7amY7ItANERBPyYQ5uB1Oq/2LniL4QmLiBFZTOse6amunzwJMMkfEaKqHs+ELjPVSl3qCJjGtHVKDOybbRTX+k4Q22xMI8Vbk71ix60zkUNxnxxpwTaOPE/HhNsPWF3KuXJwXC+xlnG4SPjQAgk0qKyIGNBs0YFV8WVw5mKbSUTxNPndbU2Y1KYnU9L6vyKYBsNST9wg0ehiZPpZlmaRdHrnS7hTX6220nXuUM59ef0cBzZqrbGmVVTgxjI1KA+Cw7xJwr9iMf0JY6vb+s3V7gw9XZ5xJY20JRZsgrAzOAMBWBCtFjEt7UqqcloGQ6zDIsGhnMUdJC/Xxaf/PmxuD/RjUBk8mlaSfIAX43xKVJsRpcX96k+3GtF/lRGnu+AOprwsdqtx0mmdi1/GL8ph7/le+WZHvmyTZ00Y5VQ9mgX/BloY2dK+Yem6zCN/cxlwzTX0ZTdOZ93COs=,iv:wl3rX28j9AxiIldid/fnnbLUEW22WI+KpyH7i+GGJnM=,tag:aDwZAuHYWXhA3gpVIHG25g==,type:str]", - "sops": { - "kms": null, - "gcp_kms": null, - "azure_kv": null, - "hc_vault": null, - "age": null, - "lastmodified": "2023-03-01T00:12:49Z", - "mac": "ENC[AES256_GCM,data:0ooMWpnFkMGj2qI+ZrStExZoxRCkKLa00BqQLFIiG09Qq3JKrbixpR2a/AP7zloauB8TtSyl5DvXHSvpRvWMjvMhA61aUk6w3WQ0I3mdTZv7TLzP172lPo6DzvG35e8TAujH+fEUNfFW0zutMff/Z/9zWJJ5H9f6Z6IusrD1qkA=,iv:4YdQREC5g6chGJjFBKLW0RzZXIpsRHS3SxVEKixCgJU=,tag:AVNiRyZLwLmdesdyWwqp1g==,type:str]", - "pgp": [ - { - "created_at": "2023-03-01T00:12:49Z", - "enc": "-----BEGIN PGP MESSAGE-----\n\nwcFMA7kpg2bgzVHcAQ/+MdRgsdX6mCEGY3Tuqy4Kf2HrCpV1eNLJIgEjMJXupTVZ\nqSVhT5TRDt1kSW7D0czHJTS/Nm9nD6Y0+MFY+UMK2VqFkLPatfkyMHli5JIskpR1\nyi+UsZ5o3UQBjccM7m91kaF3me/+92h2EE2monVFPYNsABlXmNjS9yqei2Jm63ry\nXVCWCpKPLmDDOpCZk7CnJggKO2f+gdgT3JGapkSU0j8to3JoleLuszSDxmiE8S7/\nrmMNTzRzOynN6lLZkS6nQQpYBM9fYzpyxN1AexeX2qzKT18oajcu7uws9Rq5Nr7Z\naS4sPmnJfkIwG5PVBlDg/5GKt4QiMIPHXFl86QW64Du2Roe4T01G3af2FzniDrxi\npL3CgXx+HpcievUI9+fs3as77r0DTIpHZOyTmTW4PDczqdNjviTIlCse/2GiYPhJ\ngHlBkGUoY1CWpJgU4bYZjeJ9DFWSVSkYvjLUO146TyiK+AmNCykff9ipXjH5TKto\nktT80Tgd2rgzgq+536aswr7a86X7PuYXjqJ4qXYM3F+7sRJF5ZEVcuOnsWzpZ8Rh\nAi5tuwWUmCR7bfJHShp381iZbkfT6TWwa4hOx9sXNLtebgf8DOynhPMP9itCIUnE\nJxg/1EtxOp4AvyjqLv0LgRv/tZa58HEGVSKBdWyR96Vq4JQqkVNF1S4PLUHuA+TS\nUQEBoS5+5Zo8nJp/LnZ7k1rzodu7MjZnwbnbkaXTjMZKl0gi2n2NLeITghfgWyQE\nqMUiOZAp+wM676u1r8Mnj8wILofk2EejikMK45bDp7BGQw==\n=xjMK\n-----END PGP MESSAGE-----", - "fp": "286791FB6648539775DB31B8FCB98C2A3EC6F601" - } - ], - "unencrypted_suffix": "_unencrypted", - "version": "3.7.3" - } -} \ No newline at end of file diff --git a/terraform/hedgedoc-demo/variables.tf b/terraform/hedgedoc-demo/variables.tf deleted file mode 100644 index 5192f852c..000000000 --- a/terraform/hedgedoc-demo/variables.tf +++ /dev/null @@ -1,137 +0,0 @@ -variable "dns_domain" { - type = string - description = "Name of the Cloudflare domain" - nullable = false -} - -variable "dns_zone_id" { - type = string - description = "Zone ID of the Cloudflare domain" - nullable = false -} - -variable "location" { - type = string - description = "Region used to deploy the Hetzner Cloud instance. See: https://docs.hetzner.cloud/#locations" - default = "nbg1" - nullable = false -} - -variable "ssh_firewall_cidr" { - type = list(string) - description = "List of CIDRs addresses that are allow to SSH into the host" - default = ["127.0.0.1/32"] - nullable = false -} - -variable "hedgedoc_db_user" { - type = string - description = "Username used to authenticate to the PostgreSQL database. See: https://docs.hedgedoc.org/configuration/#hedgedoc-basics" - nullable = false -} - -variable "hedgedoc_db_password" { - type = string - description = "Password used to authenticate to the PostgreSQL database. See: https://docs.hedgedoc.org/configuration/#hedgedoc-basics" - sensitive = true - nullable = false -} - -variable "hedgedoc_session_secret" { - type = string - description = "Secret used for securing the Hedgedoc session token, this ensures after a restart users stay authenticated. See: https://docs.hedgedoc.org/configuration/#users-and-privileges" - sensitive = true - nullable = false -} - -variable "hedgedoc_minio_accesskey" { - type = string - description = "S3/Minio access key/ id for authentication. See: https://docs.hedgedoc.org/guides/minio-image-upload/" - sensitive = true - nullable = false -} - -variable "hedgedoc_minio_secretkey" { - type = string - description = "S3/Minio secret key for authentication. See: https://docs.hedgedoc.org/guides/minio-image-upload/" - sensitive = true - nullable = false -} - -variable "hedgedoc_minio_endpoint" { - type = string - description = "Connection Endpoint used for uploading files to S3/Minio backend. See: https://docs.hedgedoc.org/guides/minio-image-upload/" - nullable = false -} - -variable "hedgedoc_minio_bucketname" { - type = string - description = "Name of the S3/Minio Bucket. See: https://docs.hedgedoc.org/guides/minio-image-upload/" - nullable = false -} - -variable "hedgedoc_github_clientid" { - type = string - description = "GitHub Client ID used for GitHub SSO. See: https://docs.hedgedoc.org/guides/auth/github/" - sensitive = true - nullable = false -} - -variable "hedgedoc_github_clientsecret" { - type = string - description = "GitHub Client Secret used for GitHub SSO. See: https://docs.hedgedoc.org/guides/auth/github/" - sensitive = true - nullable = false -} - -variable "restic_b2_account_id" { - type = string - description = "ID to access B2 backup storage. See: https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#backblaze-b2" - sensitive = true - nullable = false -} - -variable "restic_b2_account_key" { - type = string - description = "Token to access B2 backup storage. See: https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#backblaze-b2" - sensitive = true - nullable = false -} - -variable "restic_repo_url" { - type = string - description = "URL for restric backup location, should start with b2:. See: https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#backblaze-b2" - nullable = false -} - -variable "restic_repo_password" { - type = string - description = "Password used to secure the restic backups. See: https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html" - sensitive = true - nullable = false -} - -variable "restic_monitoring_url" { - type = string - description = "URL that curl will call after finishing a backup, allows push monitoring" - default = "http://example.com" - sensitive = true - nullable = false -} - -variable "letsencrypt_email" { - description = "E-Mail address used for Let's Encrypt certificates" - nullable = false -} - -variable "cloudflare_api_token" { - description = "API token for Cloudflare authentication. See: https://developers.cloudflare.com/fundamentals/api/get-started/create-token/" - sensitive = true - nullable = false -} - -variable "hcloud_token" { - description = "API token for Hetzner Cloud authentication. See: https://docs.hetzner.cloud/#getting-started" - sensitive = true - nullable = false -} diff --git a/terraform/hedgedoc-demo/versions.tf b/terraform/hedgedoc-demo/versions.tf deleted file mode 120000 index 8bd0ff140..000000000 --- a/terraform/hedgedoc-demo/versions.tf +++ /dev/null @@ -1 +0,0 @@ -../versions.tf \ No newline at end of file -- GitLab