commit 16c2cb854e2a69f580a2a804b09fca6a434dce6a Author: Yuri Lima Date: Sun May 12 07:39:55 2024 +0000 first commit diff --git a/.env b/.env new file mode 100644 index 0000000..5958616 --- /dev/null +++ b/.env @@ -0,0 +1,24 @@ +# ===== Enviroment Stage ====== +ENV_MODE=production +# ====== Database Configuration ====== +POSTGRES_PASSWORD=6MaBQd9ICYeZnCb +PGADMIN_DEFAULT_PASSWORD=bET23d76xKArCqf +# ====== Phoenix Super Admin Configuration ====== +SUPER_ADMIN_USER_PASSWORD=zrRzSW5pC4cWwroX976oXcGQU +# ====== Redis Configuration ====== +REDIS_PASSWORD=sBCuVsJkKTSErgF +# ====== Worker Configuration ====== +RUN_JOB_QUEUE=1 +# ====== Email Configuration ====== +SMTP_FROM="info@phx-erp.de" +SMTP_TYPE='smtp' +SMTP_NAME='mail.phx-erp.de' +SMTP_HOST='mail.phx-erp.de' +SMTP_PORT=465 +SMTP_SECURE='true' +SMTP_USER='yuri.lima@phx-erp.de' +SMTP_PASS='0rB0@et68' +SMTP_LOGGING='true' +SMTP_DEBUG='true' +SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace +SMTP_SECURE_CONNECTION='true' # Not in use diff --git a/.env.12497.2023-10-03@14:44:13~ b/.env.12497.2023-10-03@14:44:13~ new file mode 100644 index 0000000..ea9e639 --- /dev/null +++ b/.env.12497.2023-10-03@14:44:13~ @@ -0,0 +1,24 @@ +# ===== Enviroment Stage ====== +ENV_MODE=production +# ====== Database Configuration ====== +POSTGRES_PASSWORD= +PGADMIN_DEFAULT_PASSWORD= +# ====== Phoenix Super Admin Configuration ====== +SUPER_ADMIN_USER_PASSWORD= +# ====== Redis Configuration ====== +REDIS_PASSWORD= +# ====== Worker Configuration ====== +RUN_JOB_QUEUE=1 +# ====== Email Configuration ====== +SMTP_FROM="info@phx-erp.de" +SMTP_TYPE='smtp' +SMTP_NAME='mail.phx-erp.de' +SMTP_HOST='mail.phx-erp.de' +SMTP_PORT=465 +SMTP_SECURE='true' +SMTP_USER='yuri.lima@phx-erp.de' +SMTP_PASS='0rB0@et68' +SMTP_LOGGING='true' +SMTP_DEBUG='true' +SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace +SMTP_SECURE_CONNECTION='true' # Not in use diff --git a/.env.12801.2023-10-03@14:44:16~ b/.env.12801.2023-10-03@14:44:16~ new file mode 100644 index 0000000..7f912e2 --- /dev/null +++ b/.env.12801.2023-10-03@14:44:16~ @@ -0,0 +1,24 @@ +# ===== Enviroment Stage ====== +ENV_MODE=production +# ====== Database Configuration ====== +POSTGRES_PASSWORD=6MaBQd9ICYeZnCb +PGADMIN_DEFAULT_PASSWORD= +# ====== Phoenix Super Admin Configuration ====== +SUPER_ADMIN_USER_PASSWORD= +# ====== Redis Configuration ====== +REDIS_PASSWORD= +# ====== Worker Configuration ====== +RUN_JOB_QUEUE=1 +# ====== Email Configuration ====== +SMTP_FROM="info@phx-erp.de" +SMTP_TYPE='smtp' +SMTP_NAME='mail.phx-erp.de' +SMTP_HOST='mail.phx-erp.de' +SMTP_PORT=465 +SMTP_SECURE='true' +SMTP_USER='yuri.lima@phx-erp.de' +SMTP_PASS='0rB0@et68' +SMTP_LOGGING='true' +SMTP_DEBUG='true' +SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace +SMTP_SECURE_CONNECTION='true' # Not in use diff --git a/.env.13114.2023-10-03@14:44:20~ b/.env.13114.2023-10-03@14:44:20~ new file mode 100644 index 0000000..109d7e9 --- /dev/null +++ b/.env.13114.2023-10-03@14:44:20~ @@ -0,0 +1,24 @@ +# ===== Enviroment Stage ====== +ENV_MODE=production +# ====== Database Configuration ====== +POSTGRES_PASSWORD=6MaBQd9ICYeZnCb +PGADMIN_DEFAULT_PASSWORD=bET23d76xKArCqf +# ====== Phoenix Super Admin Configuration ====== +SUPER_ADMIN_USER_PASSWORD= +# ====== Redis Configuration ====== +REDIS_PASSWORD= +# ====== Worker Configuration ====== +RUN_JOB_QUEUE=1 +# ====== Email Configuration ====== +SMTP_FROM="info@phx-erp.de" +SMTP_TYPE='smtp' +SMTP_NAME='mail.phx-erp.de' +SMTP_HOST='mail.phx-erp.de' +SMTP_PORT=465 +SMTP_SECURE='true' +SMTP_USER='yuri.lima@phx-erp.de' +SMTP_PASS='0rB0@et68' +SMTP_LOGGING='true' +SMTP_DEBUG='true' +SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace +SMTP_SECURE_CONNECTION='true' # Not in use diff --git a/.env.13418.2023-10-03@14:44:24~ b/.env.13418.2023-10-03@14:44:24~ new file mode 100644 index 0000000..0f88aac --- /dev/null +++ b/.env.13418.2023-10-03@14:44:24~ @@ -0,0 +1,24 @@ +# ===== Enviroment Stage ====== +ENV_MODE=production +# ====== Database Configuration ====== +POSTGRES_PASSWORD=6MaBQd9ICYeZnCb +PGADMIN_DEFAULT_PASSWORD=bET23d76xKArCqf +# ====== Phoenix Super Admin Configuration ====== +SUPER_ADMIN_USER_PASSWORD=12345678 +# ====== Redis Configuration ====== +REDIS_PASSWORD=sBCuVsJkKTSErgF +# ====== Worker Configuration ====== +RUN_JOB_QUEUE=1 +# ====== Email Configuration ====== +SMTP_FROM="info@phx-erp.de" +SMTP_TYPE='smtp' +SMTP_NAME='mail.phx-erp.de' +SMTP_HOST='mail.phx-erp.de' +SMTP_PORT=465 +SMTP_SECURE='true' +SMTP_USER='yuri.lima@phx-erp.de' +SMTP_PASS='0rB0@et68' +SMTP_LOGGING='true' +SMTP_DEBUG='true' +SMTP_TLS_REJECT_UNAUTHORIZED='false' # If true will reject self-signed certificates. It will show: Hostname/IP does not match certificate's altnames: Host: mail.phx-erp.de. is not in the cert's altnames: DNS:*.netcup.net, DNS:netcup.net trace +SMTP_SECURE_CONNECTION='true' # Not in use diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..be185c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +logs +database +databaseOLD +volumes +redis +e2e +https_portal/log diff --git a/app_custom/custom-style.css b/app_custom/custom-style.css new file mode 100644 index 0000000..a70e160 --- /dev/null +++ b/app_custom/custom-style.css @@ -0,0 +1,3 @@ +.login-logo-img { + background-image: url("/assets/custom/loginscreen-logo.png")!Important; +} diff --git a/app_custom/loginscreen-logo.png b/app_custom/loginscreen-logo.png new file mode 100644 index 0000000..282e9d9 Binary files /dev/null and b/app_custom/loginscreen-logo.png differ diff --git a/custom_pg_hba.conf b/custom_pg_hba.conf new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose-OLD.yaml b/docker-compose-OLD.yaml new file mode 100644 index 0000000..6e29b04 --- /dev/null +++ b/docker-compose-OLD.yaml @@ -0,0 +1,183 @@ +version: "2.1" +services: + postgres: + restart: always + image: "postgres:15.1-alpine" + container_name: phoenixDB + ports: + - "5432:5432" + environment: + - DEBUG=false + - POSTGRES_DB=phoenix + - "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" + volumes: + - "db-data:/var/lib/postgresql/data" + healthcheck: + test: + - CMD-SHELL + - pg_isready -U postgres + interval: 5s + timeout: 2s + retries: 5 + networks: + - postgres + pgadmin: + restart: always + image: dpage/pgadmin4 + container_name: pgadmin_container + environment: + PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org" + PGADMIN_DEFAULT_PASSWORD: '${PGADMIN_DEFAULT_PASSWORD}' + PGADMIN_CONFIG_SERVER_MODE: 'False' + ports: + - "${PGADMIN_PORT:-5050}:80" + volumes: + - "pgadmin:/var/lib/pgadmin" + networks: + - postgres + phoenix-app: + restart: always + image: "yurimatoslima/phoenix-frontend:alpha" + container_name: phoenixAppProd + volumes: + - "/app_custom:/usr/share/nginx/html/assets/custom" + # - "/nginx/nginx.conf:/etc/nginx/nginx.conf" # Not working !!!!!!!!! + # - phxnginx:/etc/nginx + ports: + - "8081:80" + # - "443:443" + labels: + - "traefik.enable=true" + - "traefik.http.routers.phxalpha.entrypoints=https" + - "traefik.http.routers.phxalpha.rule=Host(`alpha.phx-erp.de`)" + - "traefik.http.routers.phxalpha.middlewares=secHeaders@file" + - "traefik.http.routers.phxalpha.tls=true" + - "traefik.http.routers.phxalpha.tls.certresolver=http" + - "traefik.http.routers.phxalpha.service=phxalpha" + - "traefik.http.services.phxalpha.loadbalancer.server.port=80" + - "traefik.docker.network=proxy" + + - "traefik.http.routers.phxalpha-insecure.entrypoints=http" + - "traefik.http.routers.phxalpha-insecure.rule=Host(`alpha.phx-erp.de`)" + - "traefik.http.routers.phxalpha-insecure.tls=false" + networks: + - proxy + - postgres + depends_on: + - phoenix-system + phoenix-system: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + # container_name: phoenixSystemProd + # env_file: .env + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - RUN_JOB_QUEUE=${RUN_JOB_QUEUE} + - SMTP_FROM=${SMTP_FROM} + - SMTP_TYPE=${SMTP_TYPE} + - SMTP_NAME=${SMTP_NAME} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SECURE=${SMTP_SECURE} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - SMTP_LOGGING=${SMTP_LOGGING} + - SMTP_DEBUG=${SMTP_DEBUG} + - SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED} + - SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION} + - ENV_MODE=${ENV_MODE} + - SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS} + command: [ "npm", "run", "start:server" ] + depends_on: + postgres: + condition: service_healthy + volumes: + - "asset-data:/usr/src/app/packages/dev-server/assets" + - "/server_custom:/usr/src/app/packages/dev-server/custom" # it seems tobe no effect if we make changes, not 100% of sure! + networks: + - postgres + deploy: + replicas: 1 + phoenix-worker: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - REDIS_PASSWORD=${REDIS_PASSWORD} + command: [ "npm", "run", "start:worker" ] + depends_on: + postgres: + condition: service_healthy + volumes: + # - "/opt/containers/phx/assets:/usr/src/app/packages/dev-server/custo/assets" + # - "asset-data:/usr/src/app/packages/dev-server/assets" + - "/server_custom:/usr/src/app/packages/dev-server/custom" + networks: + - postgres + phoenix-redis: + image: 'bitnami/redis:latest' + container_name: redis + #command: redis-server --save 20 1 --appendonly no --requirepass ${REDIS_PASSWORD} --loglevel warning + command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb + user: root + # privileged: true + # ports: + # - 6379:6379 + restart: always + environment: + # REDIS_APPENDFSYNC: "always" + ALLOW_EMPTY_PASSWORD: "no" + # REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + networks: + - postgres + volumes: + - /redis/data:/bitnami/redis/data + https_portal: + container_name: https_portal + image: "steveltn/https-portal:1.21" + restart: unless-stopped + user: "root" + networks: + - postgres # primary network [external] + - proxy # internal network + ports: + - "80:80" + - "443:443" + environment: + STAGE: "production" # Use Let's Encrypt production server + WEBSOCKET: "true" # Enable websocket support + DEBUG: "true" + RENEW_MARGIN_DAYS: 30 + # FORCE_RENEW: 'true' + DOMAINS: + volumes: + - ./volumes/https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs + - ./volumes/https_portal/log:/var/log/nginx # nginx logs + depends_on: + - phoenix-app + - phoenix-system + - pgadmin + - phoenix-redis + - postgres +volumes: + db-data: null + app-data: null + asset-data: null + pgadmin: null + +networks: + postgres: + name: postgres + driver: bridge + proxy: + name: proxy + driver: bridge diff --git a/docker-compose-old.yaml b/docker-compose-old.yaml new file mode 100644 index 0000000..f99cffc --- /dev/null +++ b/docker-compose-old.yaml @@ -0,0 +1,188 @@ +version: "2.1" +services: + postgres: + restart: always + image: "postgres:15.1-alpine" + container_name: phoenixDB + environment: + - DEBUG=false + - POSTGRES_DB=phoenix + - "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" + volumes: + - "db-data:/var/lib/postgresql/data" + healthcheck: + test: + - CMD-SHELL + - pg_isready -U postgres + interval: 5s + timeout: 2s + retries: 5 + networks: + - postgres + pgadmin: + restart: always + image: dpage/pgadmin4 + container_name: pgadmin_container + environment: + PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org" + PGADMIN_DEFAULT_PASSWORD: '${PGADMIN_DEFAULT_PASSWORD}' + PGADMIN_CONFIG_SERVER_MODE: 'False' + ports: + - "${PGADMIN_PORT:-5050}:80" + volumes: + - "pgadmin:/var/lib/pgadmin" + networks: + - postgres + phoenix-app: + restart: always + image: "yurimatoslima/phoenix-frontend:alpha" + container_name: phoenixAppProd + volumes: + - "/app_custom:/usr/share/nginx/html/assets/custom" + # - "/nginx/nginx.conf:/etc/nginx/nginx.conf" # Not working !!!!!!!!! + # - phxnginx:/etc/nginx + ports: + - "8081:80" + # - "443:443" + labels: + - "traefik.enable=true" + - "traefik.http.routers.phxalpha.entrypoints=https" + - "traefik.http.routers.phxalpha.rule=Host(`alpha.phx-erp.de`)" + - "traefik.http.routers.phxalpha.middlewares=secHeaders@file" + - "traefik.http.routers.phxalpha.tls=true" + - "traefik.http.routers.phxalpha.tls.certresolver=http" + - "traefik.http.routers.phxalpha.service=phxalpha" + - "traefik.http.services.phxalpha.loadbalancer.server.port=80" + - "traefik.docker.network=proxy" + + - "traefik.http.routers.phxalpha-insecure.entrypoints=http" + - "traefik.http.routers.phxalpha-insecure.rule=Host(`alpha.phx-erp.de`)" + - "traefik.http.routers.phxalpha-insecure.tls=false" + networks: + - proxy + - postgres + depends_on: + - phoenix-system + phoenix-system: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + # container_name: phoenixSystemProd + # env_file: .env + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - RUN_JOB_QUEUE=${RUN_JOB_QUEUE} + - SMTP_FROM=${SMTP_FROM} + - SMTP_TYPE=${SMTP_TYPE} + - SMTP_NAME=${SMTP_NAME} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SECURE=${SMTP_SECURE} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - SMTP_LOGGING=${SMTP_LOGGING} + - SMTP_DEBUG=${SMTP_DEBUG} + - SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED} + - SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION} + - ENV_MODE=${ENV_MODE} + - SMTP_TLS_CIPHERS=SSLv3={SMTP_TLS_CIPHERS} + command: [ "npm", "run", "start:server" ] + # ports: + # - "3000:3000" + # - "3400:3400" + # - "9615:9615" + # - "587:587" # Email Port + depends_on: + postgres: + condition: service_healthy + volumes: + - "asset-data:/usr/src/app/packages/dev-server/assets" + - "/server_custom:/usr/src/app/packages/dev-server/custom" # it seems tobe no effect if we make changes, not 100% of sure! + networks: + - postgres + deploy: + replicas: 1 + phoenix-worker: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - REDIS_PASSWORD=${REDIS_PASSWORD} + command: [ "npm", "run", "start:worker" ] + depends_on: + postgres: + condition: service_healthy + volumes: + # - "/opt/containers/phx/assets:/usr/src/app/packages/dev-server/custo/assets" + # - "asset-data:/usr/src/app/packages/dev-server/assets" + - "/server_custom:/usr/src/app/packages/dev-server/custom" + networks: + - postgres + + phoenix-redis: + image: 'bitnami/redis:latest' + container_name: redis + #command: redis-server --save 20 1 --appendonly no --requirepass ${REDIS_PASSWORD} --loglevel warning + command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb + user: root + # privileged: true + # ports: + # - 6379:6379 + restart: always + environment: + # REDIS_APPENDFSYNC: "always" + ALLOW_EMPTY_PASSWORD: "no" + # REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + networks: + - postgres + volumes: + - /redis/data:/bitnami/redis/data + + https_portal: + container_name: https_portal + image: "steveltn/https-portal:1.21" + restart: unless-stopped + user: "root" + networks: + - postgres # primary network [external] + - proxy # internal network + ports: + - "80:80" + - "443:443" + environment: + STAGE: "production" # Use Let's Encrypt production server + WEBSOCKET: "true" # Enable websocket support + DEBUG: "true" + RENEW_MARGIN_DAYS: 30 + # FORCE_RENEW: 'true' + DOMAINS: 'yuri.phx-erp.de -> http://phoenix-app:80' + volumes: + - ./volumes/https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs + - ./volumes/https_portal/log:/var/log/nginx # nginx logs + depends_on: + - phoenix-app + - phoenix-system + - pgadmin + - phoenix-redis + - postgres +volumes: + db-data: null + app-data: null + asset-data: null + pgadmin: null + +networks: + postgres: + name: postgres + driver: bridge + proxy: + name: proxy + driver: bridge diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..9440378 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,184 @@ +--- + +services: + postgres: + restart: always + image: "postgres:15.6-alpine" + container_name: phoenixDB + networks: + - backend + ports: + - "5432:5432" + environment: + - PGUSER=postgres + - DEBUG=false + - POSTGRES_DB=phoenix + - "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" + volumes: + - "./database:/var/lib/postgresql/data" + healthcheck: + test: + - CMD-SHELL + - pg_isready -U postgres + interval: 5s + timeout: 2s + retries: 5 + pgadmin: + image: dpage/pgadmin4 + container_name: pgadmin_container + networks: + - backend + - frontend + environment: + PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org" + PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} + PGADMIN_CONFIG_SERVER_MODE: 'False' + ports: + - "${PGADMIN_PORT:-5050}:80" + volumes: + - "pgadmin:/var/lib/pgadmin" + phoenix-app: + restart: always + image: "yurimatoslima/phoenix-frontend:alpha" + container_name: phoenixApp + volumes: + - "./app_custom:/usr/share/nginx/html/assets/custom" + networks: + - backend # primary network [external] + - frontend # internal network + depends_on: + - phoenix-system + phoenix-system: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + environment: + - "DB_HOST=phoenixDB" + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - "DB_USERNAME=postgres" + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - "REDIS_PASSWORD=${REDIS_PASSWORD}" + - RUN_JOB_QUEUE=${RUN_JOB_QUEUE} + - SMTP_FROM=${SMTP_FROM} + - SMTP_TYPE=${SMTP_TYPE} + - SMTP_NAME=${SMTP_NAME} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SECURE=${SMTP_SECURE} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - SMTP_LOGGING=${SMTP_LOGGING} + - SMTP_DEBUG=${SMTP_DEBUG} + - SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED} + - SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION} + - ENV_MODE=${ENV_MODE} + - SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS} + command: ["npm", "run", "start:server"] + deploy: + replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now + networks: + - backend + depends_on: + postgres: + condition: service_healthy + phoenix-redis: + condition: service_healthy + volumes: + - "./logs:/usr/src/app/packages/dev-server/logs" + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-worker: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + networks: + - backend + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - REDIS_PASSWORD=${REDIS_PASSWORD} + # command: ["npm", "run", "start:worker"] + entrypoint: ./entrypoint-phoenix-worker.sh + depends_on: + postgres: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + - "./logs:/usr/src/app/packages/dev-server/logs" + phoenix-redis: + image: 'bitnami/redis:latest' + container_name: redis + command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb + user: root + networks: + - backend + restart: always + environment: + ALLOW_EMPTY_PASSWORD: "no" + REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + volumes: + - "./redis/data:/bitnami/redis/data" + node_exporter: + image: quay.io/prometheus/node-exporter:latest + container_name: node_exporter + network_mode: host + pid: host + restart: unless-stopped + command: + - "--path.procfs=/host/proc" + - "--path.sysfs=/host/sys" + - "--path.rootfs=/host" + - "--collector.filesystem.ignored-mount-points=^/(sys|proc|dev)($$|/)" + volumes: + - "/proc:/host/proc:ro" + - "/sys:/host/sys:ro" + - "/:/host:ro,rslave" + https_portal: + container_name: https_portal + image: "steveltn/https-portal:1.21" + restart: unless-stopped + user: "root" + networks: + - frontend # [ PgAdmin, Phoenix-App ] + - external # [ Outside of the World] + ports: + - "80:80" + - "443:443" + # - host:container + environment: + STAGE: "production" # Use Let's Encrypt production server + WEBSOCKET: "true" # Enable websocket support + DEBUG: "true" + RENEW_MARGIN_DAYS: 30 + CLIENT_MAX_BODY_SIZE: 0 + # FORCE_RENEW: 'true' + DOMAINS: 'yuri.phx-erp.de -> phoenix-app' + volumes: + - ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs + - ./https_portal/log:/var/log/nginx # nginx logs + depends_on: + - phoenix-app + - phoenix-system + - pgadmin + - phoenix-redis + - postgres + +networks: + backend: + driver: bridge + external: false + + frontend: + driver: bridge + external: false + + external: + driver: bridge + external: true + +volumes: + pgadmin: null diff --git a/docker-compose.yaml.13722.2023-10-03@14:44:27~ b/docker-compose.yaml.13722.2023-10-03@14:44:27~ new file mode 100644 index 0000000..d635679 --- /dev/null +++ b/docker-compose.yaml.13722.2023-10-03@14:44:27~ @@ -0,0 +1,190 @@ +version: "2.1" +services: + postgres: + restart: always + image: "postgres:15.1-alpine" + container_name: phoenixDB + ports: + - "5432:5432" + environment: + - DEBUG=false + - POSTGRES_DB=phoenix + - "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" + volumes: + - "db-data:/var/lib/postgresql/data" + healthcheck: + test: + - CMD-SHELL + - pg_isready -U postgres + interval: 5s + timeout: 2s + retries: 5 + networks: + - postgres + pgadmin: + restart: always + image: dpage/pgadmin4 + container_name: pgadmin_container + environment: + PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org" + PGADMIN_DEFAULT_PASSWORD: '${PGADMIN_DEFAULT_PASSWORD}' + PGADMIN_CONFIG_SERVER_MODE: 'False' + ports: + - "${PGADMIN_PORT:-5050}:80" + volumes: + - "pgadmin:/var/lib/pgadmin" + networks: + - postgres + phoenix-app: + restart: always + image: "yurimatoslima/phoenix-frontend:alpha" + container_name: phoenixAppProd + volumes: + - "/app_custom:/usr/share/nginx/html/assets/custom" + # - "/nginx/nginx.conf:/etc/nginx/nginx.conf" # Not working !!!!!!!!! + # - phxnginx:/etc/nginx + ports: + - "8081:80" + # - "443:443" + labels: + - "traefik.enable=true" + - "traefik.http.routers.phxalpha.entrypoints=https" + - "traefik.http.routers.phxalpha.rule=Host(`alpha.phx-erp.de`)" + - "traefik.http.routers.phxalpha.middlewares=secHeaders@file" + - "traefik.http.routers.phxalpha.tls=true" + - "traefik.http.routers.phxalpha.tls.certresolver=http" + - "traefik.http.routers.phxalpha.service=phxalpha" + - "traefik.http.services.phxalpha.loadbalancer.server.port=80" + - "traefik.docker.network=proxy" + + - "traefik.http.routers.phxalpha-insecure.entrypoints=http" + - "traefik.http.routers.phxalpha-insecure.rule=Host(`alpha.phx-erp.de`)" + - "traefik.http.routers.phxalpha-insecure.tls=false" + networks: + - proxy + - postgres + depends_on: + - phoenix-system + phoenix-system: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + # container_name: phoenixSystemProd + # env_file: .env + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - RUN_JOB_QUEUE=${RUN_JOB_QUEUE} + - SMTP_FROM=${SMTP_FROM} + - SMTP_TYPE=${SMTP_TYPE} + - SMTP_NAME=${SMTP_NAME} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SECURE=${SMTP_SECURE} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - SMTP_LOGGING=${SMTP_LOGGING} + - SMTP_DEBUG=${SMTP_DEBUG} + - SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED} + - SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION} + - ENV_MODE=${ENV_MODE} + - SMTP_TLS_CIPHERS=SSLv3={SMTP_TLS_CIPHERS} + command: [ "npm", "run", "start:server" ] + # ports: + # - "3000:3000" + # - "3400:3400" + # - "9615:9615" + # - "587:587" # Email Port + depends_on: + postgres: + condition: service_healthy + volumes: + - "asset-data:/usr/src/app/packages/dev-server/assets" + - "/server_custom:/usr/src/app/packages/dev-server/custom" # it seems tobe no effect if we make changes, not 100% of sure! + networks: + - postgres + deploy: + replicas: 1 + phoenix-worker: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - REDIS_PASSWORD=${REDIS_PASSWORD} + command: [ "npm", "run", "start:worker" ] + depends_on: + postgres: + condition: service_healthy + volumes: + # - "/opt/containers/phx/assets:/usr/src/app/packages/dev-server/custo/assets" + # - "asset-data:/usr/src/app/packages/dev-server/assets" + - "/server_custom:/usr/src/app/packages/dev-server/custom" + networks: + - postgres + + phoenix-redis: + image: 'bitnami/redis:latest' + container_name: redis + #command: redis-server --save 20 1 --appendonly no --requirepass ${REDIS_PASSWORD} --loglevel warning + command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb + user: root + # privileged: true + # ports: + # - 6379:6379 + restart: always + environment: + # REDIS_APPENDFSYNC: "always" + ALLOW_EMPTY_PASSWORD: "no" + # REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + networks: + - postgres + volumes: + - /redis/data:/bitnami/redis/data + + https_portal: + container_name: https_portal + image: "steveltn/https-portal:1.21" + restart: unless-stopped + user: "root" + networks: + - postgres # primary network [external] + - proxy # internal network + ports: + - "80:80" + - "443:443" + environment: + STAGE: "production" # Use Let's Encrypt production server + WEBSOCKET: "true" # Enable websocket support + DEBUG: "true" + RENEW_MARGIN_DAYS: 30 + # FORCE_RENEW: 'true' + DOMAINS: + volumes: + - ./volumes/https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs + - ./volumes/https_portal/log:/var/log/nginx # nginx logs + depends_on: + - phoenix-app + - phoenix-system + - pgadmin + - phoenix-redis + - postgres +volumes: + db-data: null + app-data: null + asset-data: null + pgadmin: null + +networks: + postgres: + name: postgres + driver: bridge + proxy: + name: proxy + driver: bridge diff --git a/docker-compose.yaml.2173675.2024-01-14@21:55:00~ b/docker-compose.yaml.2173675.2024-01-14@21:55:00~ new file mode 100644 index 0000000..6853378 --- /dev/null +++ b/docker-compose.yaml.2173675.2024-01-14@21:55:00~ @@ -0,0 +1,161 @@ +version: "2.1" +services: + postgres: + restart: always + image: "postgres:15.1-alpine" + container_name: phoenixDB + networks: + - backend + ports: + - "5432:5432" + environment: + - DEBUG=false + - POSTGRES_DB=phoenix + - "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" + volumes: + - "./database:/var/lib/postgresql/data" + healthcheck: + test: + - CMD-SHELL + - pg_isready -U postgres + interval: 5s + timeout: 2s + retries: 5 + pgadmin: + image: dpage/pgadmin4 + container_name: pgadmin_container + networks: + - backend + - frontend + environment: + PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org" + PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} + PGADMIN_CONFIG_SERVER_MODE: 'False' + ports: + - "${PGADMIN_PORT:-5050}:80" + volumes: + - "./pgadmin:/var/lib/pgadmin" + phoenix-app: + restart: always + image: "yurimatoslima/phoenix-frontend:alpha" + container_name: phoenixApp + volumes: + - "./app_custom:/usr/share/nginx/html/assets/custom" + networks: + - backend # primary network [external] + - frontend # internal network + depends_on: + - phoenix-system + phoenix-system: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + environment: + - "DB_HOST=phoenixDB" + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - "DB_USERNAME=postgres" + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - "REDIS_PASSWORD=${REDIS_PASSWORD}" + - RUN_JOB_QUEUE=${RUN_JOB_QUEUE} + - SMTP_FROM=${SMTP_FROM} + - SMTP_TYPE=${SMTP_TYPE} + - SMTP_NAME=${SMTP_NAME} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SECURE=${SMTP_SECURE} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - SMTP_LOGGING=${SMTP_LOGGING} + - SMTP_DEBUG=${SMTP_DEBUG} + - SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED} + - SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION} + - ENV_MODE=${ENV_MODE} + - SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS} + command: ["npm", "run", "start:server"] + deploy: + replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now + networks: + - backend + depends_on: + postgres: + condition: service_healthy + phoenix-redis: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-worker: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + networks: + - backend + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - REDIS_PASSWORD=${REDIS_PASSWORD} + command: ["npm", "run", "start:worker"] + depends_on: + postgres: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-redis: + image: 'bitnami/redis:latest' + container_name: redis + command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb + user: root + networks: + - backend + restart: always + environment: + ALLOW_EMPTY_PASSWORD: "no" + REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + volumes: + - "./redis/data:/bitnami/redis/data" + https_portal: + container_name: https_portal + image: "steveltn/https-portal:1.21" + restart: unless-stopped + user: "root" + networks: + - frontend # [ PgAdmin, Phoenix-App ] + - external # [ Outside of the World] + ports: + - "80:80" + - "443:443" + # - host:container + environment: + STAGE: "production" # Use Let's Encrypt production server + WEBSOCKET: "true" # Enable websocket support + DEBUG: "true" + RENEW_MARGIN_DAYS: 30 + CLIENT_MAX_BODY_SIZE: 0 + # FORCE_RENEW: 'true' + DOMAINS: + volumes: + - ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs + - ./https_portal/log:/var/log/nginx # nginx logs + depends_on: + - phoenix-app + - phoenix-system + - pgadmin + - phoenix-redis + - postgres + +networks: + backend: + driver: bridge + external: false + + frontend: + driver: bridge + external: false + + external: + driver: bridge + external: true diff --git a/docker-compose.yaml.2178008.2024-01-14@22:00:26~ b/docker-compose.yaml.2178008.2024-01-14@22:00:26~ new file mode 100644 index 0000000..6853378 --- /dev/null +++ b/docker-compose.yaml.2178008.2024-01-14@22:00:26~ @@ -0,0 +1,161 @@ +version: "2.1" +services: + postgres: + restart: always + image: "postgres:15.1-alpine" + container_name: phoenixDB + networks: + - backend + ports: + - "5432:5432" + environment: + - DEBUG=false + - POSTGRES_DB=phoenix + - "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" + volumes: + - "./database:/var/lib/postgresql/data" + healthcheck: + test: + - CMD-SHELL + - pg_isready -U postgres + interval: 5s + timeout: 2s + retries: 5 + pgadmin: + image: dpage/pgadmin4 + container_name: pgadmin_container + networks: + - backend + - frontend + environment: + PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org" + PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} + PGADMIN_CONFIG_SERVER_MODE: 'False' + ports: + - "${PGADMIN_PORT:-5050}:80" + volumes: + - "./pgadmin:/var/lib/pgadmin" + phoenix-app: + restart: always + image: "yurimatoslima/phoenix-frontend:alpha" + container_name: phoenixApp + volumes: + - "./app_custom:/usr/share/nginx/html/assets/custom" + networks: + - backend # primary network [external] + - frontend # internal network + depends_on: + - phoenix-system + phoenix-system: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + environment: + - "DB_HOST=phoenixDB" + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - "DB_USERNAME=postgres" + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - "REDIS_PASSWORD=${REDIS_PASSWORD}" + - RUN_JOB_QUEUE=${RUN_JOB_QUEUE} + - SMTP_FROM=${SMTP_FROM} + - SMTP_TYPE=${SMTP_TYPE} + - SMTP_NAME=${SMTP_NAME} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SECURE=${SMTP_SECURE} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - SMTP_LOGGING=${SMTP_LOGGING} + - SMTP_DEBUG=${SMTP_DEBUG} + - SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED} + - SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION} + - ENV_MODE=${ENV_MODE} + - SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS} + command: ["npm", "run", "start:server"] + deploy: + replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now + networks: + - backend + depends_on: + postgres: + condition: service_healthy + phoenix-redis: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-worker: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + networks: + - backend + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - REDIS_PASSWORD=${REDIS_PASSWORD} + command: ["npm", "run", "start:worker"] + depends_on: + postgres: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-redis: + image: 'bitnami/redis:latest' + container_name: redis + command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb + user: root + networks: + - backend + restart: always + environment: + ALLOW_EMPTY_PASSWORD: "no" + REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + volumes: + - "./redis/data:/bitnami/redis/data" + https_portal: + container_name: https_portal + image: "steveltn/https-portal:1.21" + restart: unless-stopped + user: "root" + networks: + - frontend # [ PgAdmin, Phoenix-App ] + - external # [ Outside of the World] + ports: + - "80:80" + - "443:443" + # - host:container + environment: + STAGE: "production" # Use Let's Encrypt production server + WEBSOCKET: "true" # Enable websocket support + DEBUG: "true" + RENEW_MARGIN_DAYS: 30 + CLIENT_MAX_BODY_SIZE: 0 + # FORCE_RENEW: 'true' + DOMAINS: + volumes: + - ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs + - ./https_portal/log:/var/log/nginx # nginx logs + depends_on: + - phoenix-app + - phoenix-system + - pgadmin + - phoenix-redis + - postgres + +networks: + backend: + driver: bridge + external: false + + frontend: + driver: bridge + external: false + + external: + driver: bridge + external: true diff --git a/docker-compose.yaml.2179052.2024-01-14@22:01:25~ b/docker-compose.yaml.2179052.2024-01-14@22:01:25~ new file mode 100644 index 0000000..6853378 --- /dev/null +++ b/docker-compose.yaml.2179052.2024-01-14@22:01:25~ @@ -0,0 +1,161 @@ +version: "2.1" +services: + postgres: + restart: always + image: "postgres:15.1-alpine" + container_name: phoenixDB + networks: + - backend + ports: + - "5432:5432" + environment: + - DEBUG=false + - POSTGRES_DB=phoenix + - "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" + volumes: + - "./database:/var/lib/postgresql/data" + healthcheck: + test: + - CMD-SHELL + - pg_isready -U postgres + interval: 5s + timeout: 2s + retries: 5 + pgadmin: + image: dpage/pgadmin4 + container_name: pgadmin_container + networks: + - backend + - frontend + environment: + PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org" + PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} + PGADMIN_CONFIG_SERVER_MODE: 'False' + ports: + - "${PGADMIN_PORT:-5050}:80" + volumes: + - "./pgadmin:/var/lib/pgadmin" + phoenix-app: + restart: always + image: "yurimatoslima/phoenix-frontend:alpha" + container_name: phoenixApp + volumes: + - "./app_custom:/usr/share/nginx/html/assets/custom" + networks: + - backend # primary network [external] + - frontend # internal network + depends_on: + - phoenix-system + phoenix-system: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + environment: + - "DB_HOST=phoenixDB" + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - "DB_USERNAME=postgres" + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - "REDIS_PASSWORD=${REDIS_PASSWORD}" + - RUN_JOB_QUEUE=${RUN_JOB_QUEUE} + - SMTP_FROM=${SMTP_FROM} + - SMTP_TYPE=${SMTP_TYPE} + - SMTP_NAME=${SMTP_NAME} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SECURE=${SMTP_SECURE} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - SMTP_LOGGING=${SMTP_LOGGING} + - SMTP_DEBUG=${SMTP_DEBUG} + - SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED} + - SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION} + - ENV_MODE=${ENV_MODE} + - SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS} + command: ["npm", "run", "start:server"] + deploy: + replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now + networks: + - backend + depends_on: + postgres: + condition: service_healthy + phoenix-redis: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-worker: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + networks: + - backend + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - REDIS_PASSWORD=${REDIS_PASSWORD} + command: ["npm", "run", "start:worker"] + depends_on: + postgres: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-redis: + image: 'bitnami/redis:latest' + container_name: redis + command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb + user: root + networks: + - backend + restart: always + environment: + ALLOW_EMPTY_PASSWORD: "no" + REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + volumes: + - "./redis/data:/bitnami/redis/data" + https_portal: + container_name: https_portal + image: "steveltn/https-portal:1.21" + restart: unless-stopped + user: "root" + networks: + - frontend # [ PgAdmin, Phoenix-App ] + - external # [ Outside of the World] + ports: + - "80:80" + - "443:443" + # - host:container + environment: + STAGE: "production" # Use Let's Encrypt production server + WEBSOCKET: "true" # Enable websocket support + DEBUG: "true" + RENEW_MARGIN_DAYS: 30 + CLIENT_MAX_BODY_SIZE: 0 + # FORCE_RENEW: 'true' + DOMAINS: + volumes: + - ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs + - ./https_portal/log:/var/log/nginx # nginx logs + depends_on: + - phoenix-app + - phoenix-system + - pgadmin + - phoenix-redis + - postgres + +networks: + backend: + driver: bridge + external: false + + frontend: + driver: bridge + external: false + + external: + driver: bridge + external: true diff --git a/docker-compose.yaml.2183204.2024-01-14@22:05:16~ b/docker-compose.yaml.2183204.2024-01-14@22:05:16~ new file mode 100644 index 0000000..ec8f078 --- /dev/null +++ b/docker-compose.yaml.2183204.2024-01-14@22:05:16~ @@ -0,0 +1,164 @@ +version: "2.1" +services: + postgres: + restart: always + image: "postgres:15.1-alpine" + container_name: phoenixDB + networks: + - backend + ports: + - "5432:5432" + environment: + - DEBUG=false + - POSTGRES_DB=phoenix + - "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}" + volumes: + - "./database:/var/lib/postgresql/data" + healthcheck: + test: + - CMD-SHELL + - pg_isready -U postgres + interval: 5s + timeout: 2s + retries: 5 + pgadmin: + image: dpage/pgadmin4 + container_name: pgadmin_container + networks: + - backend + - frontend + environment: + PGADMIN_DEFAULT_EMAIL: "pgadmin4@pgadmin.org" + PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD} + PGADMIN_CONFIG_SERVER_MODE: 'False' + ports: + - "${PGADMIN_PORT:-5050}:80" + volumes: + - "pgadmin:/var/lib/pgadmin" + phoenix-app: + restart: always + image: "yurimatoslima/phoenix-frontend:alpha" + container_name: phoenixApp + volumes: + - "./app_custom:/usr/share/nginx/html/assets/custom" + networks: + - backend # primary network [external] + - frontend # internal network + depends_on: + - phoenix-system + phoenix-system: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + environment: + - "DB_HOST=phoenixDB" + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - "DB_USERNAME=postgres" + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - "REDIS_PASSWORD=${REDIS_PASSWORD}" + - RUN_JOB_QUEUE=${RUN_JOB_QUEUE} + - SMTP_FROM=${SMTP_FROM} + - SMTP_TYPE=${SMTP_TYPE} + - SMTP_NAME=${SMTP_NAME} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SECURE=${SMTP_SECURE} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - SMTP_LOGGING=${SMTP_LOGGING} + - SMTP_DEBUG=${SMTP_DEBUG} + - SMTP_TLS_REJECT_UNAUTHORIZED=${SMTP_TLS_REJECT_UNAUTHORIZED} + - SMTP_SECURE_CONNECTION=${SMTP_SECURE_CONNECTION} + - ENV_MODE=${ENV_MODE} + - SMTP_TLS_CIPHERS={SMTP_TLS_CIPHERS} + command: ["npm", "run", "start:server"] + deploy: + replicas: 1 #change here if u want to have more replicas. Cant find a way to set via variable right now + networks: + - backend + depends_on: + postgres: + condition: service_healthy + phoenix-redis: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-worker: + restart: always + image: "yurimatoslima/phoenix-backend:alpha" + networks: + - backend + environment: + - DB_HOST=phoenixDB + - "DB_PASSWORD=${POSTGRES_PASSWORD}" + - DB_USERNAME=postgres + - "SUPER_ADMIN_USER_PASSWORD=${SUPER_ADMIN_USER_PASSWORD}" + - REDIS_PASSWORD=${REDIS_PASSWORD} + command: ["npm", "run", "start:worker"] + depends_on: + postgres: + condition: service_healthy + volumes: + - "./assets:/usr/src/app/packages/dev-server/assets" + - "./server_custom:/usr/src/app/packages/dev-server/custom" + phoenix-redis: + image: 'bitnami/redis:latest' + container_name: redis + command: /opt/bitnami/scripts/redis/run.sh --maxmemory 100mb + user: root + networks: + - backend + restart: always + environment: + ALLOW_EMPTY_PASSWORD: "no" + REDIS_DISABLE_COMMANDS: FLUSHDB,FLUSHALL,CONFIG + REDIS_PASSWORD: ${REDIS_PASSWORD} + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + volumes: + - "./redis/data:/bitnami/redis/data" + https_portal: + container_name: https_portal + image: "steveltn/https-portal:1.21" + restart: unless-stopped + user: "root" + networks: + - frontend # [ PgAdmin, Phoenix-App ] + - external # [ Outside of the World] + ports: + - "80:80" + - "443:443" + # - host:container + environment: + STAGE: "production" # Use Let's Encrypt production server + WEBSOCKET: "true" # Enable websocket support + DEBUG: "true" + RENEW_MARGIN_DAYS: 30 + CLIENT_MAX_BODY_SIZE: 0 + # FORCE_RENEW: 'true' + DOMAINS: + volumes: + - ./https_portal/data:/var/lib/https-portal # ssl_certs, vhost.d, htdocs + - ./https_portal/log:/var/log/nginx # nginx logs + depends_on: + - phoenix-app + - phoenix-system + - pgadmin + - phoenix-redis + - postgres + +networks: + backend: + driver: bridge + external: false + + frontend: + driver: bridge + external: false + + external: + driver: bridge + external: true + +volumes: + pgadmin: null diff --git a/health_check.sh b/health_check.sh new file mode 100755 index 0000000..9dbfb71 --- /dev/null +++ b/health_check.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Define the URL of your health endpoint +HEALTH_ENDPOINT="http://localhost:3000/health" +# Make a GET request to the health endpoint and capture the response +RESPONSE=$(wget -qO- --timeout=2 "$HEALTH_ENDPOINT" ) + +# Display the response from the health endpoint +echo "Response from health endpoint: $RESPONSE" + +# Extract the value of the "status" field using jq +status=$(echo "$RESPONSE" | jq -r '.status') + +# Check if the status is "ok" +if [[ "$status" == "ok" ]]; then + echo "Health check successful" + exit 0 # Exit with success status +else + echo "Health check failed" + exit 1 # Exit with failure status +fi +# if [[ "$RESPONSE" =~ '"status": "ok"' ]]; then +# echo "Health check successful" +# exit 0 # Exit with success status +# else +# echo "Health check failed: $RESPONSE" +# exit 1 # Exit with failure status +# fi \ No newline at end of file diff --git a/health_check2.sh b/health_check2.sh new file mode 100755 index 0000000..5b3cceb --- /dev/null +++ b/health_check2.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Define the URL of your health endpoint +HEALTH_ENDPOINT="http://localhost:3000/health" + +# Make a GET request to the health endpoint and capture the response +response=$(wget -qO- --connect-timeout=2 --server-response "$HEALTH_ENDPOINT" 2>&1 | awk '/^HTTP/{print $2}') + +# Display the HTTP status code from the response +echo "HTTP status code: $response" diff --git a/https_portal/data/account.key b/https_portal/data/account.key new file mode 100644 index 0000000..e2ceb5e --- /dev/null +++ b/https_portal/data/account.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIJKwIBAAKCAgEAv2iz757niTDAI0mC050496Ejovq6zYgwND2wPqZxTmqSF4/z +ZrqkJsLTrYScrArEr3VbG0e+9l6UqMI+CECATik29ZMVwRaNrQ0Pb/tsXD2eeJ5R +cTK6h2NPR3dVr0O4EE7bkc+VExR40syGGwtEwvKpZzHkFlYxb8tzlwZ585wO82U8 +1w+gGwN3s4GBajexaeMaDzOfHdg1sZubMLaT/omKosARAEUgA3lpNruupHs5IlcA +OY//OEwFzLFZoWkjfF9ecuUiCnHUfKkqw6iI+CQZgn5qkRZ9aI7YkAMnxjt5k+A+ +OhKbOEa7/ls68Od4QbW/oWfnzlevDX+pP8z6zvFeUq5yeoqYgk9hp9xb/QrBIvTQ +wUmfQvjBAwdHJ9TuhH+bfmqik8Bi0wXbESYDxpWQssVjM3ezZ5uyjF4Cml66l7mu +9Rl48j5UUqwdyp/pFJQPvEIAkBuwxUPzWcayXNP4JbKVpXzMF4d6Dzcw5B7iDxxC +81Z6LCJtL0e+i6l66xAKXR1hIrW060Hc28qKRPBoAAEYlOT75/OLB1ti4rcun5r0 +zAYjFHOQnquEw80ai+Ofw451aP6ssa2mcDFhbksWWa+1tTX4Prgd23XyaW+/9n1S +JWzIpK8R+Asn9XMR0Eka3MJZILt24ldwnALQf3jIoiaCMzvxI4xLC/jwYz8CAwEA +AQKCAgEAleXtZG7RbIMdNYVQS2EJSASN4AjzWhqZhY/6AlZezcZv+rvlJkJsY16Y +X39HIwSb27zQSKD7T/3p9e+InPXGhW+JdvBlTP3YnfloaY5A4kvvWw7BQSE1Kun/ +IDy4gbVK5JqdIaerW3Hg3VUGgQ9mHjXjrMlJkqSVurNeJpwPzVQd8UcLSnEWNZGV +oKJ/MyvCaOZNdjI7HihAhIMUGiYh6GjWhXZc2hVIaPAgEZkRwAYwTFBOAMZgXTpM +IG2Tf/DStYgKc3g2HG/gtG/W6buG6K18vNE7q7wtIkEcIEwYTgotwD0Q/nGr1Xqv +pxbTJe5gIzWuiTzSMKpCkRO0/B4PG776p9tHzTP7sd6+HoNHCQ1UD8+/XNw95TS4 +7j53UZHL4CGmz6vNPMkF1yXpv2p15MBIG+ZDmakdsLfn7Ro/pR9znsqbZedlTTfu +fhwnjdhNLmYBaOQNGtLDDuPk7Cxa1oKzzs9T86wRSKNwOB80+kZCqbm0gjo7urDv +7AxcBSRtYfB3slZZuLJK0nJp7mUDxm6yIBvnZCcdZpBdHkW4OVI2WMURVJKB8+Oh +dpz6tQnypSICyvtBJGdeKgZvrmF3b7tDGd69cyKX9Z4QvNNUHGGKl6HM+OeQ8m2H +97T55l4gUcRjzFk4e9bHexM8R4Lligp6SxvNhhI0olWCJI3FosECggEBAN6Vl+Fy +rpz716KARdfcn7TUzaa6yOQD4AyrXpqe9JF7v3AFW6SmckXTXsKmSVxo8tT5vqnq +hryksgLrvVS+hqWh4aoFqhEPC5yHDaJ96e3C89tujjKNelrIzQkM6oi+AQfNWNHj +UPqK+Z1AJIafUd4Mx8doPHIZHaFA0CXWSu4hqG8pHnFHxhY7YdozJbiyN24es3F8 +hzLZNICgbgrG/R1yJtqpLR3fM02YAbidr/xx8lAyMn/ayA6nlyhfvH0N10TuF9i/ +yxP5l4+ywBc4aofqoLWtBRQkLQlsLoqlLVHUyGbgQ259Vc0V+DBCU/yL/CnaD3WW +FPbtok9EwviYR3kCggEBANwk+NxdG7Iw/4mgNuUgMYUadLChm+w/QyVlIorBnlas +rgyKBMDF4RVaM8epMRyEdxsWEJYjBcV+1CKFEBuT7UK9TSTmH4tSE1ZtAzlH4X6j +eIM9aDZTTrx3rGEHWr7JlnzZAsWCNi6h0bIoYaT9ve5odlX145H4C94de5UHML+Q +2pI6J8wkI/XJwj24/XtlwJpTR+bwybpZD5jOZN4iPH92JafDqWwxaYe1KktXg9cq +F0SovQU0xuxLzi63n9jE6NUaFfoJ/x8qhpESufxM3Ipigd8BY640ul+BaLYxXLrV +PiD4GKdzsxKYIbR2O70FD9kORLCFKIGS0KfDfyFz+ncCggEBAKVuX5zjRJ5Om50e +Y0qlolmfVF3YM5ksvCgOcljPTYyXgdg7UzqTrxjwmVxohNvW8KyUFj5pncy1R8zd +8zD6Dk8qevOIFDdrjEDBK8Qae3QIUoBDshImjsrMtX9Fh0csmM14tMwCfFxKUG2s +j7kyzoEP1KgDc/GFcz03U7zbgYNtpqc/0210X+iEKB0pqJ6WbpY84Te2yzFiuB/l +nQQLk3KANhqMZIjwLEw+bwEMyhEBi4xJUrkuHUSvEKykQw5a7CVCJJ0nJ0NoXVoj +C5v2hU8RdnKw7rZikMqRCiJn08AfOvcjNVr4cn3kFzufAJcSX8+nT5ggfOJuChWK +ULK9U1kCggEBAMwJoHZt/auMamveiMKYsg0R1jGXt/KhN9TDBd7hUaY36iFJEtqx +DMtDjVZy5EfwJox+SOU+lKzVvjw4ZBOLaY4/8e5PM9FnQvEJnMFMdB1x2dKZ6arg +T8uyh5xuupa2NLqGUGFLLHjQFpEviEDpxU3gmD1X55J0+lrlrJMV1QLYeRyqthQp +MwMt+tBGUvo59ueSZMQRTIdg4GnacfbIeJYSpRf262KR8aOMMCUgedvE8Uf7tSXM +IssD/5ehLZA2AS7yPIhBF6qFOa/gUW0cuBOy9XgBy6e8yziVsr2axr2Lw0e/aupY +/BIx2ptuMjQhKu0comGRKVffAXFcaspQukUCggEBAMaWz9VE18x3lX6ESX5pyd0n +NsPX79axFcgBSpaU297rY21oRW2tQ76LT8P8qQ30FsFK2g4t0GYLQSVcD51ThoB4 +R4GnZkjfXKAlfGwPkkhEBupJ4AarpHoynjMQyvlxzOtH1czqGPzO+B6OCVFvMrQ7 +5y5DOJQuHBDaBjWN0l/0Ug0Kh4R46f26z7ywNpAnizwwLIQmqKpyNwbS6A0byt2S +RzGIOXZvy690lJOjAXokdQX/Qn2NWVRcKt3eoFI/jIBpKADrp0qzA+fxWPmRiXwv +eSC01bMSUmXBy2WuvqCNnCVgBfOCs7Bd1yBhxLx3pP/nF3+ioKkBLVFEkJKQ4OQ= +-----END RSA PRIVATE KEY----- diff --git a/https_portal/data/default_server/default_server.crt b/https_portal/data/default_server/default_server.crt new file mode 100644 index 0000000..bed4d47 --- /dev/null +++ b/https_portal/data/default_server/default_server.crt @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDLTCCAhWgAwIBAgIUQPIuFeI8gm1/83HVKh01GfKBb3owDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaZGVmYXVsdC1zZXJ2ZXIuZXhhbXBsZS5jb20wIBcNMjQw +MTE0MjEzODE3WhgPMjEyMzEyMjEyMTM4MTdaMCUxIzAhBgNVBAMMGmRlZmF1bHQt +c2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA2u6NnARETzBbUuyQvbrsbg0BM47LgCoOWAt15Cr7T+Dz+hIGLOj5he9H56I6 +1pzRd3MuEJp3LuQZcnBR+FKqcpUNlEmE8YZuJiEz0kdbpYHDK0+PTHO5hxk9S+1K +TdDM22W3474AcxOMbvSj7yIGhUnJFJMZHtROYaCNMUk1h6V8bNOxg09KN3wN3LWG +1JrnEdX46bHwkEzdFjJmgdkLYSnSkeuUcKOGHgJw+Na65+Xu6cSeq7D5lVW2cHb7 +X7kXxAnnY58BuEdZmMVkreKJK14iBqY8Tcsy+fyaOizE/xfks7uPaeQRkSTfra+j +QvVI2n0gN/BEbiWyhfQkS1QWgwIDAQABo1MwUTAdBgNVHQ4EFgQUEz5cRKx/+Fbj +R0GfEgBY+/LsTX8wHwYDVR0jBBgwFoAUEz5cRKx/+FbjR0GfEgBY+/LsTX8wDwYD +VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAQ3I+Y58QVTKx0ZqW8AU6 +fSKhSgSkY1YBbjv7mYXY2qSijEw8naDQIPD55fPiyhgLmIaaFYW4awb9Y8O/qMnb +VQ9ZZ/SU6VdESKmQBOPs1WNlxQFhMXa+Oro7MMgDEYXyawlDHytzuDRWaJmbACHV +pqomu0raGrdnusswWH2rQwYjQstOnwIX/uPSq++SvI4UkcNDmvvBwq2PuJU21kJ0 +iYiCsWQCU8Gd/70tfBN9IAJAccQKSMEhXeyS25mYCTzwwCO3dqoEjTu57W+MNdCQ +24RAVuoU1JvPtsn87WPYKH2CnCuBTwi5CaH4OX1ajvgLUk0uT2X+kONYq4Gvi793 +uA== +-----END CERTIFICATE----- diff --git a/https_portal/data/default_server/default_server.key b/https_portal/data/default_server/default_server.key new file mode 100644 index 0000000..e43e729 --- /dev/null +++ b/https_portal/data/default_server/default_server.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDa7o2cBERPMFtS +7JC9uuxuDQEzjsuAKg5YC3XkKvtP4PP6EgYs6PmF70fnojrWnNF3cy4Qmncu5Bly +cFH4UqpylQ2USYTxhm4mITPSR1ulgcMrT49Mc7mHGT1L7UpN0MzbZbfjvgBzE4xu +9KPvIgaFSckUkxke1E5hoI0xSTWHpXxs07GDT0o3fA3ctYbUmucR1fjpsfCQTN0W +MmaB2QthKdKR65Rwo4YeAnD41rrn5e7pxJ6rsPmVVbZwdvtfuRfECedjnwG4R1mY +xWSt4okrXiIGpjxNyzL5/Jo6LMT/F+Szu49p5BGRJN+tr6NC9UjafSA38ERuJbKF +9CRLVBaDAgMBAAECggEBANgK0HNFQqNidLw/9hVEgEuZSbY3E1pGJiF8LbobMCSD +OD9tyepHfPROTAaocKeX2JynbK21wCblsLbdYAZMjSbFL8FFS4uLvOajnR/Eiwuo +IZB70kz/ZfWLUpG6d7iSc5WNqwlyVb85azuS7rLsQMMHLQbAoelqWG6+oJYiSFCx +ibH+YqGB6oh9p0eG0ACRw+Gb2ivKZYzr3rcysutEMGJ0fqyfxeUSWFke8qVRuR8F +y5K4c4+jFHUy+jvWrteCW6eqeZelyx2SzZMkKAYHxbkOv5ow1FckPPDjmqDJt+ZB +10PntPboCKLnd4XFeee2kKZhOp5ZUNbhK6AevZidrwECgYEA9RTyVnaZfFjuvBxw +W5xFJ9nAzNft7lWXF/ggusgclTWgLzzOVi+i5Pa/BXLWC5m+Hy3Hv+7+SnO8SjRI ++g8za1pFLzDnLs1NI3w5SgJl/xcyfqzZOxZlNEHFqF8SmQmmD5ix6JSYJngYQEpd +d1BU4/LWcKff4YPZynfNe1b7YycCgYEA5K9gk8xYBU9Bgh5Uh4iCkgxBhfmNua6L +ShvYwYVUe5cwE/AJqaafW3CDV34hwHdT2cVYbXZOeNIFaUNVOwUV3+2bi/tdn7rZ +3cyMYGy46hdiAjDyseOy7kuoA/PJIcMOBrzMn/+dv7vBp/L6ArpR45ZCGxty4CCx +fGF1dS5A20UCgYEAvUpyaimsHoipy4zDk149Y6wh55UXZi+hRZgV323T9cK3eASk +8ZhVXjbeDx1FCSyz1W0MjMfQjDybv0xm2QyIkG/mY66HwHQ9Eh1OOkVj9gQ6sfBa +z/JaNGRgf8z+lkkHg6BSOOscIQo84NsPGapoBq92xQhEOPAXdPPXN15VR50CgYBW +HXCp125h+Xl6rT85ln9Mzg6yi8oB3SeYranPHg01STaSm3aYCyXBQjpDbTz6hDTw +Ma9d8QoV10iwXemvgve8znYfnXWhG7TFICzQdsCfblS67IHH2S3dLGJFsrzP2Ork +QJ5xtclKlUKUoxvggRcrM78LBCgbHFSZuP2JNfS4XQKBgDJOvPfagivsz3E5LngY +eGuD/CmGsSmn+wLA8qm60hwxAFJ/LQbBp23zBS5FFilLB/VKyzZdSAPKviDLdNWo +xCud/N3nhq7y/Q5/WIAnsyGPUTtISL16AbC8q99zCBDI0PrqVuefMc1NAyA8dBoF +m9SIJsXjU4M0zYKt6fJ92ZDG +-----END PRIVATE KEY----- diff --git a/https_portal/data/dhparam.pem b/https_portal/data/dhparam.pem new file mode 100644 index 0000000..1c889cc --- /dev/null +++ b/https_portal/data/dhparam.pem @@ -0,0 +1,8 @@ +-----BEGIN DH PARAMETERS----- +MIIBCAKCAQEA/3uKY1xllUmpwHUBRxcxDvAtUsWCC6KqxRjgXxE36+3EyEMTWUU1 +GqtejSJOlV12yHoeQ1ztoa8784fRG6NtIgMookhXOveIqE3bxi/UAXZqkAjegS+v +FVoeYp8xcj7/jigeZGwvT2ZeN0O+O2Ajy969EeBvg0T8XFRL2qggf3ObVCqocUPc +dykcnScZlcRcsQh2B6iCS7vB6BiK2NM485A95lLQF9x++1tRsaxqwfB3oelL7F3R +wcooL8akJqgg2T1kLFvRmTV7FlTLdRFO46FexwPYFaLeCnty8pb7Aph9JW0+tr34 +7N2hxZFIFcMGRRrzEqo9WDPWJPaaaJFKYwIBAg== +-----END DH PARAMETERS----- diff --git a/https_portal/data/dynamic-env.stamp b/https_portal/data/dynamic-env.stamp new file mode 100644 index 0000000..e69de29 diff --git a/https_portal/data/xxx_CHANGE_xxx/production/chained.crt b/https_portal/data/xxx_CHANGE_xxx/production/chained.crt new file mode 120000 index 0000000..cfcc54a --- /dev/null +++ b/https_portal/data/xxx_CHANGE_xxx/production/chained.crt @@ -0,0 +1 @@ +/var/lib/https-portal/xxx_CHANGE_xxx/production/signed.crt \ No newline at end of file diff --git a/https_portal/data/xxx_CHANGE_xxx/production/domain.csr b/https_portal/data/xxx_CHANGE_xxx/production/domain.csr new file mode 100644 index 0000000..4f7c186 --- /dev/null +++ b/https_portal/data/xxx_CHANGE_xxx/production/domain.csr @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICXjCCAUYCAQAwGTEXMBUGA1UEAwwOeHh4X0NIQU5HRV94eHgwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDdbJMu8BA0KXuNcUlR8aFB7eQinY3xwu0/ +OXvTYmZkyPwuLDgG0Ni3uHVjaOqEg9oH+5cla6HvS6URjmw/+T+RuHSoqyEPqhnb +aU/Dd8++EXuLtYfnKd8cUxJKHpG+KtDQzi0Z4h7gkJEx3jLDhRRSmeBkCaePUjgR +4ogY+/jQ+0Pc2qbBbph8zNbYGvVLRIhbtATbpP3dNBmaL1QplUEI2qhXSB/bd6zG +zH9Rimpv4Mc6Lgw9Gpnk2AACsQ99adtJ/y04ctzpPOqYfy1nS00ZtXjtqBzAL88C +hAKzPK7Gv4s2YKAEnRx0q46aIW0lv+V53scRJu4yssy+WPZVYWqpAgMBAAGgADAN +BgkqhkiG9w0BAQsFAAOCAQEANT50yDJj+0DkCdrj1waW+wC5WCcZPNAwjG4Piy27 +9VuULU1Pjs7d/pUmZJZ3WK5G3gMgvYCx3tFC9ZBmdZ6lJpeC6vaixlE6KyCwh4o0 +Qkx1M9nCyiQ/DhrwvUgCdhCQUtoUWxe7wrObP8jUUgcb4fOsEm06kB6HMaQsrqIr +1df5smkkx3bB0nJCosWCDmZkJWM21u/8UepqSz/SoN5lFmUM+F3y0/rqgrAbRs5y +UzapgNvO5kCr8dW0jKUcrEc0s1sWFb4DLxdgfj+Usofny/PNjO+bBXuR6FKgqTVQ +ycfj6eyiY5v8rAjl2LNOQ3YCED3+NSLPeN7nubCt6KklWQ== +-----END CERTIFICATE REQUEST----- diff --git a/https_portal/data/xxx_CHANGE_xxx/production/domain.key b/https_portal/data/xxx_CHANGE_xxx/production/domain.key new file mode 100644 index 0000000..e43e729 --- /dev/null +++ b/https_portal/data/xxx_CHANGE_xxx/production/domain.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDa7o2cBERPMFtS +7JC9uuxuDQEzjsuAKg5YC3XkKvtP4PP6EgYs6PmF70fnojrWnNF3cy4Qmncu5Bly +cFH4UqpylQ2USYTxhm4mITPSR1ulgcMrT49Mc7mHGT1L7UpN0MzbZbfjvgBzE4xu +9KPvIgaFSckUkxke1E5hoI0xSTWHpXxs07GDT0o3fA3ctYbUmucR1fjpsfCQTN0W +MmaB2QthKdKR65Rwo4YeAnD41rrn5e7pxJ6rsPmVVbZwdvtfuRfECedjnwG4R1mY +xWSt4okrXiIGpjxNyzL5/Jo6LMT/F+Szu49p5BGRJN+tr6NC9UjafSA38ERuJbKF +9CRLVBaDAgMBAAECggEBANgK0HNFQqNidLw/9hVEgEuZSbY3E1pGJiF8LbobMCSD +OD9tyepHfPROTAaocKeX2JynbK21wCblsLbdYAZMjSbFL8FFS4uLvOajnR/Eiwuo +IZB70kz/ZfWLUpG6d7iSc5WNqwlyVb85azuS7rLsQMMHLQbAoelqWG6+oJYiSFCx +ibH+YqGB6oh9p0eG0ACRw+Gb2ivKZYzr3rcysutEMGJ0fqyfxeUSWFke8qVRuR8F +y5K4c4+jFHUy+jvWrteCW6eqeZelyx2SzZMkKAYHxbkOv5ow1FckPPDjmqDJt+ZB +10PntPboCKLnd4XFeee2kKZhOp5ZUNbhK6AevZidrwECgYEA9RTyVnaZfFjuvBxw +W5xFJ9nAzNft7lWXF/ggusgclTWgLzzOVi+i5Pa/BXLWC5m+Hy3Hv+7+SnO8SjRI ++g8za1pFLzDnLs1NI3w5SgJl/xcyfqzZOxZlNEHFqF8SmQmmD5ix6JSYJngYQEpd +d1BU4/LWcKff4YPZynfNe1b7YycCgYEA5K9gk8xYBU9Bgh5Uh4iCkgxBhfmNua6L +ShvYwYVUe5cwE/AJqaafW3CDV34hwHdT2cVYbXZOeNIFaUNVOwUV3+2bi/tdn7rZ +3cyMYGy46hdiAjDyseOy7kuoA/PJIcMOBrzMn/+dv7vBp/L6ArpR45ZCGxty4CCx +fGF1dS5A20UCgYEAvUpyaimsHoipy4zDk149Y6wh55UXZi+hRZgV323T9cK3eASk +8ZhVXjbeDx1FCSyz1W0MjMfQjDybv0xm2QyIkG/mY66HwHQ9Eh1OOkVj9gQ6sfBa +z/JaNGRgf8z+lkkHg6BSOOscIQo84NsPGapoBq92xQhEOPAXdPPXN15VR50CgYBW +HXCp125h+Xl6rT85ln9Mzg6yi8oB3SeYranPHg01STaSm3aYCyXBQjpDbTz6hDTw +Ma9d8QoV10iwXemvgve8znYfnXWhG7TFICzQdsCfblS67IHH2S3dLGJFsrzP2Ork +QJ5xtclKlUKUoxvggRcrM78LBCgbHFSZuP2JNfS4XQKBgDJOvPfagivsz3E5LngY +eGuD/CmGsSmn+wLA8qm60hwxAFJ/LQbBp23zBS5FFilLB/VKyzZdSAPKviDLdNWo +xCud/N3nhq7y/Q5/WIAnsyGPUTtISL16AbC8q99zCBDI0PrqVuefMc1NAyA8dBoF +m9SIJsXjU4M0zYKt6fJ92ZDG +-----END PRIVATE KEY----- diff --git a/https_portal/data/xxx_CHANGE_xxx/production/domain.ongoing.key b/https_portal/data/xxx_CHANGE_xxx/production/domain.ongoing.key new file mode 100644 index 0000000..3b895a6 --- /dev/null +++ b/https_portal/data/xxx_CHANGE_xxx/production/domain.ongoing.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA3WyTLvAQNCl7jXFJUfGhQe3kIp2N8cLtPzl702JmZMj8Liw4 +BtDYt7h1Y2jqhIPaB/uXJWuh70ulEY5sP/k/kbh0qKshD6oZ22lPw3fPvhF7i7WH +5ynfHFMSSh6RvirQ0M4tGeIe4JCRMd4yw4UUUpngZAmnj1I4EeKIGPv40PtD3Nqm +wW6YfMzW2Br1S0SIW7QE26T93TQZmi9UKZVBCNqoV0gf23esxsx/UYpqb+DHOi4M +PRqZ5NgAArEPfWnbSf8tOHLc6TzqmH8tZ0tNGbV47agcwC/PAoQCszyuxr+LNmCg +BJ0cdKuOmiFtJb/led7HESbuMrLMvlj2VWFqqQIDAQABAoIBAFpeJJekfEh9oaIx +WQYrgm/A4jnKaZMAxgjmsgWshDOf32QMwfTuKXSZwLcIq6XXlhVp9d7c1aMvEThg +Ewfs9qfHSz1HUl/tQU5N5bLV5CAjTHPRa5zJdvg9YxqC7WJaYQzHCJsmsQlflxJu +J/OqDYhEqtLJKeyRVrbd6EOiGoNXNpiNruUD4JwCZPlqmTQNIKNLDMdkWh/RIgKx +eWUynVp2WuUnJmcklBfClZfR6Oijq0fDVNmrFzJ/N1Dc9NMEHKSpH9sr5cVvMiVP +/aaK7rJVI1BKEMNWqUNqRQ5uFBtPSJSnKhZQgCfdN+t+lM+E7VlkshBcrF+6PDyj +20heOS0CgYEA8YBgtsyVTPvrzktYA2q4eB7pXwpRtwVoLi/D7GG5pX+WclUTZLkV +Kz53q4/GPQXlbevx6EeCDUZ2ySEh1onFntpf2D6KbjOOmpicAE2hryIj61rtHoRV ++dZx6/MXteMyyKH7g2WK4DiiVPKgqACcUAlOjEW7klpzbUUXVwQ2coMCgYEA6reh +IvRacTl38TA9ujbu7U7prUAP/IpVq2Lh5UV6tCvw17pOk9ArLD2aT3rAxc0Ey95L +VWdtJTTG8EOm2NuDZB7JWp7P2rA8N/iXxl4oZ22StHdfVs+intX99zxPVD3vq2iS +L1aGlmQz4FuqdYzfslxWzs/pJ7df1ECuJolOtmMCgYBmOX42woCMNrLI/vGBeMIe +7o7AUSDnxN0ld8iKHY+0sz4epU5xOzrvtCB5uYEjQYStM8uRE/vD3MjZODIXmvfQ +1wTtBwQXw7EgVWrrYfEHrf7gV/u5CDFQcOqGAr9NmZ9cd9x78RaI9NAZ/x3sH14L +LvVVwQq11522aiGIDttxOwKBgQDlFlcqw64mhn2/pWMKBiXK7tN6amVwCiC1h2yN +lvO9OIn4NHoPIQWSR4n9+wR9yq3cwVlrwOexgcKNrKoDTLUAGmBSl2CtxIbx5itU +zH/I+xROGZivJTdGqfwXvAB9a3oqJYVQuLXhwWk0mKNV2ipXbnK3pgud3QemJX8U +U73EmwKBgBdKDRsGhVX7UA1zXZermH5QcPt16wLDmwL8KIrM3hu59g433khnf3mo +uAx2EhH1rxBkvSZJ4lKC6mC8cS2mmqFkQZJlTZnLdVWW0su7BDeU61L+Nn4b+REL +7kSHZ+5SgKv+vn1Ei3njF8OPW3gL1WQoSYz1g8o3sajv40QMWSx0 +-----END RSA PRIVATE KEY----- diff --git a/https_portal/data/xxx_CHANGE_xxx/production/signed.crt b/https_portal/data/xxx_CHANGE_xxx/production/signed.crt new file mode 100644 index 0000000..bed4d47 --- /dev/null +++ b/https_portal/data/xxx_CHANGE_xxx/production/signed.crt @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDLTCCAhWgAwIBAgIUQPIuFeI8gm1/83HVKh01GfKBb3owDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaZGVmYXVsdC1zZXJ2ZXIuZXhhbXBsZS5jb20wIBcNMjQw +MTE0MjEzODE3WhgPMjEyMzEyMjEyMTM4MTdaMCUxIzAhBgNVBAMMGmRlZmF1bHQt +c2VydmVyLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA2u6NnARETzBbUuyQvbrsbg0BM47LgCoOWAt15Cr7T+Dz+hIGLOj5he9H56I6 +1pzRd3MuEJp3LuQZcnBR+FKqcpUNlEmE8YZuJiEz0kdbpYHDK0+PTHO5hxk9S+1K +TdDM22W3474AcxOMbvSj7yIGhUnJFJMZHtROYaCNMUk1h6V8bNOxg09KN3wN3LWG +1JrnEdX46bHwkEzdFjJmgdkLYSnSkeuUcKOGHgJw+Na65+Xu6cSeq7D5lVW2cHb7 +X7kXxAnnY58BuEdZmMVkreKJK14iBqY8Tcsy+fyaOizE/xfks7uPaeQRkSTfra+j +QvVI2n0gN/BEbiWyhfQkS1QWgwIDAQABo1MwUTAdBgNVHQ4EFgQUEz5cRKx/+Fbj +R0GfEgBY+/LsTX8wHwYDVR0jBBgwFoAUEz5cRKx/+FbjR0GfEgBY+/LsTX8wDwYD +VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAQ3I+Y58QVTKx0ZqW8AU6 +fSKhSgSkY1YBbjv7mYXY2qSijEw8naDQIPD55fPiyhgLmIaaFYW4awb9Y8O/qMnb +VQ9ZZ/SU6VdESKmQBOPs1WNlxQFhMXa+Oro7MMgDEYXyawlDHytzuDRWaJmbACHV +pqomu0raGrdnusswWH2rQwYjQstOnwIX/uPSq++SvI4UkcNDmvvBwq2PuJU21kJ0 +iYiCsWQCU8Gd/70tfBN9IAJAccQKSMEhXeyS25mYCTzwwCO3dqoEjTu57W+MNdCQ +24RAVuoU1JvPtsn87WPYKH2CnCuBTwi5CaH4OX1ajvgLUk0uT2X+kONYq4Gvi793 +uA== +-----END CERTIFICATE----- diff --git a/https_portal/data/xxx_CHANGE_xxx/production/signed.ongoing.crt b/https_portal/data/xxx_CHANGE_xxx/production/signed.ongoing.crt new file mode 100644 index 0000000..e69de29 diff --git a/https_portal/data/yuri.phx-erp.de/production/chained.crt b/https_portal/data/yuri.phx-erp.de/production/chained.crt new file mode 120000 index 0000000..1cf905d --- /dev/null +++ b/https_portal/data/yuri.phx-erp.de/production/chained.crt @@ -0,0 +1 @@ +/var/lib/https-portal/yuri.phx-erp.de/production/signed.crt \ No newline at end of file diff --git a/https_portal/data/yuri.phx-erp.de/production/domain.csr b/https_portal/data/yuri.phx-erp.de/production/domain.csr new file mode 100644 index 0000000..774ceb5 --- /dev/null +++ b/https_portal/data/yuri.phx-erp.de/production/domain.csr @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICXzCCAUcCAQAwGjEYMBYGA1UEAwwPeXVyaS5waHgtZXJwLmRlMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAubZVDw58bDETODdba9eVVMTACqK4+f4f +BMWtrR0tk+REWWZjSpBvLWdRKFWruDPchXWPT0GQVve5I+VgYkCTzsLfBQb0Dca2 +y0r0WBg7Tf0EqDOruRz9WtyFDJPnix4h774oqrkCzdaNCZtxDiKGmsImWxuap/Pq +WWF4XO+Vxk6KpC4WRsCbBRAvIVBT5ksI3WHsLAkUwxPJgOLERCDUs1gnSZRZPMRy +9irzp1cx6SxpBTp4jqtVJJeczzfihLAtAblDkD92RFnT05PLfIxhj3XLIkMAKipL +469nbMm1LmqX77fb8d78Olmu+h60iF4swJ+TCnHxlm0IfXVHdCzXDwIDAQABoAAw +DQYJKoZIhvcNAQELBQADggEBABrMlxLDRYOZU8uKifTn3CzpauW/asC0+zJw3469 +IC7WxChVo1Bqgvk3DHB6Kosg/nuqA3H6p87VhO8pGoC9NLDpd6x1u+FiTZiycml6 +aPUZ22yKA88zmhOxq1UmkvnjE4mwE+fT+ant/g6htdp+p7GxTh9KwCcjm4MGSMaj +z2Hv+bjjYReHMwHK17qKaOh9TJ+DeC8WNqYQEuhG6Afkf1S3qab3J6rOXHa4P8nc +mca67vsnNaQPqouuMGomDgbrt5VR3srFhRPKwu1x+2EXUOXEy8Ty/dlzQa4qFa7k +eHmQxBZWp7gtBYtHg25IQPKRlRWpHLxh1TEszX8s0XcaxCk= +-----END CERTIFICATE REQUEST----- diff --git a/https_portal/data/yuri.phx-erp.de/production/domain.key b/https_portal/data/yuri.phx-erp.de/production/domain.key new file mode 100644 index 0000000..9b1ce46 --- /dev/null +++ b/https_portal/data/yuri.phx-erp.de/production/domain.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAubZVDw58bDETODdba9eVVMTACqK4+f4fBMWtrR0tk+REWWZj +SpBvLWdRKFWruDPchXWPT0GQVve5I+VgYkCTzsLfBQb0Dca2y0r0WBg7Tf0EqDOr +uRz9WtyFDJPnix4h774oqrkCzdaNCZtxDiKGmsImWxuap/PqWWF4XO+Vxk6KpC4W +RsCbBRAvIVBT5ksI3WHsLAkUwxPJgOLERCDUs1gnSZRZPMRy9irzp1cx6SxpBTp4 +jqtVJJeczzfihLAtAblDkD92RFnT05PLfIxhj3XLIkMAKipL469nbMm1LmqX77fb +8d78Olmu+h60iF4swJ+TCnHxlm0IfXVHdCzXDwIDAQABAoIBAHY0eft1aviqW+Ni +SMxhkek8ukeKv1ZPy4qMEDmp4sLJfj+xDe399OXfZybXMM+0It7HrwnxX2AbmToh +27FuDSaDntRiUqEaJGtNMC2KbuT68SXmjZzruM9GoWEaGzzPVyZz0QqpbAF8WJUO +3WzzyN1kSmmfLldMx5NQmP3+eUSYz5//WvuNUYtUCIm2Zk9WWu6Nd+kFGZAFVFq8 +GEmXGPK1jmxb7AMeQ4BjYy9kME48H9Nh274Q4dXnbZ1UGx+oAt5gTTCidZFGxapz +uF70EKmzf4n5Hqtc+VcrB/tKmvVXOtf/g7riSCt0V5najzdY1pB0iSeo0U+JG8EM +ORtg1aECgYEA4jriJ5bBy3xnZ+g+BmFLt/8U8XTo91rX5Y15WCSTk4dtGdDkjiUd +5eHBIHjgCE7z/MJaZWja+AZWwoWxXkrSxtLt4T+EvuuAxCYXYn90TsDfploPZloe +Q8AGwsWSi8hzuD4fGyPU19//7Pxz3/8WU4si39UH8cmG62jYgBU9PDkCgYEA0iaB +6Fxbq2H8gBipiATwIZhsCsqV/chF4RQLt0d7qZzZQrRcbPfx7Bn69+BLvR8od1wp +auuCISeS6F+I2IaVP8AWawMMi8zifoRlbZMz/K2kVk+kSPXj3eQgPy579/JK4FYz +rY6CT5JODdsKjIyq/7RoCG0dKF0th0ZSjn7MvYcCgYBzPVuGnx0I8s4Z+AvgZB+W +ErIwbUVe+z+PB4oQhFFIjWveArLqVa3tNBqU1/4HPXC8CKTTk543ScNYQ5IeXi8Q +aNIUM68DMiPdxymSWyp8E3PZ4XaGxNE14dOP0+Tan7mS2NIvmQkLDmfn6JF+QQq2 +c+HH81Sgre+0aywd0rPmwQKBgE+tafO/kMIaFLI8p4p61NDoCY7N4LCoDlaYUxja +cXiNj5JK8AAgwgjSkOUKlazO83jN6KYxRNVtO7X/AtOVs2DIY7ePIGKg+/8cE5jI +Bx32eCiBabiAAjVPGSrbZQVNSDZmeJGFRsMEpbN7KTTA4NSygf8v364+JdT0RLji +Op5hAoGBAJHCy3Yn5pru8ZRvXQT6w2YRxS7qX/bU9hCm9gcFc5g6Wn/isGNStCNn +OUUwvuMx/gVxFaeXcliwuqeryJkEu2vq3xJWdoy5PM3phTq6LDqbLlVGc4WQR0wX +2ZzL0fg+fW5VKwgKWVHjAWyVMMLCclgQ+JMOzXvTaVVQuPaw0952 +-----END RSA PRIVATE KEY----- diff --git a/https_portal/data/yuri.phx-erp.de/production/signed.crt b/https_portal/data/yuri.phx-erp.de/production/signed.crt new file mode 100644 index 0000000..3b68aac --- /dev/null +++ b/https_portal/data/yuri.phx-erp.de/production/signed.crt @@ -0,0 +1,60 @@ +-----BEGIN CERTIFICATE----- +MIIE7DCCA9SgAwIBAgISBI64QRjjzNargZ24g1zSNNy0MA0GCSqGSIb3DQEBCwUA +MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD +EwJSMzAeFw0yNDAzMTQxMDUxMjVaFw0yNDA2MTIxMDUxMjRaMBoxGDAWBgNVBAMT +D3l1cmkucGh4LWVycC5kZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALm2VQ8OfGwxEzg3W2vXlVTEwAqiuPn+HwTFra0dLZPkRFlmY0qQby1nUShVq7gz +3IV1j09BkFb3uSPlYGJAk87C3wUG9A3GtstK9FgYO039BKgzq7kc/VrchQyT54se +Ie++KKq5As3WjQmbcQ4ihprCJlsbmqfz6llheFzvlcZOiqQuFkbAmwUQLyFQU+ZL +CN1h7CwJFMMTyYDixEQg1LNYJ0mUWTzEcvYq86dXMeksaQU6eI6rVSSXnM834oSw +LQG5Q5A/dkRZ09OTy3yMYY91yyJDACoqS+OvZ2zJtS5ql++32/He/DpZrvoetIhe +LMCfkwpx8ZZtCH11R3Qs1w8CAwEAAaOCAhIwggIOMA4GA1UdDwEB/wQEAwIFoDAd +BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNV +HQ4EFgQUc0EwWzag8rbA8ilw2i74+YwsV9UwHwYDVR0jBBgwFoAUFC6zF7dYVsuu +UAlA5h+vnYsUwsYwVQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRwOi8v +cjMuby5sZW5jci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9yMy5pLmxlbmNyLm9y +Zy8wGgYDVR0RBBMwEYIPeXVyaS5waHgtZXJwLmRlMBMGA1UdIAQMMAowCAYGZ4EM +AQIBMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcAouK/1h7eLy8HoNZObTen3GVD +sMa1LqLat4r4mm31F9gAAAGOPM2HQQAABAMASDBGAiEAuLvMugvCEFeStpfryOJt +efHOWSb56a1OFlzP9Vo3bOcCIQCYP3PcXJLfDqP4UHsAiztCtgtX+jcjImvx00Ci +DeDlvAB2AHb/iD8KtvuVUcJhzPWHujS0pM27KdxoQgqf5mdMWjp0AAABjjzNh0oA +AAQDAEcwRQIhAII6gkvYkUo6GXa5NG87P5ysnd0sVY82twX4Lh0Gl/ykAiApXGxk +Uxik2rggK7T6V17wwNKwKgRoqXQ4Gx3efaQ6szANBgkqhkiG9w0BAQsFAAOCAQEA +kplEOuY7gpgH4ITyCNFlYGXQG6SRN959FVkOJrgqT3m9A5k4K5JTSMZVjh0W5WOF +IUXErOOl7oV7XOhB05QQ6coJhRaGT1cJfQN14Gpj9QZrCN5CB/wXZG9SH9NT/MtP +9wyqHRC7pXBEF6poFXcirY8x45Q/frMtONYGiJCCPBXBEXfgvXSebzKXS+qT3Yoe +icjPxh+PlvXi7AFEmWow2iB1SXG7pVE1+QuSkHc7OS2NM1H8Fd3z3ocH2+bnK7Vp +3nnOdYnzxi4aUKdMdl/Wt+Y4eyMr3UIYjyyV6W7XJMkrjtMoinDqvfdM15tTPuij +C8pcAaRpPPO/mPA5jVBSDg== +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw +WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg +RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP +R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx +sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm +NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg +Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG +/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB +Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA +FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw +AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw +Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB +gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W +PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl +ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz +CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm +lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4 +avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2 +yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O +yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids +hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+ +HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv +MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX +nLRbwHOoq7hHwg== +-----END CERTIFICATE----- diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000..7927242 --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,126 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + + sendfile on; + client_max_body_size 64m; + #client_body_temp_path /data/temp; + + + server { + listen 80; + server_name localhost; + + root /usr/share/nginx/html; + index index.html index.htm; + include /etc/nginx/mime.types; + + gzip on; + gzip_min_length 1000; + gzip_proxied expired no-cache no-store private auth; + gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; + + sendfile on; + client_max_body_size 64m; + + location / { + try_files $uri $uri/ /index.html; + } + # https://serverfault.com/questions/379675/nginx-reverse-proxy-url-rewrite + location /backend-api/ { + #rewrite ^/backend-api(.*) /$1 break; + proxy_pass http://phoenix-system:3000/; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + } + + location /admin-api { + proxy_pass http://phoenix-system:3000/admin-api; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + } + + location /remote-assets { + proxy_pass http://phoenix-system:3000/remote-assets; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + } + + location /sti { + proxy_pass http://phoenix-system:3000/sti; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + } + + location /ws { + proxy_pass http://phoenix-system:3000/graphql; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + } + + server { # This new server will watch for traffic on 443 + listen 443 ssl http2; + server_name localhost; + ssl_certificate /etc/nginx/external-certificate/certificate.crt; + ssl_certificate_key /etc/nginx/external-certificate/certificate.key; + root /usr/share/nginx/html; + index index.html index.htm; + include /etc/nginx/mime.types; + + gzip on; + gzip_min_length 1000; + gzip_proxied expired no-cache no-store private auth; + gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; + + sendfile on; + client_max_body_size 64m; + + location / { + try_files $uri $uri/ /index.html; + } + + # https://serverfault.com/questions/379675/nginx-reverse-proxy-url-rewrite + location /backend-api/ { + #rewrite ^/backend-api(.*) /$1 break; + proxy_pass http://phoenix-system:3000/; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Proto https; + } + + location /admin-api { + proxy_pass http://phoenix-system:3000/admin-api; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + } + + location /remote-assets { + proxy_pass http://phoenix-system:3000/remote-assets; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Proto https; + } + + location /sti { + proxy_pass http://phoenix-system:3000/sti; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + } + + location /ws { + proxy_pass http://phoenix-system:3000/graphql; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + + } + +} \ No newline at end of file diff --git a/server_custom/assets/cache/preview/12/10001-5-as-pdfa__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/12/10001-5-as-pdfa__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/12/10001-5-as-pdfa__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/12/10002-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/12/10002-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/12/10002-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/28/10014-__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/28/10014-__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/28/10014-__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/29/10015-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/29/10015-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/29/10015-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/2c/screenshot-2024-05-09-at-17.22.59__preview379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/2c/screenshot-2024-05-09-at-17.22.59__preview379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..739e46d Binary files /dev/null and b/server_custom/assets/cache/preview/2c/screenshot-2024-05-09-at-17.22.59__preview379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/35/ansible-18-09-23__preview.excalidraw379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/35/ansible-18-09-23__preview.excalidraw379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..bb1824b Binary files /dev/null and b/server_custom/assets/cache/preview/35/ansible-18-09-23__preview.excalidraw379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/3f/screenshot-2023-07-08-at-22.27.18__preview379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/3f/screenshot-2023-07-08-at-22.27.18__preview379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..f6426c3 Binary files /dev/null and b/server_custom/assets/cache/preview/3f/screenshot-2023-07-08-at-22.27.18__preview379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/46/10017-__03__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/46/10017-__03__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/46/10017-__03__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/4d/yurilima__preview5a1f094e1d632219d28be43dad75e5cf.png b/server_custom/assets/cache/preview/4d/yurilima__preview5a1f094e1d632219d28be43dad75e5cf.png new file mode 100644 index 0000000..6179e57 Binary files /dev/null and b/server_custom/assets/cache/preview/4d/yurilima__preview5a1f094e1d632219d28be43dad75e5cf.png differ diff --git a/server_custom/assets/cache/preview/5c/invoicequotation__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/5c/invoicequotation__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/5c/invoicequotation__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/5f/example-company__preview5a1f094e1d632219d28be43dad75e5cf.jpg b/server_custom/assets/cache/preview/5f/example-company__preview5a1f094e1d632219d28be43dad75e5cf.jpg new file mode 100644 index 0000000..efc0727 Binary files /dev/null and b/server_custom/assets/cache/preview/5f/example-company__preview5a1f094e1d632219d28be43dad75e5cf.jpg differ diff --git a/server_custom/assets/cache/preview/79/yurilima__02__preview5a1f094e1d632219d28be43dad75e5cf.png b/server_custom/assets/cache/preview/79/yurilima__02__preview5a1f094e1d632219d28be43dad75e5cf.png new file mode 100644 index 0000000..6179e57 Binary files /dev/null and b/server_custom/assets/cache/preview/79/yurilima__02__preview5a1f094e1d632219d28be43dad75e5cf.png differ diff --git a/server_custom/assets/cache/preview/7d/screenshot-2024-05-09-at-17.22.59__02__preview379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/7d/screenshot-2024-05-09-at-17.22.59__02__preview379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..0edba71 Binary files /dev/null and b/server_custom/assets/cache/preview/7d/screenshot-2024-05-09-at-17.22.59__02__preview379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/80/10017-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/80/10017-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/80/10017-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/8c/10014-__04__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/8c/10014-__04__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/8c/10014-__04__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/95/merged-reports__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/95/merged-reports__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/95/merged-reports__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/96/invoicequotation__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/96/invoicequotation__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/96/invoicequotation__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/9d/10017-__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/9d/10017-__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/9d/10017-__02__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/a3/screenshot-2024-05-07-at-13.39.21__preview379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/a3/screenshot-2024-05-07-at-13.39.21__preview379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..e22e7ad Binary files /dev/null and b/server_custom/assets/cache/preview/a3/screenshot-2024-05-07-at-13.39.21__preview379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/a4/invoicequotation__03__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/a4/invoicequotation__03__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/a4/invoicequotation__03__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/a6/screenshot-2024-05-09-at-18.48.11__preview379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/a6/screenshot-2024-05-09-at-18.48.11__preview379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..088aed8 Binary files /dev/null and b/server_custom/assets/cache/preview/a6/screenshot-2024-05-09-at-18.48.11__preview379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..f6426c3 Binary files /dev/null and b/server_custom/assets/cache/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview5a1f094e1d632219d28be43dad75e5cf.png b/server_custom/assets/cache/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview5a1f094e1d632219d28be43dad75e5cf.png new file mode 100644 index 0000000..2bdd4f4 Binary files /dev/null and b/server_custom/assets/cache/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview5a1f094e1d632219d28be43dad75e5cf.png differ diff --git a/server_custom/assets/cache/preview/af/10017-__04__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/af/10017-__04__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/af/10017-__04__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/db/screenshot-2024-05-09-at-23.19.37__preview379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/db/screenshot-2024-05-09-at-23.19.37__preview379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..2c416bf Binary files /dev/null and b/server_custom/assets/cache/preview/db/screenshot-2024-05-09-at-23.19.37__preview379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/de/example-company__02__preview5a1f094e1d632219d28be43dad75e5cf.jpg b/server_custom/assets/cache/preview/de/example-company__02__preview5a1f094e1d632219d28be43dad75e5cf.jpg new file mode 100644 index 0000000..efc0727 Binary files /dev/null and b/server_custom/assets/cache/preview/de/example-company__02__preview5a1f094e1d632219d28be43dad75e5cf.jpg differ diff --git a/server_custom/assets/cache/preview/df/screen-recording-2024-03-22-at-09.48.43__preview.mov5a1f094e1d632219d28be43dad75e5cf.png b/server_custom/assets/cache/preview/df/screen-recording-2024-03-22-at-09.48.43__preview.mov5a1f094e1d632219d28be43dad75e5cf.png new file mode 100644 index 0000000..33afab7 Binary files /dev/null and b/server_custom/assets/cache/preview/df/screen-recording-2024-03-22-at-09.48.43__preview.mov5a1f094e1d632219d28be43dad75e5cf.png differ diff --git a/server_custom/assets/cache/preview/f9/10001-5-as-pdfa__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/f9/10001-5-as-pdfa__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/f9/10001-5-as-pdfa__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/cache/preview/ff/10005-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png b/server_custom/assets/cache/preview/ff/10005-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png new file mode 100644 index 0000000..3a023e4 Binary files /dev/null and b/server_custom/assets/cache/preview/ff/10005-__preview.pdf379d8b893c19c0efa49799a17fb5ba3d.png differ diff --git a/server_custom/assets/preview/12/10001-5-as-pdfa__02__preview.pdf.png b/server_custom/assets/preview/12/10001-5-as-pdfa__02__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/12/10001-5-as-pdfa__02__preview.pdf.png differ diff --git a/server_custom/assets/preview/12/10002-__preview.pdf.png b/server_custom/assets/preview/12/10002-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/12/10002-__preview.pdf.png differ diff --git a/server_custom/assets/preview/29/10015-__preview.pdf.png b/server_custom/assets/preview/29/10015-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/29/10015-__preview.pdf.png differ diff --git a/server_custom/assets/preview/2c/screenshot-2024-05-09-at-17.22.59__preview.png b/server_custom/assets/preview/2c/screenshot-2024-05-09-at-17.22.59__preview.png new file mode 100644 index 0000000..467983b Binary files /dev/null and b/server_custom/assets/preview/2c/screenshot-2024-05-09-at-17.22.59__preview.png differ diff --git a/server_custom/assets/preview/35/ansible-18-09-23__preview.excalidraw.png b/server_custom/assets/preview/35/ansible-18-09-23__preview.excalidraw.png new file mode 100644 index 0000000..4391e66 Binary files /dev/null and b/server_custom/assets/preview/35/ansible-18-09-23__preview.excalidraw.png differ diff --git a/server_custom/assets/preview/3f/10002-__02__preview.pdf.png b/server_custom/assets/preview/3f/10002-__02__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/3f/10002-__02__preview.pdf.png differ diff --git a/server_custom/assets/preview/3f/screenshot-2023-07-08-at-22.27.18__preview.png b/server_custom/assets/preview/3f/screenshot-2023-07-08-at-22.27.18__preview.png new file mode 100644 index 0000000..cb6b018 Binary files /dev/null and b/server_custom/assets/preview/3f/screenshot-2023-07-08-at-22.27.18__preview.png differ diff --git a/server_custom/assets/preview/40/10006-__preview.pdf.png b/server_custom/assets/preview/40/10006-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/40/10006-__preview.pdf.png differ diff --git a/server_custom/assets/preview/46/10017-__03__preview.pdf.png b/server_custom/assets/preview/46/10017-__03__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/46/10017-__03__preview.pdf.png differ diff --git a/server_custom/assets/preview/4d/yurilima__preview.png b/server_custom/assets/preview/4d/yurilima__preview.png new file mode 100644 index 0000000..6eb558e Binary files /dev/null and b/server_custom/assets/preview/4d/yurilima__preview.png differ diff --git a/server_custom/assets/preview/4e/10010-__preview.pdf.png b/server_custom/assets/preview/4e/10010-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/4e/10010-__preview.pdf.png differ diff --git a/server_custom/assets/preview/5c/invoicequotation__02__preview.pdf.png b/server_custom/assets/preview/5c/invoicequotation__02__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/5c/invoicequotation__02__preview.pdf.png differ diff --git a/server_custom/assets/preview/5f/example-company__preview.jpg b/server_custom/assets/preview/5f/example-company__preview.jpg new file mode 100644 index 0000000..b4f6751 Binary files /dev/null and b/server_custom/assets/preview/5f/example-company__preview.jpg differ diff --git a/server_custom/assets/preview/6e/10016-__preview.pdf.png b/server_custom/assets/preview/6e/10016-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/6e/10016-__preview.pdf.png differ diff --git a/server_custom/assets/preview/75/10009-__preview.pdf.png b/server_custom/assets/preview/75/10009-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/75/10009-__preview.pdf.png differ diff --git a/server_custom/assets/preview/79/10010-__02__preview.pdf.png b/server_custom/assets/preview/79/10010-__02__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/79/10010-__02__preview.pdf.png differ diff --git a/server_custom/assets/preview/79/yurilima__02__preview.png b/server_custom/assets/preview/79/yurilima__02__preview.png new file mode 100644 index 0000000..6eb558e Binary files /dev/null and b/server_custom/assets/preview/79/yurilima__02__preview.png differ diff --git a/server_custom/assets/preview/7d/screenshot-2024-05-09-at-17.22.59__02__preview.png b/server_custom/assets/preview/7d/screenshot-2024-05-09-at-17.22.59__02__preview.png new file mode 100644 index 0000000..e75f467 Binary files /dev/null and b/server_custom/assets/preview/7d/screenshot-2024-05-09-at-17.22.59__02__preview.png differ diff --git a/server_custom/assets/preview/80/10017-__preview.pdf.png b/server_custom/assets/preview/80/10017-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/80/10017-__preview.pdf.png differ diff --git a/server_custom/assets/preview/84/10014-__03__preview.pdf.png b/server_custom/assets/preview/84/10014-__03__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/84/10014-__03__preview.pdf.png differ diff --git a/server_custom/assets/preview/96/invoicequotation__preview.pdf.png b/server_custom/assets/preview/96/invoicequotation__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/96/invoicequotation__preview.pdf.png differ diff --git a/server_custom/assets/preview/9d/10017-__02__preview.pdf.png b/server_custom/assets/preview/9d/10017-__02__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/9d/10017-__02__preview.pdf.png differ diff --git a/server_custom/assets/preview/a3/screenshot-2024-05-07-at-13.39.21__preview.png b/server_custom/assets/preview/a3/screenshot-2024-05-07-at-13.39.21__preview.png new file mode 100644 index 0000000..17ca778 Binary files /dev/null and b/server_custom/assets/preview/a3/screenshot-2024-05-07-at-13.39.21__preview.png differ diff --git a/server_custom/assets/preview/a4/invoicequotation__03__preview.pdf.png b/server_custom/assets/preview/a4/invoicequotation__03__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/a4/invoicequotation__03__preview.pdf.png differ diff --git a/server_custom/assets/preview/a6/screenshot-2024-05-09-at-18.48.11__preview.png b/server_custom/assets/preview/a6/screenshot-2024-05-09-at-18.48.11__preview.png new file mode 100644 index 0000000..f60ac0e Binary files /dev/null and b/server_custom/assets/preview/a6/screenshot-2024-05-09-at-18.48.11__preview.png differ diff --git a/server_custom/assets/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview.png b/server_custom/assets/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview.png new file mode 100644 index 0000000..cb6b018 Binary files /dev/null and b/server_custom/assets/preview/ad/screenshot-2023-07-08-at-22.27.18__02__preview.png differ diff --git a/server_custom/assets/preview/af/10017-__04__preview.pdf.png b/server_custom/assets/preview/af/10017-__04__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/af/10017-__04__preview.pdf.png differ diff --git a/server_custom/assets/preview/b2/10014-__preview.pdf.png b/server_custom/assets/preview/b2/10014-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/b2/10014-__preview.pdf.png differ diff --git a/server_custom/assets/preview/be/10016-__02__preview.pdf.png b/server_custom/assets/preview/be/10016-__02__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/be/10016-__02__preview.pdf.png differ diff --git a/server_custom/assets/preview/db/screenshot-2024-05-09-at-23.19.37__preview.png b/server_custom/assets/preview/db/screenshot-2024-05-09-at-23.19.37__preview.png new file mode 100644 index 0000000..bcf64c2 Binary files /dev/null and b/server_custom/assets/preview/db/screenshot-2024-05-09-at-23.19.37__preview.png differ diff --git a/server_custom/assets/preview/de/example-company__02__preview.jpg b/server_custom/assets/preview/de/example-company__02__preview.jpg new file mode 100644 index 0000000..b4f6751 Binary files /dev/null and b/server_custom/assets/preview/de/example-company__02__preview.jpg differ diff --git a/server_custom/assets/preview/df/screen-recording-2024-03-22-at-09.48.43__preview.mov.png b/server_custom/assets/preview/df/screen-recording-2024-03-22-at-09.48.43__preview.mov.png new file mode 100644 index 0000000..bda4046 Binary files /dev/null and b/server_custom/assets/preview/df/screen-recording-2024-03-22-at-09.48.43__preview.mov.png differ diff --git a/server_custom/assets/preview/e5/10001-__preview.pdf.png b/server_custom/assets/preview/e5/10001-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/e5/10001-__preview.pdf.png differ diff --git a/server_custom/assets/preview/e8/10016.pdf-__preview.pdf.png b/server_custom/assets/preview/e8/10016.pdf-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/e8/10016.pdf-__preview.pdf.png differ diff --git a/server_custom/assets/preview/e8/screenshot-2023-07-08-at-22.27.18__03__preview.png b/server_custom/assets/preview/e8/screenshot-2023-07-08-at-22.27.18__03__preview.png new file mode 100644 index 0000000..cb6b018 Binary files /dev/null and b/server_custom/assets/preview/e8/screenshot-2023-07-08-at-22.27.18__03__preview.png differ diff --git a/server_custom/assets/preview/f9/10001-5-as-pdfa__preview.pdf.png b/server_custom/assets/preview/f9/10001-5-as-pdfa__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/f9/10001-5-as-pdfa__preview.pdf.png differ diff --git a/server_custom/assets/preview/ff/10005-__preview.pdf.png b/server_custom/assets/preview/ff/10005-__preview.pdf.png new file mode 100644 index 0000000..0fcc4e6 Binary files /dev/null and b/server_custom/assets/preview/ff/10005-__preview.pdf.png differ diff --git a/server_custom/assets/source/04/screenshot-2024-05-09-at-23.19.37.png b/server_custom/assets/source/04/screenshot-2024-05-09-at-23.19.37.png new file mode 100644 index 0000000..63890e0 Binary files /dev/null and b/server_custom/assets/source/04/screenshot-2024-05-09-at-23.19.37.png differ diff --git a/server_custom/assets/source/0e/10017-__04.pdf b/server_custom/assets/source/0e/10017-__04.pdf new file mode 100644 index 0000000..d62d197 Binary files /dev/null and b/server_custom/assets/source/0e/10017-__04.pdf differ diff --git a/server_custom/assets/source/12/invoicequotation__03.pdf b/server_custom/assets/source/12/invoicequotation__03.pdf new file mode 100644 index 0000000..973ca1a Binary files /dev/null and b/server_custom/assets/source/12/invoicequotation__03.pdf differ diff --git a/server_custom/assets/source/14/10002-__02.pdf b/server_custom/assets/source/14/10002-__02.pdf new file mode 100644 index 0000000..6b7ac6c Binary files /dev/null and b/server_custom/assets/source/14/10002-__02.pdf differ diff --git a/server_custom/assets/source/1d/10001-5-as-pdfa__02.pdf b/server_custom/assets/source/1d/10001-5-as-pdfa__02.pdf new file mode 100644 index 0000000..b2c84a8 Binary files /dev/null and b/server_custom/assets/source/1d/10001-5-as-pdfa__02.pdf differ diff --git a/server_custom/assets/source/1d/screenshot-2023-07-08-at-22.27.18.png b/server_custom/assets/source/1d/screenshot-2023-07-08-at-22.27.18.png new file mode 100644 index 0000000..813cb59 Binary files /dev/null and b/server_custom/assets/source/1d/screenshot-2023-07-08-at-22.27.18.png differ diff --git a/server_custom/assets/source/2f/10015-.pdf b/server_custom/assets/source/2f/10015-.pdf new file mode 100644 index 0000000..5e2f471 Binary files /dev/null and b/server_custom/assets/source/2f/10015-.pdf differ diff --git a/server_custom/assets/source/36/example-company.jpg b/server_custom/assets/source/36/example-company.jpg new file mode 100644 index 0000000..94b61b5 Binary files /dev/null and b/server_custom/assets/source/36/example-company.jpg differ diff --git a/server_custom/assets/source/37/10014-.pdf b/server_custom/assets/source/37/10014-.pdf new file mode 100644 index 0000000..f401831 Binary files /dev/null and b/server_custom/assets/source/37/10014-.pdf differ diff --git a/server_custom/assets/source/3c/screenshot-2024-05-09-at-18.48.11.png b/server_custom/assets/source/3c/screenshot-2024-05-09-at-18.48.11.png new file mode 100644 index 0000000..af683c6 Binary files /dev/null and b/server_custom/assets/source/3c/screenshot-2024-05-09-at-18.48.11.png differ diff --git a/server_custom/assets/source/43/screenshot-2023-07-08-at-22.27.18__02.png b/server_custom/assets/source/43/screenshot-2023-07-08-at-22.27.18__02.png new file mode 100644 index 0000000..813cb59 Binary files /dev/null and b/server_custom/assets/source/43/screenshot-2023-07-08-at-22.27.18__02.png differ diff --git a/server_custom/assets/source/46/10014-__03.pdf b/server_custom/assets/source/46/10014-__03.pdf new file mode 100644 index 0000000..3042c21 Binary files /dev/null and b/server_custom/assets/source/46/10014-__03.pdf differ diff --git a/server_custom/assets/source/46/10017-__03.pdf b/server_custom/assets/source/46/10017-__03.pdf new file mode 100644 index 0000000..258ea06 Binary files /dev/null and b/server_custom/assets/source/46/10017-__03.pdf differ diff --git a/server_custom/assets/source/47/10006-.pdf b/server_custom/assets/source/47/10006-.pdf new file mode 100644 index 0000000..99c7866 Binary files /dev/null and b/server_custom/assets/source/47/10006-.pdf differ diff --git a/server_custom/assets/source/4d/10005-.pdf b/server_custom/assets/source/4d/10005-.pdf new file mode 100644 index 0000000..0acb12b Binary files /dev/null and b/server_custom/assets/source/4d/10005-.pdf differ diff --git a/server_custom/assets/source/4d/screenshot-2024-05-09-at-17.22.59.png b/server_custom/assets/source/4d/screenshot-2024-05-09-at-17.22.59.png new file mode 100644 index 0000000..fc29da5 Binary files /dev/null and b/server_custom/assets/source/4d/screenshot-2024-05-09-at-17.22.59.png differ diff --git a/server_custom/assets/source/5d/10016-__02.pdf b/server_custom/assets/source/5d/10016-__02.pdf new file mode 100644 index 0000000..95c17c3 Binary files /dev/null and b/server_custom/assets/source/5d/10016-__02.pdf differ diff --git a/server_custom/assets/source/5d/10016.pdf-.pdf b/server_custom/assets/source/5d/10016.pdf-.pdf new file mode 100644 index 0000000..18ec969 Binary files /dev/null and b/server_custom/assets/source/5d/10016.pdf-.pdf differ diff --git a/server_custom/assets/source/61/10017-.pdf b/server_custom/assets/source/61/10017-.pdf new file mode 100644 index 0000000..8435bc8 Binary files /dev/null and b/server_custom/assets/source/61/10017-.pdf differ diff --git a/server_custom/assets/source/61/ansible-18-09-23.excalidraw b/server_custom/assets/source/61/ansible-18-09-23.excalidraw new file mode 100644 index 0000000..9a97ccb --- /dev/null +++ b/server_custom/assets/source/61/ansible-18-09-23.excalidraw @@ -0,0 +1,12757 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "rectangle", + "version": 141, + "versionNonce": 642368483, + "isDeleted": false, + "id": "f5tiN1iJYP5gMIYqAOSoy", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1445.8343973852989, + "y": 720.8020970551356, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 1238.979176268996, + "height": 607.9590030447753, + "seed": 1801846723, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": true + }, + { + "type": "rectangle", + "version": 963, + "versionNonce": 252649421, + "isDeleted": false, + "id": "3xnyF7EbWu6DqicsQegiT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1421.0886487461046, + "y": 9.086935119679111, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 349.22487932086824, + "height": 246.33412861343845, + "seed": 1522569394, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 758, + "versionNonce": 80564099, + "isDeleted": false, + "id": "WvYLADkYTunt7hFA0QUb6", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1438.4503310788173, + "y": 19.58776854645305, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 88.92578125, + "height": 23, + "seed": 1703914098, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Automatic", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Automatic", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 204, + "versionNonce": 1964219949, + "isDeleted": false, + "id": "BnxqDnMhKoSr-U_EM9n-O", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2127.8300347528743, + "y": -14.318713218555331, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 338.39871275592304, + "height": 529.3147644676249, + "seed": 1590485490, + "groupIds": [ + "Di_BzZmwYCH6RplZyZuyT" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 63, + "versionNonce": 1310615331, + "isDeleted": false, + "id": "QWy_jENuEgA64r2JT-gBg", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2140.51190360188, + "y": -1.1621909969496755, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 88.92578125, + "height": 23, + "seed": 169362542, + "groupIds": [ + "Di_BzZmwYCH6RplZyZuyT" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Automatic", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Automatic", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 948, + "versionNonce": 1991856269, + "isDeleted": false, + "id": "RVD0KQDmTjaEtrTgWgd3l", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1774.5091001267917, + "y": 269.65871700725984, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 349.22487932086824, + "height": 246.33412861343845, + "seed": 1101089906, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 403, + "versionNonce": 1756072643, + "isDeleted": false, + "id": "Tx4ZAcBuQyt1LU_ZN3Voe", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1545.9468671717118, + "y": 60.354004383380044, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 98.37319946289062, + "height": 27.044911837183562, + "seed": 581474218, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Mo2m3yKHD-i4UFvT2h5P6", + "type": "arrow" + }, + { + "id": "nhh7gNrpyn-ImP34NP9Hr", + "type": "arrow" + }, + { + "id": "wEe-c81Kd9s_1pLEcsg6r", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "TeamCity", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "TeamCity", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 400, + "versionNonce": 1907996397, + "isDeleted": false, + "id": "Q8oyReWoKJAPYVRnv45mN", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2263.134368575806, + "y": 59.674872163438835, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 69.28083801269531, + "height": 27.044911837183562, + "seed": 1354233322, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Q-0Cg4tU_EXx-_ONzfwGk", + "type": "arrow" + }, + { + "id": "a202JX3y1H0A5aOd_x9g6", + "type": "arrow" + }, + { + "id": "h3OOZxaDizJTRfdEWEkG9", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Ansible", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Ansible", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 883, + "versionNonce": 1762867811, + "isDeleted": false, + "id": "IlDeJw3zlKi_xSLNwOVXD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 939.5768223582771, + "y": 59.76423387570398, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 69.90812683105469, + "height": 27.044911837183562, + "seed": 1608602038, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "cHwMFxy26A3v0fR4qXyHE", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Vscode", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Vscode", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 381, + "versionNonce": 1352552781, + "isDeleted": false, + "id": "nzRo_VgSLuOrABT54lQDe", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1905.493755822833, + "y": 60.01878013621277, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 106.57093811035156, + "height": 27.044911837183562, + "seed": 1822182134, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Mo2m3yKHD-i4UFvT2h5P6", + "type": "arrow" + }, + { + "id": "Q-0Cg4tU_EXx-_ONzfwGk", + "type": "arrow" + }, + { + "id": "FxVNSM3A67_nY46wHz_Z_", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "DockerHub", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "DockerHub", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 529, + "versionNonce": 1277425155, + "isDeleted": false, + "id": "8Gt_weSjXWB-namcaY3aK", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2515.3336187359278, + "y": 59.674872163438835, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 60.28277587890625, + "height": 27.044911837183562, + "seed": 1055070902, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "a202JX3y1H0A5aOd_x9g6", + "type": "arrow" + }, + { + "id": "JGFWZC_K4VwydLY04MXKr", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Gitea", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Gitea", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 1111, + "versionNonce": 1891671981, + "isDeleted": false, + "id": "Mo2m3yKHD-i4UFvT2h5P6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1655.2083109939333, + "y": 74.2184046800873, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 240.54927656751374, + "height": 0.05983559554415763, + "seed": 629371434, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "hVr3KafdGAQ3QkOwGUGZq" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Tx4ZAcBuQyt1LU_ZN3Voe", + "focus": 0.026366835391647074, + "gap": 10.861344879104195 + }, + "endBinding": { + "elementId": "nzRo_VgSLuOrABT54lQDe", + "focus": -0.04444930178348401, + "gap": 9.736168261386183 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 240.54927656751374, + -0.05983559554415763 + ] + ] + }, + { + "type": "text", + "version": 133, + "versionNonce": 1893481891, + "isDeleted": false, + "id": "hVr3KafdGAQ3QkOwGUGZq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1763.2234923932838, + "y": 80.40213609817093, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 49.0135498046875, + "height": 27.044911837183562, + "seed": 1480296246, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Push", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Mo2m3yKHD-i4UFvT2h5P6", + "originalText": "Push", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 722, + "versionNonce": 1212817933, + "isDeleted": false, + "id": "Q-0Cg4tU_EXx-_ONzfwGk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2250.152810893958, + "y": 73.2457022202077, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 225.66144298751396, + "height": 0.22889491139160612, + "seed": 2038479798, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "tyabaFc9QKc6jNc1s2nlD" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Q8oyReWoKJAPYVRnv45mN", + "focus": 0, + "gap": 12.981557681848017 + }, + "endBinding": { + "elementId": "nzRo_VgSLuOrABT54lQDe", + "focus": 0, + "gap": 12.397493890630813 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -225.66144298751396, + 0.22889491139160612 + ] + ] + }, + { + "type": "text", + "version": 133, + "versionNonce": 1382715715, + "isDeleted": false, + "id": "tyabaFc9QKc6jNc1s2nlD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2051.833485374243, + "y": 80.84499333703334, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 37.960601806640625, + "height": 27.044911837183562, + "seed": 218118186, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Pull", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Q-0Cg4tU_EXx-_ONzfwGk", + "originalText": "Pull", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 416, + "versionNonce": 1278498925, + "isDeleted": false, + "id": "a202JX3y1H0A5aOd_x9g6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2346.4326970343313, + "y": 72.0036335974556, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 156.86048865566465, + "height": 108, + "seed": 1253689130, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "9x1Xn_C6LiXSyGgszRZTp" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Q8oyReWoKJAPYVRnv45mN", + "focus": -0.1370164343205511, + "gap": 13.998515035647642 + }, + "endBinding": { + "elementId": "8Gt_weSjXWB-namcaY3aK", + "focus": -0.12842462666751844, + "gap": 12.040433045932105 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 156.86048865566465, + 2.3550225219085577 + ] + ] + }, + { + "type": "text", + "version": 132, + "versionNonce": 36532451, + "isDeleted": false, + "id": "9x1Xn_C6LiXSyGgszRZTp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2288.833485374243, + "y": 80.85995291955871, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 37.95196533203125, + "height": 27.044911837183562, + "seed": 1340850294, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Pull", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "a202JX3y1H0A5aOd_x9g6", + "originalText": "Pull", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 1442, + "versionNonce": 373867213, + "isDeleted": false, + "id": "wEe-c81Kd9s_1pLEcsg6r", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1538.5216048184511, + "y": 73.7558804265995, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 244.03215028024556, + "height": 1.5812267003220768, + "seed": 614049322, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "iVT2GLZ0tuMLXfvKTYuFC" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Tx4ZAcBuQyt1LU_ZN3Voe", + "focus": -0.017830277152936197, + "gap": 7.425262353260564 + }, + "endBinding": { + "elementId": "ErzjL1p4QWHFzj5w-cyJV", + "focus": 0.11624016707346292, + "gap": 14.54865665614966 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -244.03215028024556, + -1.5812267003220768 + ] + ] + }, + { + "type": "text", + "version": 132, + "versionNonce": 1639144579, + "isDeleted": false, + "id": "iVT2GLZ0tuMLXfvKTYuFC", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1513.5668600656848, + "y": 79.34148079279586, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 37.960601806640625, + "height": 27.044911837183562, + "seed": 833398134, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Pull", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "wEe-c81Kd9s_1pLEcsg6r", + "originalText": "Pull", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 323, + "versionNonce": 1260445997, + "isDeleted": false, + "id": "LZ1AdrILwLOOdq1WlJ_0O", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1075.2220417511744, + "y": -222.3527052053758, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 799.835693359375, + "height": 172.966012842406, + "seed": 535303606, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 23.062135045654134, + "fontFamily": 1, + "text": "Gitea: Repositories\nVsCode: Development\nTeamCity: Build Images [ Dev | Stage | Production ] (Alpha, Beta.....)\nDockerHub: Pull Images From\nAnsible: Server Manager\nHetzner: Server Provider", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Gitea: Repositories\nVsCode: Development\nTeamCity: Build Images [ Dev | Stage | Production ] (Alpha, Beta.....)\nDockerHub: Pull Images From\nAnsible: Server Manager\nHetzner: Server Provider", + "lineHeight": 1.25, + "baseline": 163 + }, + { + "type": "text", + "version": 166, + "versionNonce": 482006051, + "isDeleted": false, + "id": "9A-mbzUhNO2w_G-NVuJYE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2244.0207811090518, + "y": 193.14677244648806, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 113.79536437988281, + "height": 27.044911837183562, + "seed": 99004778, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "bfw18_-4afiN2URDeYexk", + "type": "arrow" + }, + { + "id": "7_HpSnO299hrLY8whSikZ", + "type": "arrow" + }, + { + "id": "z23A9WlwT_C5NsR9O9eG6", + "type": "arrow" + }, + { + "id": "i7DLspVGGG-0UvpjfgbwT", + "type": "arrow" + }, + { + "id": "h3OOZxaDizJTRfdEWEkG9", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "PLayBooks", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "PLayBooks", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 280, + "versionNonce": 1076245389, + "isDeleted": false, + "id": "QRirKNXN4kCyFIU7mJlrJ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2161.8834609572614, + "y": 299.5181454571036, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.01548767089844, + "height": 27.044911837183562, + "seed": 603989430, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "bfw18_-4afiN2URDeYexk", + "type": "arrow" + }, + { + "id": "_MmJNeYyByyK9QCofPp5q", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Dev", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dev", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 150, + "versionNonce": 1664243651, + "isDeleted": false, + "id": "RO_nxDcNqiGQZ1uzcMTqH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2244.962834038694, + "y": 301.95388582014095, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 55.65394592285156, + "height": 27.044911837183562, + "seed": 1435495094, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "7_HpSnO299hrLY8whSikZ", + "type": "arrow" + }, + { + "id": "5VJz6zT0WLjDw_SHWP95g", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Alpha", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Alpha", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 149, + "versionNonce": 1636973037, + "isDeleted": false, + "id": "dQbHMjmBmSvQUsbWr3ofs", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2325.037333058265, + "y": 301.95388582014084, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54.20475769042969, + "height": 27.044911837183562, + "seed": 1516501418, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "i7DLspVGGG-0UvpjfgbwT", + "type": "arrow" + }, + { + "id": "WUHgl10fz6H-iX8AgqwHU", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Beta", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Beta", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 177, + "versionNonce": 1664640867, + "isDeleted": false, + "id": "VlCc_kgThKCv7fRnOEq1O", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2413.904996257871, + "y": 299.5181454571036, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 43.49790954589844, + "height": 27.044911837183562, + "seed": 592927978, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "z23A9WlwT_C5NsR9O9eG6", + "type": "arrow" + }, + { + "id": "AiX-aDemD4akJDU42WzAE", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "LTS", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "LTS", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 527, + "versionNonce": 1483633741, + "isDeleted": false, + "id": "bfw18_-4afiN2URDeYexk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2242.6804278500695, + "y": 228.56354277764683, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 39.2023768889, + "height": 59.27291278918809, + "seed": 1936463594, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9A-mbzUhNO2w_G-NVuJYE", + "focus": 0.6646686465022371, + "gap": 8.371858493975196 + }, + "endBinding": { + "elementId": "QRirKNXN4kCyFIU7mJlrJ", + "focus": 0.16962020450724846, + "gap": 11.681689890268729 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -39.2023768889, + 59.27291278918809 + ] + ] + }, + { + "type": "arrow", + "version": 441, + "versionNonce": 52134659, + "isDeleted": false, + "id": "7_HpSnO299hrLY8whSikZ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2265.6879984908187, + "y": 229.8868367025267, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 60.29138749708896, + "seed": 127252150, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9A-mbzUhNO2w_G-NVuJYE", + "focus": 0.6192940072373562, + "gap": 9.69515241885506 + }, + "endBinding": { + "elementId": "RO_nxDcNqiGQZ1uzcMTqH", + "focus": -0.2554170346054789, + "gap": 11.775661620525284 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 60.29138749708896 + ] + ] + }, + { + "type": "arrow", + "version": 515, + "versionNonce": 1888772781, + "isDeleted": false, + "id": "z23A9WlwT_C5NsR9O9eG6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2363.040552731365, + "y": 229.34562530389394, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54.25616760984024, + "height": 63.57814964571546, + "seed": 1093610794, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9A-mbzUhNO2w_G-NVuJYE", + "focus": -0.6245888044232563, + "gap": 9.153941020222305 + }, + "endBinding": { + "elementId": "VlCc_kgThKCv7fRnOEq1O", + "focus": -0.03591981506453204, + "gap": 6.5943705074942045 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 54.25616760984024, + 63.57814964571546 + ] + ] + }, + { + "type": "arrow", + "version": 441, + "versionNonce": 1532635811, + "isDeleted": false, + "id": "i7DLspVGGG-0UvpjfgbwT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2342.936338721464, + "y": 228.94478377288465, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 65.94370507494106, + "seed": 1535710198, + "groupIds": [ + "21l2oqWMbWfMl7yJAGZG3" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "9A-mbzUhNO2w_G-NVuJYE", + "focus": -0.7380056191337898, + "gap": 8.753099489213014 + }, + "endBinding": { + "elementId": "dQbHMjmBmSvQUsbWr3ofs", + "focus": -0.33975865564671404, + "gap": 7.0653969723151135 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 65.94370507494106 + ] + ] + }, + { + "type": "arrow", + "version": 300, + "versionNonce": 1051559181, + "isDeleted": false, + "id": "h3OOZxaDizJTRfdEWEkG9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2297.960172890482, + "y": 94.93642735477795, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 2.3653527494458917, + "height": 85.02160407672186, + "seed": 107712374, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Q8oyReWoKJAPYVRnv45mN", + "focus": -0.022288874722845478, + "gap": 8.216643354155543 + }, + "endBinding": { + "elementId": "9A-mbzUhNO2w_G-NVuJYE", + "focus": -0.10616853873118616, + "gap": 13.188741014988238 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -2.3653527494458917, + 85.02160407672186 + ] + ] + }, + { + "type": "arrow", + "version": 703, + "versionNonce": 1889721923, + "isDeleted": false, + "id": "JGFWZC_K4VwydLY04MXKr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2584.5998559486607, + "y": 89.17284761967201, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 65.88813118574508, + "height": 86.84424392993589, + "seed": 532147638, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "8Gt_weSjXWB-namcaY3aK", + "focus": -0.6680708498618593, + "gap": 8.966978372583753 + }, + "endBinding": { + "elementId": "evHvKjNlEHX2Rpn3KmBId", + "focus": 0.12088382007277361, + "gap": 13.899370376672636 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 65.88813118574508, + 86.84424392993589 + ] + ] + }, + { + "type": "text", + "version": 388, + "versionNonce": 104029037, + "isDeleted": false, + "id": "igpfDBWwKD4S6FrVfTfGj", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1564.2864647108863, + "y": 200.81353412262752, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 50.74394226074219, + "height": 27.044911837183562, + "seed": 2037787766, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "CgDUwbAuk6C8wb1lpFdME", + "type": "arrow" + }, + { + "id": "zg3r85HTi3jtdxblO-4r2", + "type": "arrow" + }, + { + "id": "H0W7TXq-Sx2hb1I7pqb0b", + "type": "arrow" + }, + { + "id": "w82e5gsvgCPM9xYbIRvil", + "type": "arrow" + }, + { + "id": "nhh7gNrpyn-ImP34NP9Hr", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Build", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Build", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 468, + "versionNonce": 768876003, + "isDeleted": false, + "id": "xoVszN3GA1rIHUAiUK12I", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1451.70239002113, + "y": 308.4027773147618, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.01548767089844, + "height": 27.044911837183562, + "seed": 1176841654, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "CgDUwbAuk6C8wb1lpFdME", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Dev", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dev", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 333, + "versionNonce": 1601136077, + "isDeleted": false, + "id": "lNKlquIzG1u4izJZle8DA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1546.960464917749, + "y": 308.4027773147618, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 55.65394592285156, + "height": 27.044911837183562, + "seed": 1071777526, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "zg3r85HTi3jtdxblO-4r2", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Alpha", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Alpha", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 332, + "versionNonce": 503081347, + "isDeleted": false, + "id": "O-JOWVi7Mv-WraLzSbhJb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1627.03496393732, + "y": 308.4027773147618, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54.20475769042969, + "height": 27.044911837183562, + "seed": 926005302, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "w82e5gsvgCPM9xYbIRvil", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Beta", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Beta", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 362, + "versionNonce": 494609453, + "isDeleted": false, + "id": "bosruBwoBzfurXbS5rzgu", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1721.9919780445186, + "y": 308.4027773147618, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 43.49790954589844, + "height": 27.044911837183562, + "seed": 603537782, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "H0W7TXq-Sx2hb1I7pqb0b", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "LTS", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "LTS", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 1211, + "versionNonce": 1717190947, + "isDeleted": false, + "id": "CgDUwbAuk6C8wb1lpFdME", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1555.8079883441085, + "y": 225.30184639408526, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 60.509658544314654, + "height": 74.17107959237217, + "seed": 964534966, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "igpfDBWwKD4S6FrVfTfGj", + "focus": 0.68417573116582, + "gap": 8.478476366777954 + }, + "endBinding": { + "elementId": "xoVszN3GA1rIHUAiUK12I", + "focus": 0.16962020450724893, + "gap": 8.92985132830438 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -60.509658544314654, + 74.17107959237217 + ] + ] + }, + { + "type": "arrow", + "version": 1105, + "versionNonce": 1950357133, + "isDeleted": false, + "id": "zg3r85HTi3jtdxblO-4r2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1571.947691460258, + "y": 237.55359837866615, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 3.111492086205026, + "height": 59.073517315570385, + "seed": 2053364726, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "igpfDBWwKD4S6FrVfTfGj", + "focus": 0.6321980711229077, + "gap": 9.69515241885506 + }, + "endBinding": { + "elementId": "lNKlquIzG1u4izJZle8DA", + "focus": -0.2554170346054823, + "gap": 11.775661620525284 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -3.111492086205026, + 59.073517315570385 + ] + ] + }, + { + "type": "arrow", + "version": 1179, + "versionNonce": 6038723, + "isDeleted": false, + "id": "H0W7TXq-Sx2hb1I7pqb0b", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1625.568779745556, + "y": 222.28142610902523, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 93.8807263049234, + "height": 80.07239511317182, + "seed": 1286663478, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "igpfDBWwKD4S6FrVfTfGj", + "focus": -0.6448134422946785, + "gap": 10.524476000184563 + }, + "endBinding": { + "elementId": "bosruBwoBzfurXbS5rzgu", + "focus": -0.03591981506452391, + "gap": 6.048956092564765 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 93.8807263049234, + 80.07239511317182 + ] + ] + }, + { + "type": "arrow", + "version": 1105, + "versionNonce": 1584905453, + "isDeleted": false, + "id": "w82e5gsvgCPM9xYbIRvil", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1616.6938236926214, + "y": 236.45471460450142, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 20.344175692125418, + "height": 64.88266573794519, + "seed": 231331446, + "groupIds": [ + "XFyTiHMkEFr_Rjpnc8Bvj" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "igpfDBWwKD4S6FrVfTfGj", + "focus": -0.6783850536135739, + "gap": 8.596268644690326 + }, + "endBinding": { + "elementId": "O-JOWVi7Mv-WraLzSbhJb", + "focus": -0.33975865564672436, + "gap": 7.06539697231517 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 20.344175692125418, + 64.88266573794519 + ] + ] + }, + { + "type": "arrow", + "version": 566, + "versionNonce": 866161763, + "isDeleted": false, + "id": "nhh7gNrpyn-ImP34NP9Hr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1591.0138133237006, + "y": 95.68654301517344, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0.7111336720317922, + "height": 90.63335233526655, + "seed": 1335408950, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Tx4ZAcBuQyt1LU_ZN3Voe", + "focus": 0.0872960284166885, + "gap": 8.287626794609828 + }, + "endBinding": { + "elementId": "igpfDBWwKD4S6FrVfTfGj", + "focus": 0.08944017131823498, + "gap": 14.493638772187524 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0.7111336720317922, + 90.63335233526655 + ] + ] + }, + { + "type": "text", + "version": 864, + "versionNonce": 1135318861, + "isDeleted": false, + "id": "E09fyx3K6jYW83CzdgGzc", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1898.4838471410817, + "y": 195.2241469594236, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 83.46040344238281, + "height": 30.372868064344306, + "seed": 1253215658, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "k6k0cX28LdOIUwnbf8ltX", + "type": "arrow" + }, + { + "id": "0EYSRW_z-UIdiQ63P0MI_", + "type": "arrow" + }, + { + "id": "FbtG-HkELucDewjnFb5jr", + "type": "arrow" + }, + { + "id": "dmN-72w1QJ8J4lumr7Tku", + "type": "arrow" + }, + { + "id": "FxVNSM3A67_nY46wHz_Z_", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 24.298294451475446, + "fontFamily": 1, + "text": "Images", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Images", + "lineHeight": 1.25, + "baseline": 21 + }, + { + "type": "text", + "version": 927, + "versionNonce": 1341526019, + "isDeleted": false, + "id": "W5XJ45BBnxtOl1v_9O1cT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1794.885644062264, + "y": 293.89104122946867, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 44.93647766113281, + "height": 30.372868064344306, + "seed": 153569386, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "k6k0cX28LdOIUwnbf8ltX", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 24.298294451475446, + "fontFamily": 1, + "text": "Dev", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dev", + "lineHeight": 1.25, + "baseline": 21 + }, + { + "type": "text", + "version": 813, + "versionNonce": 1580541357, + "isDeleted": false, + "id": "VApQOXuSzX28h2_majp0o", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1880.4099052202073, + "y": 295.4976398699936, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 62.498138427734375, + "height": 30.372868064344306, + "seed": 1991682858, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "0EYSRW_z-UIdiQ63P0MI_", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 24.298294451475446, + "fontFamily": 1, + "text": "Alpha", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Alpha", + "lineHeight": 1.25, + "baseline": 21 + }, + { + "type": "text", + "version": 807, + "versionNonce": 660281251, + "isDeleted": false, + "id": "P86f-m-5W5B2ds1Gh50J7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1969.8222135768308, + "y": 298.2311955209274, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 60.8707275390625, + "height": 30.372868064344306, + "seed": 701216234, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "dmN-72w1QJ8J4lumr7Tku", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 24.298294451475446, + "fontFamily": 1, + "text": "Beta", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Beta", + "lineHeight": 1.25, + "baseline": 21 + }, + { + "type": "text", + "version": 892, + "versionNonce": 1631447053, + "isDeleted": false, + "id": "2r5EYFmgNUeuJzQ7o96dw", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2054.8931492950646, + "y": 297.5470170853623, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 48.84716796875, + "height": 30.372868064344306, + "seed": 863070378, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "FbtG-HkELucDewjnFb5jr", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 24.298294451475446, + "fontFamily": 1, + "text": "LTS", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "LTS", + "lineHeight": 1.25, + "baseline": 21 + }, + { + "type": "arrow", + "version": 2845, + "versionNonce": 1207839555, + "isDeleted": false, + "id": "k6k0cX28LdOIUwnbf8ltX", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0.1076231840233497, + "x": 1888.4319349384305, + "y": 222.61442551663515, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 41.93855245491998, + "height": 63.80649381277674, + "seed": 1263715178, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "E09fyx3K6jYW83CzdgGzc", + "focus": 0.6710230524780185, + "gap": 6.729164681838029 + }, + "endBinding": { + "elementId": "W5XJ45BBnxtOl1v_9O1cT", + "focus": 0.1479547300713523, + "gap": 9.90032630482176 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -41.93855245491998, + 63.80649381277674 + ] + ] + }, + { + "type": "arrow", + "version": 2812, + "versionNonce": 1589599853, + "isDeleted": false, + "id": "0EYSRW_z-UIdiQ63P0MI_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0.1076231840233497, + "x": 1907.2956865768601, + "y": 236.73308092163325, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0.5185725240774619, + "height": 45.2924793330765, + "seed": 2075837994, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "E09fyx3K6jYW83CzdgGzc", + "focus": 0.6449027383998824, + "gap": 11.236280027598298 + }, + "endBinding": { + "elementId": "VApQOXuSzX28h2_majp0o", + "focus": -0.2744356198585836, + "gap": 13.578215375878244 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0.5185725240774619, + 45.2924793330765 + ] + ] + }, + { + "type": "arrow", + "version": 2910, + "versionNonce": 1983761123, + "isDeleted": false, + "id": "FbtG-HkELucDewjnFb5jr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0.1076231840233497, + "x": 1990.2589948259424, + "y": 232.4539842890846, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 69.72931003823726, + "height": 55.49890023106385, + "seed": 1301573866, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "E09fyx3K6jYW83CzdgGzc", + "focus": -0.6064860347369971, + "gap": 11.547307048083667 + }, + "endBinding": { + "elementId": "2r5EYFmgNUeuJzQ7o96dw", + "focus": -0.025293172350231152, + "gap": 6.0122139637462055 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 69.72931003823726, + 55.49890023106385 + ] + ] + }, + { + "type": "arrow", + "version": 2794, + "versionNonce": 1837304013, + "isDeleted": false, + "id": "dmN-72w1QJ8J4lumr7Tku", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0.1076231840233497, + "x": 1972.9890853553325, + "y": 235.85031135800284, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 14.991657768741605, + "height": 52.9223199125911, + "seed": 1953153962, + "groupIds": [ + "I2aqSbKq13DVnp3RsOWiO" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "E09fyx3K6jYW83CzdgGzc", + "focus": -0.7087904985250415, + "gap": 9.683778758383767 + }, + "endBinding": { + "elementId": "P86f-m-5W5B2ds1Gh50J7", + "focus": -0.33628800572355355, + "gap": 8.723942049612958 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 14.991657768741605, + 52.9223199125911 + ] + ] + }, + { + "type": "arrow", + "version": 859, + "versionNonce": 1722316419, + "isDeleted": false, + "id": "FxVNSM3A67_nY46wHz_Z_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1945.818944436077, + "y": 91.33816763642255, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1.9920637942227586, + "height": 95.11455363382652, + "seed": 1992407018, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470860, + "link": null, + "locked": false, + "startBinding": { + "elementId": "nzRo_VgSLuOrABT54lQDe", + "focus": 0.24925903227399115, + "gap": 4.274475663026216 + }, + "endBinding": { + "elementId": "E09fyx3K6jYW83CzdgGzc", + "focus": 0.1922022931418455, + "gap": 8.77142568917452 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 1.9920637942227586, + 95.11455363382652 + ] + ] + }, + { + "type": "text", + "version": 520, + "versionNonce": 253912877, + "isDeleted": false, + "id": "4qTtrvA7JXAhf63l3iRKd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1184.3783148664695, + "y": 203.8075633161758, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 127.44390869140625, + "height": 27.044911837183562, + "seed": 2064922678, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Flf9kYnGqTwOe6L9JrV0g", + "type": "arrow" + }, + { + "id": "Uz6Sk7b9Txpx3ionXYWbW", + "type": "arrow" + }, + { + "id": "vVysoevfhxbR3I317-lrt", + "type": "arrow" + }, + { + "id": "mc1Z8xQTl_lFTAMdEZuD8", + "type": "arrow" + }, + { + "id": "-hR1lRWQ6FZ0PM6K07fL0", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Repositories", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Repositories", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 663, + "versionNonce": 939306531, + "isDeleted": false, + "id": "76XvrdL2s8zKQe-83ys3i", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1102.2409947146818, + "y": 310.17893632679534, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.01548767089844, + "height": 27.044911837183562, + "seed": 1200341366, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Flf9kYnGqTwOe6L9JrV0g", + "type": "arrow" + } + ], + "updated": 1694602470860, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Dev", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dev", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 488, + "versionNonce": 1443297677, + "isDeleted": false, + "id": "LMOdPve4W1EytbLQ_ZEZ5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1185.3203677961142, + "y": 312.61467668982993, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 55.65394592285156, + "height": 27.044911837183562, + "seed": 1186996918, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Uz6Sk7b9Txpx3ionXYWbW", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Alpha", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Alpha", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 487, + "versionNonce": 757658051, + "isDeleted": false, + "id": "pYSm9ZuLUZVF4EysWl8aS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1265.3948668156856, + "y": 312.614676689828, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54.20475769042969, + "height": 27.044911837183562, + "seed": 995515382, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "mc1Z8xQTl_lFTAMdEZuD8", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Beta", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Beta", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 535, + "versionNonce": 1265254381, + "isDeleted": false, + "id": "kvYU6VCUdKMb3T1BDtGZG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1354.2625300152906, + "y": 310.1789363267884, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 43.49790954589844, + "height": 27.044911837183562, + "seed": 1263758646, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "vVysoevfhxbR3I317-lrt", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "LTS", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "LTS", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 1756, + "versionNonce": 659276131, + "isDeleted": false, + "id": "Flf9kYnGqTwOe6L9JrV0g", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1184.5201915322566, + "y": 239.22433364733615, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.405806348108335, + "height": 59.43488039159763, + "seed": 337401462, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "4qTtrvA7JXAhf63l3iRKd", + "focus": 0.6679201430643195, + "gap": 8.371858493976646 + }, + "endBinding": { + "elementId": "76XvrdL2s8zKQe-83ys3i", + "focus": 0.16556970782561842, + "gap": 11.519722287861498 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -40.405806348108335, + 59.43488039159763 + ] + ] + }, + { + "type": "arrow", + "version": 1670, + "versionNonce": 357939789, + "isDeleted": false, + "id": "Uz6Sk7b9Txpx3ionXYWbW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1207.7501665974885, + "y": 240.54762757221556, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1.2781188656279452, + "height": 60.146343014781785, + "seed": 1047926710, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "4qTtrvA7JXAhf63l3iRKd", + "focus": 0.62277336054159, + "gap": 9.69515241885614 + }, + "endBinding": { + "elementId": "LMOdPve4W1EytbLQ_ZEZ5", + "focus": -0.2568664499774129, + "gap": 11.920706102832696 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -1.2781188656279452, + 60.146343014781785 + ] + ] + }, + { + "type": "arrow", + "version": 1744, + "versionNonce": 1605606659, + "isDeleted": false, + "id": "vVysoevfhxbR3I317-lrt", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1310.9320641507275, + "y": 240.00641617358008, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 48.600441044119556, + "height": 63.45720578459389, + "seed": 310751478, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "4qTtrvA7JXAhf63l3iRKd", + "focus": -0.613354324467246, + "gap": 9.153941020220941 + }, + "endBinding": { + "elementId": "kvYU6VCUdKMb3T1BDtGZG", + "focus": -0.030683280027760076, + "gap": 6.715314368614486 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 48.600441044119556, + 63.45720578459389 + ] + ] + }, + { + "type": "arrow", + "version": 1670, + "versionNonce": 1554180269, + "isDeleted": false, + "id": "mc1Z8xQTl_lFTAMdEZuD8", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 1293.3265442104434, + "y": 239.6055746425717, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 8.084964378321462, + "height": 65.99272922296468, + "seed": 198189622, + "groupIds": [ + "ncNlXCFYIC3HsCyfyNcG2" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "4qTtrvA7JXAhf63l3iRKd", + "focus": -0.7330399512475753, + "gap": 8.753099489212445 + }, + "endBinding": { + "elementId": "pYSm9ZuLUZVF4EysWl8aS", + "focus": -0.33995663801636994, + "gap": 7.016372824291636 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -8.084964378321462, + 65.99272922296468 + ] + ] + }, + { + "type": "text", + "version": 1038, + "versionNonce": 1642005667, + "isDeleted": false, + "id": "ErzjL1p4QWHFzj5w-cyJV", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1219.641539041907, + "y": 56.768010659240275, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 60.28277587890625, + "height": 27.044911837183562, + "seed": 1498434742, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "cHwMFxy26A3v0fR4qXyHE", + "type": "arrow" + }, + { + "id": "-hR1lRWQ6FZ0PM6K07fL0", + "type": "arrow" + }, + { + "id": "wEe-c81Kd9s_1pLEcsg6r", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Gitea", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Gitea", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 1988, + "versionNonce": 1929071373, + "isDeleted": false, + "id": "cHwMFxy26A3v0fR4qXyHE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1016.2670887371946, + "y": 72.23050570776229, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 195.77010409770946, + "height": 0.28600433031920147, + "seed": 1727978, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "zDjEpw9PJGlXx-do1J8Of" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "IlDeJw3zlKi_xSLNwOVXD", + "focus": -0.07331910535780838, + "gap": 6.782139547862698 + }, + "endBinding": { + "elementId": "ErzjL1p4QWHFzj5w-cyJV", + "focus": -0.11785593180644592, + "gap": 7.604346207002891 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 195.77010409770946, + -0.28600433031920147 + ] + ] + }, + { + "type": "text", + "version": 81, + "versionNonce": 1165785155, + "isDeleted": false, + "id": "zDjEpw9PJGlXx-do1J8Of", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1238.957661268588, + "y": 79.2646411785137, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 112.23796081542969, + "height": 27.044911837183562, + "seed": 1789667754, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Pull | Push", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "cHwMFxy26A3v0fR4qXyHE", + "originalText": "Pull | Push", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 1266, + "versionNonce": 953704813, + "isDeleted": false, + "id": "-hR1lRWQ6FZ0PM6K07fL0", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1249.2252333953, + "y": 88.6397019095687, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0.5424708945304246, + "height": 103.7701741283097, + "seed": 1031200362, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ErzjL1p4QWHFzj5w-cyJV", + "focus": 0.01591861905398833, + "gap": 4.826779413144841 + }, + "endBinding": { + "elementId": "4qTtrvA7JXAhf63l3iRKd", + "focus": 0.006814144484944052, + "gap": 11.39768727829744 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -0.5424708945304246, + 103.7701741283097 + ] + ] + }, + { + "type": "text", + "version": 523, + "versionNonce": 678066147, + "isDeleted": false, + "id": "evHvKjNlEHX2Rpn3KmBId", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2598.6081220743454, + "y": 189.91646192628048, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 127.44390869140625, + "height": 27.044911837183562, + "seed": 428052406, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Kqe6IZ3_I8JNKp7AzGi-C", + "type": "arrow" + }, + { + "id": "TQvUkIMCXjEgMwkxwI0fY", + "type": "arrow" + }, + { + "id": "r3E2OB_QloPNvIDITBcTO", + "type": "arrow" + }, + { + "id": "GQ5GdmhCZGKsDDl-B9PT_", + "type": "arrow" + }, + { + "id": "JGFWZC_K4VwydLY04MXKr", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Repositories", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Repositories", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 665, + "versionNonce": 1132702669, + "isDeleted": false, + "id": "rfZ1o5pw3688VlFwevhOM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2516.4708019225577, + "y": 296.28783493690014, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.01548767089844, + "height": 27.044911837183562, + "seed": 488909046, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Kqe6IZ3_I8JNKp7AzGi-C", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Dev", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dev", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 490, + "versionNonce": 1756857219, + "isDeleted": false, + "id": "A10CdK0xg2nmhNfcVxvsm", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2599.5501750039894, + "y": 298.7235752999346, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 55.65394592285156, + "height": 27.044911837183562, + "seed": 736074294, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "TQvUkIMCXjEgMwkxwI0fY", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Alpha", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Alpha", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 489, + "versionNonce": 1125558829, + "isDeleted": false, + "id": "YuoBjMPYO48rJxO2y0pWG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2679.624674023561, + "y": 298.7235752999327, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 54.20475769042969, + "height": 27.044911837183562, + "seed": 1285219190, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "GQ5GdmhCZGKsDDl-B9PT_", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "Beta", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Beta", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "text", + "version": 537, + "versionNonce": 513940259, + "isDeleted": false, + "id": "zsYiFXenrVKMnDtzERlUw", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2768.492337223166, + "y": 296.2878349368932, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 43.49790954589844, + "height": 27.044911837183562, + "seed": 1637549238, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "r3E2OB_QloPNvIDITBcTO", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 21.63592946974685, + "fontFamily": 1, + "text": "LTS", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "LTS", + "lineHeight": 1.25, + "baseline": 19 + }, + { + "type": "arrow", + "version": 1760, + "versionNonce": 679140493, + "isDeleted": false, + "id": "Kqe6IZ3_I8JNKp7AzGi-C", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2598.7499987401325, + "y": 225.33323225744084, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 40.405806348108335, + "height": 59.43488039159763, + "seed": 1015348726, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "evHvKjNlEHX2Rpn3KmBId", + "focus": 0.6679201430643189, + "gap": 8.37185849397656 + }, + "endBinding": { + "elementId": "rfZ1o5pw3688VlFwevhOM", + "focus": 0.16556970782559985, + "gap": 11.519722287861612 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -40.405806348108335, + 59.43488039159763 + ] + ] + }, + { + "type": "arrow", + "version": 1674, + "versionNonce": 1452850883, + "isDeleted": false, + "id": "TQvUkIMCXjEgMwkxwI0fY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2621.979973805364, + "y": 226.65652618232025, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 1.2781188656279452, + "height": 60.146343014781785, + "seed": 845008694, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "evHvKjNlEHX2Rpn3KmBId", + "focus": 0.6227733605415935, + "gap": 9.695152418856082 + }, + "endBinding": { + "elementId": "A10CdK0xg2nmhNfcVxvsm", + "focus": -0.256866449977417, + "gap": 11.920706102832582 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -1.2781188656279452, + 60.146343014781785 + ] + ] + }, + { + "type": "arrow", + "version": 1748, + "versionNonce": 191480557, + "isDeleted": false, + "id": "r3E2OB_QloPNvIDITBcTO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2725.1618713586026, + "y": 226.11531478368488, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 48.600441044119556, + "height": 63.45720578459389, + "seed": 797603958, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "evHvKjNlEHX2Rpn3KmBId", + "focus": -0.6133543244672376, + "gap": 9.153941020220998 + }, + "endBinding": { + "elementId": "zsYiFXenrVKMnDtzERlUw", + "focus": -0.0306832800277809, + "gap": 6.7153143686145995 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 48.600441044119556, + 63.45720578459389 + ] + ] + }, + { + "type": "arrow", + "version": 1674, + "versionNonce": 188345955, + "isDeleted": false, + "id": "GQ5GdmhCZGKsDDl-B9PT_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 6.2831853071795845, + "x": 2707.556351418319, + "y": 225.71447325267638, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 8.084964378321462, + "height": 65.99272922296468, + "seed": 1271921078, + "groupIds": [ + "Gq95CL87G4yaYqOO7o1rF" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "evHvKjNlEHX2Rpn3KmBId", + "focus": -0.7330399512475738, + "gap": 8.753099489212389 + }, + "endBinding": { + "elementId": "YuoBjMPYO48rJxO2y0pWG", + "focus": -0.3399566380163544, + "gap": 7.016372824291636 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -8.084964378321462, + 65.99272922296468 + ] + ] + }, + { + "type": "text", + "version": 178, + "versionNonce": 1349311821, + "isDeleted": false, + "id": "aXZZScobyXGpwH8SfGq_J", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2259.983323725249, + "y": 437.7974675347624, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 103.01194763183594, + "height": 35, + "seed": 1002483946, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "_MmJNeYyByyK9QCofPp5q", + "type": "arrow" + }, + { + "id": "5VJz6zT0WLjDw_SHWP95g", + "type": "arrow" + }, + { + "id": "WUHgl10fz6H-iX8AgqwHU", + "type": "arrow" + }, + { + "id": "AiX-aDemD4akJDU42WzAE", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Hetzner", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Hetzner", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "arrow", + "version": 169, + "versionNonce": 1599351299, + "isDeleted": false, + "id": "_MmJNeYyByyK9QCofPp5q", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2175.126039602106, + "y": 336.0790422107218, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 72.42162157813436, + "height": 96.44029048255453, + "seed": 1870412650, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "QRirKNXN4kCyFIU7mJlrJ", + "focus": 0.7966768142228594, + "gap": 9.515984916434604 + }, + "endBinding": { + "elementId": "aXZZScobyXGpwH8SfGq_J", + "focus": -0.7244890103173178, + "gap": 13.50941931906209 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 72.42162157813436, + 96.44029048255453 + ] + ] + }, + { + "type": "arrow", + "version": 158, + "versionNonce": 249408429, + "isDeleted": false, + "id": "5VJz6zT0WLjDw_SHWP95g", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2273.083327012676, + "y": 338.33061209723223, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 9.31214247054504, + "height": 90.46057589148876, + "seed": 1949959350, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "RO_nxDcNqiGQZ1uzcMTqH", + "focus": 0.06810920187934583, + "gap": 9.331814439907703 + }, + "endBinding": { + "elementId": "aXZZScobyXGpwH8SfGq_J", + "focus": -0.4945881627252271, + "gap": 9.006279546041469 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 9.31214247054504, + 90.46057589148876 + ] + ] + }, + { + "type": "arrow", + "version": 156, + "versionNonce": 400945571, + "isDeleted": false, + "id": "WUHgl10fz6H-iX8AgqwHU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2341.766361914863, + "y": 333.8274723242115, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 4.216386232908462, + "height": 94.9637156645095, + "seed": 2041089770, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "dQbHMjmBmSvQUsbWr3ofs", + "focus": 0.3424916809650868, + "gap": 4.828674666887082 + }, + "endBinding": { + "elementId": "aXZZScobyXGpwH8SfGq_J", + "focus": 0.47594462439370777, + "gap": 9.006279546041469 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -4.216386232908462, + 94.9637156645095 + ] + ] + }, + { + "type": "arrow", + "version": 165, + "versionNonce": 921021965, + "isDeleted": false, + "id": "AiX-aDemD4akJDU42WzAE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2421.7224543446428, + "y": 336.0790422107218, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 48.430959937330954, + "height": 98.83693630729243, + "seed": 2123643242, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "VlCc_kgThKCv7fRnOEq1O", + "focus": 0.09052951708240099, + "gap": 9.515984916434604 + }, + "endBinding": { + "elementId": "aXZZScobyXGpwH8SfGq_J", + "focus": 0.8624187472445543, + "gap": 10.691828096899826 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -48.430959937330954, + 98.83693630729243 + ] + ] + }, + { + "type": "rectangle", + "version": 153, + "versionNonce": 1444791619, + "isDeleted": false, + "id": "-R7RxXtMIB9mL_4cxuGCx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1774.0227320075792, + "y": -319.32442179556233, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 258.89453125, + "height": 193.546875, + "seed": 1477742834, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "8lvLrEb1S6xCvEbZQBObf" + }, + { + "id": "pcFDo_NTSsR-ae9jnG9zG", + "type": "arrow" + }, + { + "id": "gGI6YpF_Ji3pojQ-5QBKn", + "type": "arrow" + }, + { + "id": "R3TadYgbnNXPvCfci5t__", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 82, + "versionNonce": 2004771949, + "isDeleted": false, + "id": "8lvLrEb1S6xCvEbZQBObf", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1716.7854044318956, + "y": -247.55098429556233, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 144.4198760986328, + "height": 50, + "seed": 1358537394, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Ansible Master\n167.235.254.4", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "-R7RxXtMIB9mL_4cxuGCx", + "originalText": "Ansible Master\n167.235.254.4", + "lineHeight": 1.25, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 330, + "versionNonce": 291120355, + "isDeleted": false, + "id": "hcH2oEzDYe36y_dba3UyT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1106.959999659324, + "y": -321.8920162408203, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 258.89453125, + "height": 193.546875, + "seed": 383155314, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "yEujEmrXQZOEzv3GHqPJ3" + }, + { + "id": "pcFDo_NTSsR-ae9jnG9zG", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 256, + "versionNonce": 1685147341, + "isDeleted": false, + "id": "yEujEmrXQZOEzv3GHqPJ3", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1051.7626806285623, + "y": -250.11857874082028, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 148.49989318847656, + "height": 50, + "seed": 1198661170, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "PHX-DEVOPS\n167.235.143.146", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "hcH2oEzDYe36y_dba3UyT", + "originalText": "PHX-DEVOPS\n167.235.143.146", + "lineHeight": 1.25, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 324, + "versionNonce": 1361678467, + "isDeleted": false, + "id": "74CDsBIxpCFyw_Ibae8Mm", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1426.2435163859427, + "y": -21.48830379335078, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 258.89453125, + "height": 193.546875, + "seed": 800294898, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "kx7RvU-Fyo1AcXQY1lTPd" + }, + { + "id": "gGI6YpF_Ji3pojQ-5QBKn", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 261, + "versionNonce": 1549266221, + "isDeleted": false, + "id": "kx7RvU-Fyo1AcXQY1lTPd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1399.5361647013724, + "y": 50.28513370664922, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 205.47982788085938, + "height": 50, + "seed": 1738652082, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "PHX-DEV-003-Ansible\n116.203.75.215", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "74CDsBIxpCFyw_Ibae8Mm", + "originalText": "PHX-DEV-003-Ansible\n116.203.75.215", + "lineHeight": 1.25, + "baseline": 43 + }, + { + "type": "arrow", + "version": 334, + "versionNonce": 659195939, + "isDeleted": false, + "id": "pcFDo_NTSsR-ae9jnG9zG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1502.0874244420368, + "y": -249.96011546488785, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 376.98656047325517, + "height": 1.457116904513157, + "seed": 1852027762, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "3Jy52iW-Lgfexz8XHd_jY" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "-R7RxXtMIB9mL_4cxuGCx", + "focus": -0.27611132885362577, + "gap": 13.040776315542303 + }, + "endBinding": { + "elementId": "hcH2oEzDYe36y_dba3UyT", + "focus": 0.2762214920756985, + "gap": 18.140864309457584 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 376.98656047325517, + -1.457116904513157 + ] + ] + }, + { + "type": "text", + "version": 41, + "versionNonce": 781959053, + "isDeleted": false, + "id": "3Jy52iW-Lgfexz8XHd_jY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1331.2641271155653, + "y": -263.18867391714446, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 35.3399658203125, + "height": 25, + "seed": 1178629426, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "SSH", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "pcFDo_NTSsR-ae9jnG9zG", + "originalText": "SSH", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 241, + "versionNonce": 1772850115, + "isDeleted": false, + "id": "_YsQs1-0xVuxA1uvLsfgq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1677.1860377640414, + "y": -475.8058394313627, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 96.99990844726562, + "height": 25, + "seed": 278855410, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Public Key", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 104, + "versionNonce": 24528365, + "isDeleted": false, + "id": "Ex_-JSccmkSoUERBQO9ge", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1829.0296275467563, + "y": -475.8058394313627, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 114.81990051269531, + "height": 25, + "seed": 705056946, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Private Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Private Key", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 808, + "versionNonce": 745216867, + "isDeleted": false, + "id": "1AVn0CNSBPPCO7Nx1gdla", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1085.5669308897523, + "y": -345.72004484965163, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 96.99990844726562, + "height": 25, + "seed": 1176332914, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Public Key", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 516, + "versionNonce": 2012282957, + "isDeleted": false, + "id": "VrWzN9lsKLvB-r2tlWbtN", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1397.0063502640414, + "y": -7.297222614999157, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 96.99990844726562, + "height": 25, + "seed": 195775538, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Public Key", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 276, + "versionNonce": 2077734659, + "isDeleted": false, + "id": "7tZpXIhCA4s_Mkd6OVvXn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1752.5765025467563, + "y": -310.8195113063627, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 114.81990051269531, + "height": 25, + "seed": 815199730, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Private Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Private Key", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 210, + "versionNonce": 400912045, + "isDeleted": false, + "id": "gGI6YpF_Ji3pojQ-5QBKn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1535.5334455671243, + "y": -112.48067179556234, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 98.7411010561816, + "height": 102.13007992906259, + "seed": 367486898, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "1lQAATymE8pK08ZBbkHPK" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "-R7RxXtMIB9mL_4cxuGCx", + "focus": -0.012942325106309473, + "gap": 13.296875 + }, + "endBinding": { + "elementId": "74CDsBIxpCFyw_Ibae8Mm", + "focus": -0.25650038341422343, + "gap": 10.548828125 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 98.7411010561816, + 102.13007992906259 + ] + ] + }, + { + "type": "text", + "version": 15, + "versionNonce": 1450172067, + "isDeleted": false, + "id": "1lQAATymE8pK08ZBbkHPK", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1506.972300345277, + "y": -73.01931699142324, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 41.123046875, + "height": 23, + "seed": 1673765234, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "SSH", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "gGI6YpF_Ji3pojQ-5QBKn", + "originalText": "SSH", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 366, + "versionNonce": 1878855949, + "isDeleted": false, + "id": "LDvofPbrotNmt1zafbH8h", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -777.1243835732475, + "y": -569.2377984938958, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 258.89453125, + "height": 193.546875, + "seed": 628269874, + "groupIds": [ + "NrxSGL3eYK1ube9-atJ_6" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "6x_D15XYwzuIz6TTBHvbn" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 299, + "versionNonce": 1726091843, + "isDeleted": false, + "id": "6x_D15XYwzuIz6TTBHvbn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -708.4770752236382, + "y": -497.46436099389575, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 121.59991455078125, + "height": 50, + "seed": 1700490482, + "groupIds": [ + "NrxSGL3eYK1ube9-atJ_6" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Alpha\n157.90.161.42", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "LDvofPbrotNmt1zafbH8h", + "originalText": "Alpha\n157.90.161.42", + "lineHeight": 1.25, + "baseline": 43 + }, + { + "type": "text", + "version": 326, + "versionNonce": 2108778349, + "isDeleted": false, + "id": "zRne5Wrs32EfGBhwIu6hR", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -758.6634308144585, + "y": -414.65967349389587, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 224.33981323242188, + "height": 25, + "seed": 1225064114, + "groupIds": [ + "NrxSGL3eYK1ube9-atJ_6" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "cs7mtPi3kwJx7VPArkPm", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "cs7mtPi3kwJx7VPArkPm", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 183, + "versionNonce": 197149288, + "isDeleted": false, + "id": "1jxjOSRtkRV5eShhpKaEl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1752.2737372595107, + "y": -160.2777770658618, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 219.01983642578125, + "height": 25, + "seed": 756439154, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694885472205, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "9iMnxgHhbsWVrtUKUdCi", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "9iMnxgHhbsWVrtUKUdCi", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 87, + "versionNonce": 1397486029, + "isDeleted": false, + "id": "n5qG3FYOh-2thygxZR9UY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -981.6038920731235, + "y": -161.0031050563627, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 9.319992065429688, + "height": 25, + "seed": 1096186418, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "?", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "?", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 401, + "versionNonce": 1291754883, + "isDeleted": false, + "id": "UGMK_LeaTmd_vGvycV8Du", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1106.1978022904086, + "y": -564.9266794506445, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 258.89453125, + "height": 193.546875, + "seed": 615277554, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "M6vkJ2-jisxdpq8vtrbR-" + }, + { + "id": "R3TadYgbnNXPvCfci5t__", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 339, + "versionNonce": 2112237613, + "isDeleted": false, + "id": "M6vkJ2-jisxdpq8vtrbR-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1008.7505061478305, + "y": -493.15324195064454, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 63.99993896484375, + "height": 50, + "seed": 18814386, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "GitHub\n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "UGMK_LeaTmd_vGvycV8Du", + "originalText": "GitHub\n", + "lineHeight": 1.25, + "baseline": 43 + }, + { + "type": "text", + "version": 480, + "versionNonce": 1593177379, + "isDeleted": false, + "id": "lhYismevql9jUa-ss5aS-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1079.7568523836414, + "y": -554.8827575665875, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 96.99990844726562, + "height": 25, + "seed": 668307314, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Public Key", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 103, + "versionNonce": 728343181, + "isDeleted": false, + "id": "R3TadYgbnNXPvCfci5t__", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1499.6021578503664, + "y": -329.6260572629796, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 372.4316993099578, + "height": 171.67984413599225, + "seed": 756470066, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Bxg0hWtHd9MISAeT8nPFe" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "-R7RxXtMIB9mL_4cxuGCx", + "focus": -0.2582989274770431, + "gap": 18.6328125 + }, + "endBinding": { + "elementId": "UGMK_LeaTmd_vGvycV8Du", + "focus": 0.6551305539056071, + "gap": 20.97265625 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 372.4316993099578, + -171.67984413599225 + ] + ] + }, + { + "type": "text", + "version": 35, + "versionNonce": 1398888643, + "isDeleted": false, + "id": "Bxg0hWtHd9MISAeT8nPFe", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1331.0562911055438, + "y": -427.96597933097576, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 35.3399658203125, + "height": 25, + "seed": 71949042, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "SSH", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "R3TadYgbnNXPvCfci5t__", + "originalText": "SSH", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 420, + "versionNonce": 277858541, + "isDeleted": false, + "id": "1QmcBzw506LSOCuSzVoic", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1747.6311338779474, + "y": 230.08794373396148, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 214.04490864989577, + "height": 165.9853966959348, + "seed": 469085362, + "groupIds": [ + "lTsNL5f8woSw7Yio6RSlS" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "W-8jL6bFOuI3qjzto3lrk" + }, + { + "id": "rseUJrUoksAl4irVBM30P", + "type": "arrow" + }, + { + "id": "0KERVPyOa47z2hOvxNMPb", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 439, + "versionNonce": 1474250851, + "isDeleted": false, + "id": "W-8jL6bFOuI3qjzto3lrk", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1697.4525973996792, + "y": 302.89489541776084, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 113.68783569335938, + "height": 20.371493328336058, + "seed": 2042709618, + "groupIds": [ + "lTsNL5f8woSw7Yio6RSlS" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 16.297194662668847, + "fontFamily": 1, + "text": "HTTPS-Portal", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "1QmcBzw506LSOCuSzVoic", + "originalText": "HTTPS-Portal", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 353, + "versionNonce": 249701197, + "isDeleted": false, + "id": "DLvtYBMVWgIX4jLV8Vn-n", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1684.0296390256558, + "y": 256.8925596441024, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 86.8419189453125, + "height": 20.371493328336058, + "seed": 1450420274, + "groupIds": [ + "lTsNL5f8woSw7Yio6RSlS" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 16.297194662668847, + "fontFamily": 1, + "text": "Container 1", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Container 1", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "rectangle", + "version": 652, + "versionNonce": 1648247811, + "isDeleted": false, + "id": "pthxaqjRKfbbdEHCBlv8F", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -957.1973791197831, + "y": 206.3036022819959, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 161, + "height": 95, + "seed": 972280306, + "groupIds": [ + "oU1lmP99Xj97cLNrE5IpZ" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "Cspl1xxH-a7fB1uEgOTXT" + }, + { + "id": "KICoh8PFmhSDy3Cd5Tmgt", + "type": "arrow" + }, + { + "id": "68zO3CPfakCzd_z2WP7MN", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 817, + "versionNonce": 448410029, + "isDeleted": false, + "id": "Cspl1xxH-a7fB1uEgOTXT", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -922.0973348692949, + "y": 241.3036022819959, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 90.79991149902344, + "height": 25, + "seed": 390644658, + "groupIds": [ + "oU1lmP99Xj97cLNrE5IpZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Portainer", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "pthxaqjRKfbbdEHCBlv8F", + "originalText": "Portainer", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 463, + "versionNonce": 712821667, + "isDeleted": false, + "id": "dHKitpPPOQmriru7FQFRm", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -925.2630211066908, + "y": 220.05803706064506, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 115.43991088867188, + "height": 25, + "seed": 1754889586, + "groupIds": [ + "oU1lmP99Xj97cLNrE5IpZ" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Container 2", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Container 2", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 557, + "versionNonce": 1631679501, + "isDeleted": false, + "id": "vQKcGtPijWkVGQrlgEj0L", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1348.3624358841312, + "y": 511.98445877167507, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 214.04490864989577, + "height": 165.9853966959348, + "seed": 1261240114, + "groupIds": [ + "hkI2K6B9Gabzo1f9bIy81" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "4PWjCVSUDNlGSSolnrUk5" + }, + { + "id": "0KERVPyOa47z2hOvxNMPb", + "type": "arrow" + }, + { + "id": "KICoh8PFmhSDy3Cd5Tmgt", + "type": "arrow" + }, + { + "id": "xqXLMnaKaS1-E568HHTxk", + "type": "arrow" + }, + { + "id": "xWiGzcZBIpdD6wIHNTVlY", + "type": "arrow" + }, + { + "id": "i-8033bs-Af_BoWbgcFtj", + "type": "arrow" + }, + { + "id": "vTZmoIGw7H7lBSH0lbdob", + "type": "arrow" + }, + { + "id": "3Tqyi38wdwScun4gbpJHp", + "type": "arrow" + }, + { + "id": "EvdEqno64uVsd4bwdwYI7", + "type": "arrow" + }, + { + "id": "0LqeY2n9_aXaetq9Z80DE", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 600, + "versionNonce": 1690918723, + "isDeleted": false, + "id": "4PWjCVSUDNlGSSolnrUk5", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1277.4385991128943, + "y": 574.6056637913064, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 72.19723510742188, + "height": 40.742986656672116, + "seed": 459950322, + "groupIds": [ + "hkI2K6B9Gabzo1f9bIy81" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 16.297194662668847, + "fontFamily": 1, + "text": "ProxyNet\nInternal", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "vQKcGtPijWkVGQrlgEj0L", + "originalText": "ProxyNet\nInternal", + "lineHeight": 1.25, + "baseline": 34 + }, + { + "type": "text", + "version": 491, + "versionNonce": 779184749, + "isDeleted": false, + "id": "25p2KzK5y9YPVGQI9Jalt", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1273.7000508340857, + "y": 538.7890746818159, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 64.72013854980469, + "height": 20.371493328336058, + "seed": 282614450, + "groupIds": [ + "hkI2K6B9Gabzo1f9bIy81" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 16.297194662668847, + "fontFamily": 1, + "text": "NetWork", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "NetWork", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "rectangle", + "version": 784, + "versionNonce": 998407907, + "isDeleted": false, + "id": "l4xdN_1HcJeXAha0dVGGU", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1737.3084057644355, + "y": 595.9618010184531, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "width": 195, + "height": 87, + "seed": 1511928946, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "0W9m_1meaKi1DS31In8Oq" + }, + { + "id": "rseUJrUoksAl4irVBM30P", + "type": "arrow" + }, + { + "id": "HNiXoLAo9is_Mp6c3jyEU", + "type": "arrow" + }, + { + "id": "-KR5vdOyhQZb9uetVKnnl", + "type": "arrow" + }, + { + "id": "68zO3CPfakCzd_z2WP7MN", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 836, + "versionNonce": 320050381, + "isDeleted": false, + "id": "0W9m_1meaKi1DS31In8Oq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1664.1863735989082, + "y": 629.2760543542851, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 48.75593566894531, + "height": 20.371493328336058, + "seed": 956487218, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 16.297194662668847, + "fontFamily": 1, + "text": "Bridge", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "l4xdN_1HcJeXAha0dVGGU", + "originalText": "Bridge", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "rectangle", + "version": 802, + "versionNonce": 154577539, + "isDeleted": false, + "id": "Bc4jV-_tG3UfyvzLbuBFk", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1737.3084057644355, + "y": 748.4199507949822, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "width": 195, + "height": 87, + "seed": 510476274, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "sNi8ma-yUrDiUw1hVGIMG" + }, + { + "id": "HNiXoLAo9is_Mp6c3jyEU", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 879, + "versionNonce": 1254191917, + "isDeleted": false, + "id": "sNi8ma-yUrDiUw1hVGIMG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1664.6262081936347, + "y": 771.5484574666461, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 49.63560485839844, + "height": 40.742986656672116, + "seed": 1180987826, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 16.297194662668847, + "fontFamily": 1, + "text": "LAN \n(eth0)", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Bc4jV-_tG3UfyvzLbuBFk", + "originalText": "LAN \n(eth0)", + "lineHeight": 1.25, + "baseline": 34 + }, + { + "type": "arrow", + "version": 576, + "versionNonce": 1386504739, + "isDeleted": false, + "id": "rseUJrUoksAl4irVBM30P", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1643.133484107022, + "y": 409.9308762733917, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0.4293594333502142, + "height": 175.234536069583, + "seed": 1410296690, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Pu_iT3ZpTCwh4Iht8V_hQ" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "1QmcBzw506LSOCuSzVoic", + "focus": 0.025785852272112927, + "gap": 13.857535843495441 + }, + "endBinding": { + "elementId": "l4xdN_1HcJeXAha0dVGGU", + "focus": -0.028304258430995474, + "gap": 10.79638867547851 + }, + "lastCommittedPoint": null, + "startArrowhead": "bar", + "endArrowhead": "bar", + "points": [ + [ + 0, + 0 + ], + [ + 0.4293594333502142, + 175.234536069583 + ] + ] + }, + { + "type": "text", + "version": 132, + "versionNonce": 1642366349, + "isDeleted": false, + "id": "Pu_iT3ZpTCwh4Iht8V_hQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1689.6287653278468, + "y": 460.04814430818317, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 93.419921875, + "height": 75, + "seed": 1840590130, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTPS\nPort 80\nPort 443", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rseUJrUoksAl4irVBM30P", + "originalText": "HTTPS\nPort 80\nPort 443", + "lineHeight": 1.25, + "baseline": 68 + }, + { + "type": "arrow", + "version": 708, + "versionNonce": 12199363, + "isDeleted": false, + "id": "HNiXoLAo9is_Mp6c3jyEU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1639.4505422978236, + "y": 692.9383999292131, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 0, + "height": 48.57065145381853, + "seed": 1488762610, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "l4xdN_1HcJeXAha0dVGGU", + "focus": -0.0036703945293527053, + "gap": 9.976598910760003 + }, + "endBinding": { + "elementId": "Bc4jV-_tG3UfyvzLbuBFk", + "focus": 0.003670394529352705, + "gap": 6.910899411950595 + }, + "lastCommittedPoint": null, + "startArrowhead": "bar", + "endArrowhead": "bar", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 48.57065145381853 + ] + ] + }, + { + "type": "arrow", + "version": 478, + "versionNonce": 464931821, + "isDeleted": false, + "id": "0KERVPyOa47z2hOvxNMPb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1519.5489606389074, + "y": 407.4957801053467, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 153.81988245588082, + "height": 111.03952767765406, + "seed": 363661490, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "5y2qqL4cu-kg6mzqX8olL" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "1QmcBzw506LSOCuSzVoic", + "focus": 0.04340579029876733, + "gap": 18.097428692633372 + }, + "endBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "focus": -0.08332086935827836, + "gap": 17.36664229889533 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 153.81988245588082, + 111.03952767765406 + ] + ] + }, + { + "type": "text", + "version": 37, + "versionNonce": 1519809891, + "isDeleted": false, + "id": "5y2qqL4cu-kg6mzqX8olL", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1470.8389934710256, + "y": 450.5155439441737, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 56.39994812011719, + "height": 25, + "seed": 2083332722, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTP", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0KERVPyOa47z2hOvxNMPb", + "originalText": "HTTP", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 909, + "versionNonce": 406865485, + "isDeleted": false, + "id": "KICoh8PFmhSDy3Cd5Tmgt", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -944.3669766664523, + "y": 311.111485553454, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 174.9599411187237, + "height": 192.9578146812354, + "seed": 1459881010, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "4V-bPA-pD5WgchKCuEmiC" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "pthxaqjRKfbbdEHCBlv8F", + "gap": 9.807883271458081, + "focus": 0.12785058896936657 + }, + "endBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "gap": 16.951935179201485, + "focus": 0.2171702208602767 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -174.9599411187237, + 192.9578146812354 + ] + ] + }, + { + "type": "text", + "version": 33, + "versionNonce": 1065865475, + "isDeleted": false, + "id": "4V-bPA-pD5WgchKCuEmiC", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1060.0469212858727, + "y": 395.09039289407167, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 56.39994812011719, + "height": 25, + "seed": 1617394, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTP", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "KICoh8PFmhSDy3Cd5Tmgt", + "originalText": "HTTP", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 1193, + "versionNonce": 979104941, + "isDeleted": false, + "id": "kQae_I__A1_X4yy361g-l", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -599.4078262372354, + "y": 273.58558670835504, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 175, + "height": 97, + "seed": 2087854002, + "groupIds": [ + "U0L9JeBoy6cb82oecgR-D" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "1K5YpTffsoRhXsrUvpskq" + }, + { + "id": "xqXLMnaKaS1-E568HHTxk", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1355, + "versionNonce": 554481827, + "isDeleted": false, + "id": "1K5YpTffsoRhXsrUvpskq", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -592.8777664227823, + "y": 309.58558670835504, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 161.93988037109375, + "height": 25, + "seed": 406280562, + "groupIds": [ + "U0L9JeBoy6cb82oecgR-D" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Phoenix BackEnd", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "kQae_I__A1_X4yy361g-l", + "originalText": "Phoenix BackEnd", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 952, + "versionNonce": 1303566093, + "isDeleted": false, + "id": "VZbLvjf6AMUgdz_sY7rQH", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -550.7181329222153, + "y": 283.21133751021847, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 114.81991577148438, + "height": 25, + "seed": 45046578, + "groupIds": [ + "U0L9JeBoy6cb82oecgR-D" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Container 3", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Container 3", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 1829, + "versionNonce": 1020505155, + "isDeleted": false, + "id": "xqXLMnaKaS1-E568HHTxk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1111.6810909917606, + "y": 541.8761343694528, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 502.7824573311668, + "height": 162.8569784711525, + "seed": 1782654194, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "mWa89osMN5gBvNivDkHLs" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "gap": 22.63643624247476, + "focus": -0.09442155117934418 + }, + "endBinding": { + "elementId": "kQae_I__A1_X4yy361g-l", + "gap": 12.696476472977338, + "focus": -0.33207173903593296 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 502.7824573311668, + -162.8569784711525 + ] + ] + }, + { + "type": "text", + "version": 33, + "versionNonce": 1824419181, + "isDeleted": false, + "id": "mWa89osMN5gBvNivDkHLs", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -888.4898363862358, + "y": 447.9476451338765, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 56.39994812011719, + "height": 25, + "seed": 410236594, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTP", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "xqXLMnaKaS1-E568HHTxk", + "originalText": "HTTP", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 511, + "versionNonce": 381365219, + "isDeleted": false, + "id": "c4skgif5YwSGEYisD5TKP", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1373.4430235150005, + "y": 761.2829361611764, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 313.0154113769531, + "height": 49.878587300916244, + "seed": 233705586, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "gJbxSi5pvmvfzZeM8sfsq", + "type": "arrow" + }, + { + "id": "-KR5vdOyhQZb9uetVKnnl", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 39.902869840733, + "fontFamily": 1, + "text": "Primary Network", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Primary Network", + "lineHeight": 1.25, + "baseline": 34 + }, + { + "type": "arrow", + "version": 761, + "versionNonce": 650655693, + "isDeleted": false, + "id": "xWiGzcZBIpdD6wIHNTVlY", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1131.9970857088058, + "y": 686.4363613778198, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 698.9948390060024, + "height": 329.7988391770623, + "seed": 511128114, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "focus": 0.29870493723322217, + "gap": 8.77873403177 + }, + "endBinding": { + "elementId": "c-uJtrS8M70cpaZgIvOi4", + "focus": -0.34757118373480284, + "gap": 10.285477362353959 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 698.9948390060024, + 329.7988391770623 + ] + ] + }, + { + "type": "text", + "version": 366, + "versionNonce": 852604803, + "isDeleted": false, + "id": "c-uJtrS8M70cpaZgIvOi4", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -423.74909358336845, + "y": 1020.7263253493838, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 329.1397399902344, + "height": 75, + "seed": 217455602, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "xWiGzcZBIpdD6wIHNTVlY", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "This is a internal network, \nit cannot access the Lan, \nit only to attach the containers.", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "This is a internal network, \nit cannot access the Lan, \nit only to attach the containers.", + "lineHeight": 1.25, + "baseline": 68 + }, + { + "type": "arrow", + "version": 281, + "versionNonce": 1709815341, + "isDeleted": false, + "id": "-KR5vdOyhQZb9uetVKnnl", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1537.2191864780832, + "y": 659.8965510397713, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 158.02329048773936, + "height": 94.19059286383981, + "seed": 661769650, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "l4xdN_1HcJeXAha0dVGGU", + "focus": -0.4000015025430811, + "gap": 5.0892192863524315 + }, + "endBinding": { + "elementId": "c4skgif5YwSGEYisD5TKP", + "focus": -0.5462494122107917, + "gap": 9.21276114591069 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 158.02329048773936, + 94.19059286383981 + ] + ] + }, + { + "type": "text", + "version": 101, + "versionNonce": 257281827, + "isDeleted": false, + "id": "y22anPIjyTa5VxhFt4eDa", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1381.1671720776053, + "y": 947.5713902888674, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 372.07965087890625, + "height": 25, + "seed": 1662076786, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "gJbxSi5pvmvfzZeM8sfsq", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "It connects to outside of the world!!", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "It connects to outside of the world!!", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 369, + "versionNonce": 353134733, + "isDeleted": false, + "id": "gJbxSi5pvmvfzZeM8sfsq", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1265.7315039539308, + "y": 826.4284840806586, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 36.13495283680447, + "height": 110.46749549846231, + "seed": 2015070514, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "c4skgif5YwSGEYisD5TKP", + "focus": 0.3763019691699539, + "gap": 15.266960618565804 + }, + "endBinding": { + "elementId": "y22anPIjyTa5VxhFt4eDa", + "focus": -0.14142163460091167, + "gap": 10.67541070974653 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 36.13495283680447, + 110.46749549846231 + ] + ] + }, + { + "type": "arrow", + "version": 423, + "versionNonce": 1588982467, + "isDeleted": false, + "id": "68zO3CPfakCzd_z2WP7MN", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -964.874028051745, + "y": 221.8022047326935, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 812.0562309502006, + "height": 365.93839288812853, + "seed": 2113377010, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "pthxaqjRKfbbdEHCBlv8F", + "focus": 0.6785488109871719, + "gap": 7.676648931961836 + }, + "endBinding": { + "elementId": "l4xdN_1HcJeXAha0dVGGU", + "focus": -1.0168226569260952, + "gap": 9.626598243733383 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -812.0562309502006, + 5.558463739162903 + ], + [ + -782.060975956424, + 365.93839288812853 + ] + ] + }, + { + "type": "rectangle", + "version": 1168, + "versionNonce": 99208941, + "isDeleted": false, + "id": "SumC-I3qbrPUHFDNu-g6a", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -551.968394015443, + "y": 381.8668153405927, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 175, + "height": 108, + "seed": 120349874, + "groupIds": [ + "B4y31DFvrZQf3PWwWyPc0" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "qQyw6_F-BrJOA9yUbQkr2" + }, + { + "id": "i-8033bs-Af_BoWbgcFtj", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1345, + "versionNonce": 26255971, + "isDeleted": false, + "id": "qQyw6_F-BrJOA9yUbQkr2", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -507.46836349786486, + "y": 410.8668153405927, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 85.99993896484375, + "height": 50, + "seed": 1029766770, + "groupIds": [ + "B4y31DFvrZQf3PWwWyPc0" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Phoenix \nFrontEnd", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "SumC-I3qbrPUHFDNu-g6a", + "originalText": "Phoenix FrontEnd", + "lineHeight": 1.25, + "baseline": 43 + }, + { + "type": "text", + "version": 929, + "versionNonce": 386623821, + "isDeleted": false, + "id": "YMXcLlCoxWBsF1wwIeFkZ", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -521.1614338922807, + "y": 395.3965038856804, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 113.99990844726562, + "height": 25, + "seed": 2103205938, + "groupIds": [ + "B4y31DFvrZQf3PWwWyPc0" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Container 4", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Container 4", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 2002, + "versionNonce": 1085562371, + "isDeleted": false, + "id": "i-8033bs-Af_BoWbgcFtj", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1114.5692725001172, + "y": 561.189325716053, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 543.2197798002167, + "height": 94.47531955915292, + "seed": 1929742834, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "alY0OvlrxrYZALqP8Q3N6" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "focus": -0.11557798106924132, + "gap": 19.748254734118234 + }, + "endBinding": { + "elementId": "SumC-I3qbrPUHFDNu-g6a", + "focus": -0.17710364455082622, + "gap": 19.381098684457584 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 543.2197798002167, + -94.47531955915292 + ] + ] + }, + { + "type": "text", + "version": 93, + "versionNonce": 432715693, + "isDeleted": false, + "id": "alY0OvlrxrYZALqP8Q3N6", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -871.1593566600675, + "y": 501.4516659364765, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 56.39994812011719, + "height": 25, + "seed": 895712178, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTP", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "i-8033bs-Af_BoWbgcFtj", + "originalText": "HTTP", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 1213, + "versionNonce": 1193256355, + "isDeleted": false, + "id": "p-7dzpqZl_rDzIpqiv27Y", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -538.8813555158706, + "y": 506.14636634808363, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 175, + "height": 87, + "seed": 1654470002, + "groupIds": [ + "0r0in80m756zNMgbEo_-I" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "1Cl37N2LDAscbUNoE3N-l" + }, + { + "id": "vTZmoIGw7H7lBSH0lbdob", + "type": "arrow" + }, + { + "id": "3Tqyi38wdwScun4gbpJHp", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1391, + "versionNonce": 2018589197, + "isDeleted": false, + "id": "1Cl37N2LDAscbUNoE3N-l", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -531.4301836408706, + "y": 538.1463663480836, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 160.09765625, + "height": 23, + "seed": 1006221106, + "groupIds": [ + "0r0in80m756zNMgbEo_-I" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Phoenix FrontEnd", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "p-7dzpqZl_rDzIpqiv27Y", + "originalText": "Phoenix FrontEnd", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "text", + "version": 1040, + "versionNonce": 1543567683, + "isDeleted": false, + "id": "4UIJVquU3SzTnkTzl106M", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -508.235492856463, + "y": 519.2949562087133, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 113.55990600585938, + "height": 25, + "seed": 1105199346, + "groupIds": [ + "0r0in80m756zNMgbEo_-I" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Container 5", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Container 5", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 2077, + "versionNonce": 462975085, + "isDeleted": false, + "id": "vTZmoIGw7H7lBSH0lbdob", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1106.7588739082541, + "y": 577.4805125088471, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 554.7535431142992, + "height": 34.4571191314792, + "seed": 1339495090, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "vteBu3eOpdXB2GKGfxrUK" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "focus": -0.10194577989495428, + "gap": 27.55865332598131 + }, + "endBinding": { + "elementId": "p-7dzpqZl_rDzIpqiv27Y", + "focus": 0.2630636414805084, + "gap": 13.123975278084345 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 554.7535431142992, + -34.4571191314792 + ] + ] + }, + { + "type": "text", + "version": 94, + "versionNonce": 1555486947, + "isDeleted": false, + "id": "vteBu3eOpdXB2GKGfxrUK", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -857.5820764111631, + "y": 547.7519529431075, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 56.39994812011719, + "height": 25, + "seed": 948300914, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTP", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "vTZmoIGw7H7lBSH0lbdob", + "originalText": "HTTP", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 1273, + "versionNonce": 292149965, + "isDeleted": false, + "id": "aAwJcUqj_C_Nt4qUXS3w1", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -537.0546939761768, + "y": 620.3357222138509, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 175, + "height": 87, + "seed": 1639157298, + "groupIds": [ + "lxRUCAkvhoLfTdarqUqgW" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "wYG-I1N4rGU8kZZzh1-21" + }, + { + "id": "3Tqyi38wdwScun4gbpJHp", + "type": "arrow" + }, + { + "id": "EvdEqno64uVsd4bwdwYI7", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1455, + "versionNonce": 1993327747, + "isDeleted": false, + "id": "wYG-I1N4rGU8kZZzh1-21", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -475.12110022617685, + "y": 652.3357222138509, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 51.1328125, + "height": 23, + "seed": 1615263730, + "groupIds": [ + "lxRUCAkvhoLfTdarqUqgW" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Redis", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aAwJcUqj_C_Nt4qUXS3w1", + "originalText": "Redis", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "text", + "version": 1103, + "versionNonce": 1918826797, + "isDeleted": false, + "id": "YS863dlSdVuzDtRHO2N3S", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -507.767481045913, + "y": 632.3456635660402, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 113.99990844726562, + "height": 25, + "seed": 340208050, + "groupIds": [ + "lxRUCAkvhoLfTdarqUqgW" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Container 6", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Container 6", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 1381, + "versionNonce": 571096099, + "isDeleted": false, + "id": "vWqtTVTBRkmM4pIpBOm4D", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -542.3338569892999, + "y": 720.9132420961444, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 175, + "height": 87, + "seed": 1155212146, + "groupIds": [ + "w5Whwt-oIUoeZC3L6Kw3C" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "A_QJfV7WAkA2R2wFK9q7v" + }, + { + "id": "EvdEqno64uVsd4bwdwYI7", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1572, + "versionNonce": 132205453, + "isDeleted": false, + "id": "A_QJfV7WAkA2R2wFK9q7v", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -494.2967476142999, + "y": 752.9132420961444, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 78.92578125, + "height": 23, + "seed": 1011475762, + "groupIds": [ + "w5Whwt-oIUoeZC3L6Kw3C" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Postgres", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "vWqtTVTBRkmM4pIpBOm4D", + "originalText": "Postgres", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "text", + "version": 1192, + "versionNonce": 1515503555, + "isDeleted": false, + "id": "cncoFdPW02fPzNuRz6Fhy", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -513.0466440590362, + "y": 733.3042821327915, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 113.99990844726562, + "height": 25, + "seed": 1677356786, + "groupIds": [ + "w5Whwt-oIUoeZC3L6Kw3C" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "Container 6", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Container 6", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 1880, + "versionNonce": 841634285, + "isDeleted": false, + "id": "f5EYAXJvYH_QkJ1KxJnmu", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1187.4409788774556, + "y": 249.18185440257236, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 141.17516798191718, + "height": 70.18422636815312, + "seed": 1618198706, + "groupIds": [ + "-uwlyhSbZKCy3QqjwGY8j" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "NqF9fSYaFwGo7lbgd5T5F" + }, + { + "id": "o0xBhjJKMFmMrg55sSlr0", + "type": "arrow" + }, + { + "id": "0LqeY2n9_aXaetq9Z80DE", + "type": "arrow" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 2329, + "versionNonce": 432918371, + "isDeleted": false, + "id": "NqF9fSYaFwGo7lbgd5T5F", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1149.5780500378642, + "y": 274.99674226212295, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 65.44931030273438, + "height": 18.554450649051972, + "seed": 761059954, + "groupIds": [ + "-uwlyhSbZKCy3QqjwGY8j" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 16.134304912219108, + "fontFamily": 2, + "text": "PgAdmin", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "f5EYAXJvYH_QkJ1KxJnmu", + "originalText": "PgAdmin", + "lineHeight": 1.15, + "baseline": 14 + }, + { + "type": "text", + "version": 1709, + "versionNonce": 239307853, + "isDeleted": false, + "id": "RfMrbrd-tCwOueEgtWMWe", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1164.1097027370356, + "y": 258.8742064356291, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 91.94091796875, + "height": 20.167881140273884, + "seed": 964475954, + "groupIds": [ + "-uwlyhSbZKCy3QqjwGY8j" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 16.134304912219108, + "fontFamily": 1, + "text": "Container 6", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Container 6", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "arrow", + "version": 2263, + "versionNonce": 314829571, + "isDeleted": false, + "id": "3Tqyi38wdwScun4gbpJHp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1114.0245738691033, + "y": 596.6449536570342, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 560.8325318858922, + "height": 39.32380130179308, + "seed": 45770226, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "QNGWjVrJMFoRQyBD5zjZC" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "focus": -0.08020904078080222, + "gap": 20.292953365132178 + }, + "endBinding": { + "elementId": "aAwJcUqj_C_Nt4qUXS3w1", + "focus": 0.41503278021827184, + "gap": 16.137348007034234 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 560.8325318858922, + 39.32380130179308 + ] + ] + }, + { + "type": "text", + "version": 169, + "versionNonce": 1543928493, + "isDeleted": false, + "id": "QNGWjVrJMFoRQyBD5zjZC", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -861.8082819862158, + "y": 603.8068543079307, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 56.39994812011719, + "height": 25, + "seed": 840751026, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470861, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTP", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "3Tqyi38wdwScun4gbpJHp", + "originalText": "HTTP", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 2374, + "versionNonce": 699765411, + "isDeleted": false, + "id": "EvdEqno64uVsd4bwdwYI7", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1115.71270031747, + "y": 618.2004713141819, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 561.9344480649681, + "height": 111.37377358244225, + "seed": 936055154, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "aJv69pfmn04rwHbGobfFe" + } + ], + "updated": 1694602470861, + "link": null, + "locked": false, + "startBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "focus": -0.016059973823991172, + "gap": 18.60482691676549 + }, + "endBinding": { + "elementId": "vWqtTVTBRkmM4pIpBOm4D", + "focus": 0.25029493296147015, + "gap": 11.444395263202068 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 561.9344480649681, + 111.37377358244225 + ] + ] + }, + { + "type": "text", + "version": 242, + "versionNonce": 605854989, + "isDeleted": false, + "id": "aJv69pfmn04rwHbGobfFe", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -862.9454503450446, + "y": 661.387358105403, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 56.39994812011719, + "height": 25, + "seed": 1728844594, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTP", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "EvdEqno64uVsd4bwdwYI7", + "originalText": "HTTP", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "arrow", + "version": 139, + "versionNonce": 793855555, + "isDeleted": false, + "id": "o0xBhjJKMFmMrg55sSlr0", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1197.1536762286833, + "y": 287.6634353845555, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 106.5170823059135, + "height": 79.26852636719127, + "seed": 306633970, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "f5EYAXJvYH_QkJ1KxJnmu", + "focus": -0.720681135875975, + "gap": 9.712697351227689 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -106.5170823059135, + -79.26852636719127 + ] + ] + }, + { + "type": "arrow", + "version": 876, + "versionNonce": 503280493, + "isDeleted": false, + "id": "0LqeY2n9_aXaetq9Z80DE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1173.605294863467, + "y": 333.12344040215345, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 55.09707892056895, + "height": 161.79207670667165, + "seed": 654470834, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "DZnp_XTfXvZ8ruav-hHB0" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "f5EYAXJvYH_QkJ1KxJnmu", + "focus": 0.48738030632487905, + "gap": 13.757359631427903 + }, + "endBinding": { + "elementId": "vQKcGtPijWkVGQrlgEj0L", + "focus": -0.15846275903287702, + "gap": 17.068941662849966 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -55.09707892056895, + 161.79207670667165 + ] + ] + }, + { + "type": "text", + "version": 88, + "versionNonce": 1517651427, + "isDeleted": false, + "id": "DZnp_XTfXvZ8ruav-hHB0", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1229.35380838381, + "y": 401.5194787554893, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 56.39994812011719, + "height": 25, + "seed": 1239795826, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 1, + "text": "HTTP", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0LqeY2n9_aXaetq9Z80DE", + "originalText": "HTTP", + "lineHeight": 1.25, + "baseline": 18 + }, + { + "type": "text", + "version": 678, + "versionNonce": 1442348493, + "isDeleted": false, + "id": "plTGmP7kxoWTpG5r8f7YL", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1913.7144879035638, + "y": 449.1472738857997, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 103.01194763183594, + "height": 35, + "seed": 274700082, + "groupIds": [ + "cN37akn4MYF5-GOwGcgVG" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "5KSXpS-vZ50UDuQNCJGC2", + "type": "arrow" + }, + { + "id": "DtGRWDvsEHxPW-Yp8XqEq", + "type": "arrow" + }, + { + "id": "FgFZ2QzCWQEGkwBIfFyVm", + "type": "arrow" + }, + { + "id": "GL_KSR4oMMa9aU74mpCfs", + "type": "arrow" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 1, + "text": "Hetzner", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Hetzner", + "lineHeight": 1.25, + "baseline": 25 + }, + { + "type": "arrow", + "version": 1225, + "versionNonce": 36753795, + "isDeleted": false, + "id": "5KSXpS-vZ50UDuQNCJGC2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1829.2806171594236, + "y": 347.8266289928322, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 70.92445142507745, + "height": 94.56593523343645, + "seed": 1317658866, + "groupIds": [ + "cN37akn4MYF5-GOwGcgVG" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "plTGmP7kxoWTpG5r8f7YL", + "focus": -0.7244890103173298, + "gap": 13.509419319062772 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 70.92445142507745, + 94.56593523343645 + ] + ] + }, + { + "type": "arrow", + "version": 1214, + "versionNonce": 320945197, + "isDeleted": false, + "id": "DtGRWDvsEHxPW-Yp8XqEq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1927.2239072226264, + "y": 350.0781988793426, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 9.006279546041696, + "height": 90.0627954604156, + "seed": 1816457906, + "groupIds": [ + "cN37akn4MYF5-GOwGcgVG" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "plTGmP7kxoWTpG5r8f7YL", + "focus": -0.4945881627252271, + "gap": 9.006279546041469 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 9.006279546041696, + 90.0627954604156 + ] + ] + }, + { + "type": "arrow", + "version": 1212, + "versionNonce": 398567715, + "isDeleted": false, + "id": "FgFZ2QzCWQEGkwBIfFyVm", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1995.8967887611939, + "y": 345.5750591063219, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 4.503139773020848, + "height": 94.56593523343633, + "seed": 1278725234, + "groupIds": [ + "cN37akn4MYF5-GOwGcgVG" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "plTGmP7kxoWTpG5r8f7YL", + "focus": 0.47594462439371205, + "gap": 9.006279546041469 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -4.503139773020848, + 94.56593523343633 + ] + ] + }, + { + "type": "arrow", + "version": 1221, + "versionNonce": 2103651981, + "isDeleted": false, + "id": "GL_KSR4oMMa9aU74mpCfs", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2075.8275197323123, + "y": 347.8266289928322, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 48.408752559973436, + "height": 97.94329006320208, + "seed": 1680436786, + "groupIds": [ + "cN37akn4MYF5-GOwGcgVG" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "plTGmP7kxoWTpG5r8f7YL", + "focus": 0.8624187472445564, + "gap": 10.691828096900053 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -48.408752559973436, + 97.94329006320208 + ] + ] + }, + { + "type": "rectangle", + "version": 12, + "versionNonce": 1620479171, + "isDeleted": false, + "id": "MGMvhL5dBsyrYSR84NBsd", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2022.22275516568, + "y": -134.82251391766204, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 0.3639793597069456, + "height": 0.3639793597070593, + "seed": 1087949426, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 580, + "versionNonce": 58184941, + "isDeleted": false, + "id": "ZRAquAx6jvCx_0KrYL1FX", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1791.7287021975183, + "y": 475.9408398235707, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eebefa", + "width": 80.0390625, + "height": 23, + "seed": 1885531698, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Manually", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Manually", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 695, + "versionNonce": 1884159075, + "isDeleted": false, + "id": "yyDcdaWvXQ7HbcpUHlqQl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2350.709066436757, + "y": 793.1341498852993, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 8109763, + "groupIds": [ + "Rp_V1vjDDv8xn-3OquMRI" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "bNMmuW2hWVQEqCax31umQ" + }, + { + "id": "H0tazxt6KIzflXOJ6CWLA", + "type": "arrow" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 964, + "versionNonce": 15249229, + "isDeleted": false, + "id": "bNMmuW2hWVQEqCax31umQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2391.6485027831645, + "y": 845.8548511196202, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 873776045, + "groupIds": [ + "Rp_V1vjDDv8xn-3OquMRI" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "yyDcdaWvXQ7HbcpUHlqQl", + "originalText": "Hetzner Server 1", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 518, + "versionNonce": 1656125443, + "isDeleted": false, + "id": "G5f3-3g6DHgV2G81i2Vfi", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2495.5199822697546, + "y": 909.7253552726181, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 663339981, + "groupIds": [ + "Rp_V1vjDDv8xn-3OquMRI" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 903, + "versionNonce": 652441960, + "isDeleted": false, + "id": "rJcmMCnl-w0IXPs6xHRIX", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2371.4495567456615, + "y": 804.8321220496994, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 1961197901, + "groupIds": [ + "Rp_V1vjDDv8xn-3OquMRI" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677951, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "text", + "version": 758, + "versionNonce": 1178153240, + "isDeleted": false, + "id": "PyowtGyM5lOsUEc6JoU55", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1559.8829109344938, + "y": 1025.5308264160662, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 165.4127655029297, + "height": 20.439098153133596, + "seed": 1688326061, + "groupIds": [ + "3EUKyu_SIdRwOdXnW_4C8" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "7Zgtfmk5T9TbaP2fgSZZu", + "type": "arrow" + }, + { + "id": "1_I6RmW7iQLCJjFEDA2lp", + "type": "arrow" + }, + { + "id": "wbDkc3At2_65_VvfKcw29", + "type": "arrow" + } + ], + "updated": 1694883677951, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Default Private Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Private Key", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 484, + "versionNonce": 973081704, + "isDeleted": false, + "id": "eXqTUuA34p0UV83OdWdKe", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1483.2928406175706, + "y": 1024.0535754644611, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 60.89727783203125, + "height": 18.80397030088291, + "seed": 1434658915, + "groupIds": [ + "3EUKyu_SIdRwOdXnW_4C8" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677951, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 2, + "text": "Dennes:", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dennes:", + "lineHeight": 1.15, + "baseline": 15 + }, + { + "type": "text", + "version": 1127, + "versionNonce": 1864584728, + "isDeleted": false, + "id": "599vc9uUGiZUZQDVE7w93", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1893.6746310913813, + "y": 929.5587080532578, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 48.11799621582031, + "height": 20.439098153133596, + "seed": 1612721827, + "groupIds": [ + "eRlMtMZwFSaxw29MU6Tt0" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "7Zgtfmk5T9TbaP2fgSZZu", + "type": "arrow" + }, + { + "id": "H0tazxt6KIzflXOJ6CWLA", + "type": "arrow" + } + ], + "updated": 1694883677951, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Daniel", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Daniel", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 1424, + "versionNonce": 1458796141, + "isDeleted": false, + "id": "TCajJzaH_yxuPIiI48RKS", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1891.3959000350098, + "y": 921.6668239659421, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 1980260931, + "groupIds": [ + "NRKnuFj8gQMSLPoYfOUx6", + "eRlMtMZwFSaxw29MU6Tt0" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1161, + "versionNonce": 1559704291, + "isDeleted": false, + "id": "m1jtM7Z6AnBlyDj--upoU", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1901.5777355714063, + "y": 867.1426291007244, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 1944658403, + "groupIds": [ + "NRKnuFj8gQMSLPoYfOUx6", + "eRlMtMZwFSaxw29MU6Tt0" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1174, + "versionNonce": 34750312, + "isDeleted": false, + "id": "LJ6MogpnFJO3L8oBb1KBr", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1902.298977734294, + "y": 1033.550618966042, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 28.334518432617188, + "height": 20.439098153133596, + "seed": 901862477, + "groupIds": [ + "i-DBKh209Py46OcfQYCrs" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "1_I6RmW7iQLCJjFEDA2lp", + "type": "arrow" + }, + { + "id": "7QP93Sn2iEPe5KnTyL7RE", + "type": "arrow" + } + ], + "updated": 1694883677951, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Yuri", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Yuri", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 1475, + "versionNonce": 32824963, + "isDeleted": false, + "id": "I6Bz8zpwjB8z1cUwlJ8f7", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1900.0202466779224, + "y": 1025.6587348787264, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 1619739309, + "groupIds": [ + "p8fYOJ3l_tCvrbdN--Tka", + "i-DBKh209Py46OcfQYCrs" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1212, + "versionNonce": 1798340397, + "isDeleted": false, + "id": "Dazftjb8SqLcrSDjQ1o3n", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1910.2020822143186, + "y": 971.1345400135087, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 1288201485, + "groupIds": [ + "p8fYOJ3l_tCvrbdN--Tka", + "i-DBKh209Py46OcfQYCrs" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1199, + "versionNonce": 247581464, + "isDeleted": false, + "id": "RAkA2JifLtymL7raqrSKb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1905.8276005357645, + "y": 1140.004295460344, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 105.94789123535156, + "height": 20.439098153133596, + "seed": 1784476045, + "groupIds": [ + "uN7ajfFS-7sO4nEvO95C6" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "wbDkc3At2_65_VvfKcw29", + "type": "arrow" + }, + { + "id": "P1URbLZfbf15EFwoirCbI", + "type": "arrow" + } + ], + "updated": 1694883677951, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "New Employee", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "New Employee", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 1492, + "versionNonce": 949096845, + "isDeleted": false, + "id": "kMV3Duyz09xnse-b4n6LK", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1903.5488694793937, + "y": 1132.1124113730284, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 1380005869, + "groupIds": [ + "Ksj6Vt4vEAqlW2EILt1-7", + "uN7ajfFS-7sO4nEvO95C6" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1229, + "versionNonce": 1585142211, + "isDeleted": false, + "id": "WiAwZlCcZQKna1I-GTX11", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1913.7307050157895, + "y": 1077.5882165078106, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 378384973, + "groupIds": [ + "Ksj6Vt4vEAqlW2EILt1-7", + "uN7ajfFS-7sO4nEvO95C6" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "arrow", + "version": 1049, + "versionNonce": 1569457411, + "isDeleted": false, + "id": "7Zgtfmk5T9TbaP2fgSZZu", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1678.4836881682104, + "y": 1018.1962502003303, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 194.28120837240795, + "height": 97.51867984490923, + "seed": 1635646477, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "PyowtGyM5lOsUEc6JoU55", + "focus": 0.009721198624579507, + "gap": 7.334576215735865 + }, + "endBinding": { + "elementId": "599vc9uUGiZUZQDVE7w93", + "focus": 1.8690342040825565, + "gap": 9.044756910282388 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 194.28120837240795, + -97.51867984490923 + ] + ] + }, + { + "type": "arrow", + "version": 1175, + "versionNonce": 350552237, + "isDeleted": false, + "id": "1_I6RmW7iQLCJjFEDA2lp", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1736.4552298942021, + "y": 1039.6912697530088, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 150.91037020006297, + "height": 0, + "seed": 1917957731, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "PyowtGyM5lOsUEc6JoU55", + "focus": 0.38562310634744956, + "gap": 11.153063911841969 + }, + "endBinding": { + "elementId": "LJ6MogpnFJO3L8oBb1KBr", + "focus": 0.39912703183284, + "gap": 14.933377640028993 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 150.91037020006297, + 0 + ] + ] + }, + { + "type": "arrow", + "version": 665, + "versionNonce": 1483369635, + "isDeleted": false, + "id": "wbDkc3At2_65_VvfKcw29", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1679.6567651918172, + "y": 1058.9033638053786, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 222.40807659154916, + "height": 75.16860649613272, + "seed": 73070349, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "PyowtGyM5lOsUEc6JoU55", + "focus": 0.2757050015217993, + "gap": 12.93343923617897 + }, + "endBinding": { + "elementId": "RAkA2JifLtymL7raqrSKb", + "focus": -0.10756229133564887, + "gap": 7.02501496218099 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 222.40807659154916, + 75.16860649613272 + ] + ] + }, + { + "type": "rectangle", + "version": 763, + "versionNonce": 643489859, + "isDeleted": false, + "id": "McfLXkEXeb7GMFDzYmEDW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2355.072708175116, + "y": 977.7782714026469, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 1201731245, + "groupIds": [ + "E-uLJzEnaHURTDRUglhZw" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "SxPx7YFgK27KQPoPXJs0O" + }, + { + "id": "7QP93Sn2iEPe5KnTyL7RE", + "type": "arrow" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1015, + "versionNonce": 695499117, + "isDeleted": false, + "id": "SxPx7YFgK27KQPoPXJs0O", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2396.0121445215236, + "y": 1030.498972636968, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 789027085, + "groupIds": [ + "E-uLJzEnaHURTDRUglhZw" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "McfLXkEXeb7GMFDzYmEDW", + "originalText": "Hetzner Server 2", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 589, + "versionNonce": 826007523, + "isDeleted": false, + "id": "6o1EGNcO0q2gA2wPielMA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2499.55404589861, + "y": 1093.70218283986, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 170585965, + "groupIds": [ + "E-uLJzEnaHURTDRUglhZw" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 974, + "versionNonce": 258347624, + "isDeleted": false, + "id": "9-dPuWpH-xgqEa-QiJ6-S", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2375.4836203745162, + "y": 988.8089496169414, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 659847629, + "groupIds": [ + "E-uLJzEnaHURTDRUglhZw" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677951, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "rectangle", + "version": 843, + "versionNonce": 589032323, + "isDeleted": false, + "id": "dYbmkYCUIkbWb-GEMEcA2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2359.507771623988, + "y": 1155.2581178029725, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 907984835, + "groupIds": [ + "X9G0obBdHMY1UkaNef1KN" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "YoLdBZJ0QA1vJdjdV7Kfl" + }, + { + "id": "P1URbLZfbf15EFwoirCbI", + "type": "arrow" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1098, + "versionNonce": 495764013, + "isDeleted": false, + "id": "YoLdBZJ0QA1vJdjdV7Kfl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2400.4472079703955, + "y": 1207.9788190372935, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 1817694051, + "groupIds": [ + "X9G0obBdHMY1UkaNef1KN" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "dYbmkYCUIkbWb-GEMEcA2", + "originalText": "Hetzner Server 3", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 669, + "versionNonce": 1614381859, + "isDeleted": false, + "id": "MR_T50Os9P8QsFaACieb5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2503.989109347482, + "y": 1271.1820292401856, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 68020995, + "groupIds": [ + "X9G0obBdHMY1UkaNef1KN" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1054, + "versionNonce": 260614168, + "isDeleted": false, + "id": "SqM9MEF2VG3YJJ6jjAdje", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2379.918683823388, + "y": 1166.2887960172673, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 1639944867, + "groupIds": [ + "X9G0obBdHMY1UkaNef1KN" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677951, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "arrow", + "version": 51, + "versionNonce": 202856035, + "isDeleted": false, + "id": "H0tazxt6KIzflXOJ6CWLA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1952.0290254200154, + "y": 931.0109724660455, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 380.6779779242561, + "height": 77.3120799382358, + "seed": 1123605965, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "599vc9uUGiZUZQDVE7w93", + "focus": -0.11922013687510946, + "gap": 10.232618563001324 + }, + "endBinding": { + "elementId": "yyDcdaWvXQ7HbcpUHlqQl", + "focus": 0.40014042441054865, + "gap": 18.00206309248574 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 380.6779779242561, + -77.3120799382358 + ] + ] + }, + { + "type": "arrow", + "version": 51, + "versionNonce": 1685714253, + "isDeleted": false, + "id": "7QP93Sn2iEPe5KnTyL7RE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1942.694033835333, + "y": 1048.8858187413448, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 398.48841644838876, + "height": 6.7950054675382034, + "seed": 421146051, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "LJ6MogpnFJO3L8oBb1KBr", + "focus": 0.531764516469505, + "gap": 12.058324852632268 + }, + "endBinding": { + "elementId": "McfLXkEXeb7GMFDzYmEDW", + "focus": 0.07852151971491042, + "gap": 13.890257891394185 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 398.48841644838876, + -6.7950054675382034 + ] + ] + }, + { + "type": "arrow", + "version": 59, + "versionNonce": 809800195, + "isDeleted": false, + "id": "P1URbLZfbf15EFwoirCbI", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2021.9897717065414, + "y": 1158.875546519989, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 318.53352235817374, + "height": 64.7860863948863, + "seed": 2016605293, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "RAkA2JifLtymL7raqrSKb", + "focus": -0.20079762844164575, + "gap": 10.205981155202267 + }, + "endBinding": { + "elementId": "dYbmkYCUIkbWb-GEMEcA2", + "focus": -0.34504122927788905, + "gap": 18.98447755927259 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 318.53352235817374, + 64.7860863948863 + ] + ] + }, + { + "type": "text", + "version": 108, + "versionNonce": 1022144611, + "isDeleted": false, + "id": "Uq5HSFhV6ZgBCmc3sk8IN", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1488.3900261402707, + "y": 753.237815074563, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 95.615234375, + "height": 23, + "seed": 116951043, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Scenario 1", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Scenario 1", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 237, + "versionNonce": 1505704781, + "isDeleted": false, + "id": "AgNGswnd620GezYbsSOfe", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1451.4379191655194, + "y": 1349.9774216429635, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 1238.979176268996, + "height": 607.9590030447753, + "seed": 396897421, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": true + }, + { + "type": "rectangle", + "version": 788, + "versionNonce": 291417091, + "isDeleted": false, + "id": "yjvHQ2N_RLMfp3Q_OJQlb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2356.3125882169775, + "y": 1423.3204899770737, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 1215107821, + "groupIds": [ + "w59UHeunk64ZvnX2X0X8Y" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "CdbVXIj2pbKsxPYabqSKl" + }, + { + "id": "85t8IaZHfocV_gTlAwmz8", + "type": "arrow" + }, + { + "id": "7ogmByqOxs9kwjO2b09RP", + "type": "arrow" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1057, + "versionNonce": 976505261, + "isDeleted": false, + "id": "CdbVXIj2pbKsxPYabqSKl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2397.2520245633855, + "y": 1476.0411912113946, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 814099789, + "groupIds": [ + "w59UHeunk64ZvnX2X0X8Y" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "yjvHQ2N_RLMfp3Q_OJQlb", + "originalText": "Hetzner Server 1", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 610, + "versionNonce": 1766863779, + "isDeleted": false, + "id": "VBaWZmwfJX6bqsct0qb5R", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2501.1235040499755, + "y": 1539.9116953643925, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 1062009773, + "groupIds": [ + "w59UHeunk64ZvnX2X0X8Y" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 995, + "versionNonce": 147293544, + "isDeleted": false, + "id": "7SgFT30M3peu9M_K5jGdQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2377.0530785258825, + "y": 1435.0184621414737, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 1022033421, + "groupIds": [ + "w59UHeunk64ZvnX2X0X8Y" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "text", + "version": 959, + "versionNonce": 1835787544, + "isDeleted": false, + "id": "ANEA_EHZ29drjxqZQ4irF", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1571.1470500589267, + "y": 1473.5768797050348, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 165.4127655029297, + "height": 20.439098153133596, + "seed": 811185261, + "groupIds": [ + "UFVfMmMjAn-Ei4jZsZsHs" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Default Private Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Private Key", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 682, + "versionNonce": 1535285352, + "isDeleted": false, + "id": "EKdOhEB2diQjK49eFxy3-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1494.556979742003, + "y": 1472.0996287534297, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 60.89727783203125, + "height": 18.80397030088291, + "seed": 90349261, + "groupIds": [ + "UFVfMmMjAn-Ei4jZsZsHs" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 2, + "text": "Dennes:", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dennes:", + "lineHeight": 1.15, + "baseline": 15 + }, + { + "type": "text", + "version": 1348, + "versionNonce": 98533912, + "isDeleted": false, + "id": "vV1j1cumyXfrAXY4BJgpU", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2122.9078828409192, + "y": 1478.1527683660706, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 48.11799621582031, + "height": 20.439098153133596, + "seed": 1923038509, + "groupIds": [ + "laydHvWIJumkV69Mh7Uiq" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "85t8IaZHfocV_gTlAwmz8", + "type": "arrow" + }, + { + "id": "nq6jR94CnABIgxqXc-cOI", + "type": "arrow" + } + ], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Daniel", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Daniel", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 1643, + "versionNonce": 1520741581, + "isDeleted": false, + "id": "EWCpBiFiZl_yZTMDxfBh_", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2120.6291517845475, + "y": 1470.260884278755, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 528027533, + "groupIds": [ + "jU_7EjpWUIt6thpgTvVtY", + "laydHvWIJumkV69Mh7Uiq" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1380, + "versionNonce": 283316867, + "isDeleted": false, + "id": "B78z3svP4orjELLaOyPOG", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2130.810987320944, + "y": 1415.736689413537, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 170497517, + "groupIds": [ + "jU_7EjpWUIt6thpgTvVtY", + "laydHvWIJumkV69Mh7Uiq" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1508, + "versionNonce": 1801669480, + "isDeleted": false, + "id": "bOx8afGE1YQsUmOQrK-ep", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2180.65072753404, + "y": 1632.8727284663214, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 28.334518432617188, + "height": 20.439098153133596, + "seed": 767184973, + "groupIds": [ + "O9iPSVMwOZjIJhHQstQZM" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "Neh8GZR3dzf73GU3tS6O9", + "type": "arrow" + }, + { + "id": "EOYHdQIbeJQ0eZZw2BrPn", + "type": "arrow" + } + ], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Yuri", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Yuri", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 1807, + "versionNonce": 2021902883, + "isDeleted": false, + "id": "JfXTVRE3-8IR1CjoZMcD3", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2178.3719964776683, + "y": 1624.9808443790057, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 1745141421, + "groupIds": [ + "xOzr2sLIMsHJ0LIPhrTxw", + "O9iPSVMwOZjIJhHQstQZM" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1544, + "versionNonce": 437230989, + "isDeleted": false, + "id": "zf2hn2QGvADBBPAwejFcv", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2188.553832014064, + "y": 1570.4566495137883, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 531783949, + "groupIds": [ + "xOzr2sLIMsHJ0LIPhrTxw", + "O9iPSVMwOZjIJhHQstQZM" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1458, + "versionNonce": 1742176024, + "isDeleted": false, + "id": "ZpEc0xI-BeMB7TaVzfrkw", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2137.344674844926, + "y": 1872.533074587097, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 105.94789123535156, + "height": 20.439098153133596, + "seed": 708622189, + "groupIds": [ + "WEKFv5dZx_AVGtEqx54OS" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "SASVwMEWZI_OV4xzQnSnP", + "type": "arrow" + }, + { + "id": "gWvnWRb-IlDefem6LO6Tm", + "type": "arrow" + } + ], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "New Employee", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "New Employee", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 1749, + "versionNonce": 1321100269, + "isDeleted": false, + "id": "82w8XbrqyU94lpRxwrayv", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2135.065943788555, + "y": 1864.6411904997813, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 1911374285, + "groupIds": [ + "fSC6tzwgvNhJOWx3Cp_b-", + "WEKFv5dZx_AVGtEqx54OS" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1486, + "versionNonce": 1304157539, + "isDeleted": false, + "id": "m_BDWNrfFOGfw0DdiN04a", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2145.247779324951, + "y": 1810.1169956345634, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 1541242925, + "groupIds": [ + "fSC6tzwgvNhJOWx3Cp_b-", + "WEKFv5dZx_AVGtEqx54OS" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 856, + "versionNonce": 1207443619, + "isDeleted": false, + "id": "Q0sAgG4h2edaWk4DNO2jx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2360.676229955337, + "y": 1607.9646114944212, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 1518961069, + "groupIds": [ + "mhKKqIB9DIVLWpwfv6_Ez" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "2TEi4bBZJqXnPZ6Me6PHO" + }, + { + "id": "Neh8GZR3dzf73GU3tS6O9", + "type": "arrow" + }, + { + "id": "ii49v4NIqp_9joPC11e0O", + "type": "arrow" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1108, + "versionNonce": 1804726029, + "isDeleted": false, + "id": "2TEi4bBZJqXnPZ6Me6PHO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2401.615666301745, + "y": 1660.6853127287422, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 178701325, + "groupIds": [ + "mhKKqIB9DIVLWpwfv6_Ez" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Q0sAgG4h2edaWk4DNO2jx", + "originalText": "Hetzner Server 2", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 681, + "versionNonce": 1108481091, + "isDeleted": false, + "id": "Pwi0filA_-8Q1JPFTlw9B", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2505.157567678831, + "y": 1723.8885229316343, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 514636397, + "groupIds": [ + "mhKKqIB9DIVLWpwfv6_Ez" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1066, + "versionNonce": 1119198824, + "isDeleted": false, + "id": "VSIXJ4iFb0gew1UqoIezH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2381.087142154737, + "y": 1618.995289708716, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 2137318605, + "groupIds": [ + "mhKKqIB9DIVLWpwfv6_Ez" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "rectangle", + "version": 1050, + "versionNonce": 938251235, + "isDeleted": false, + "id": "ChBHBBmgjzh3DJ0wpgo3b", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2365.111293404209, + "y": 1785.4444578947468, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 1080607533, + "groupIds": [ + "38ycUkPGyh4oRSYjiAer-" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "dGh3RglA-slBfqmyRPDrY" + }, + { + "id": "SASVwMEWZI_OV4xzQnSnP", + "type": "arrow" + }, + { + "id": "D64gN0Ezi3DBFJzZgHY6S", + "type": "arrow" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1305, + "versionNonce": 2042712013, + "isDeleted": false, + "id": "dGh3RglA-slBfqmyRPDrY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2406.050729750617, + "y": 1838.165159129068, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 1176622477, + "groupIds": [ + "38ycUkPGyh4oRSYjiAer-" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ChBHBBmgjzh3DJ0wpgo3b", + "originalText": "Hetzner Server 3", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 875, + "versionNonce": 2039881603, + "isDeleted": false, + "id": "uTXv6hy27wONqCcrW2VR-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2509.592631127703, + "y": 1901.3683693319604, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 734632941, + "groupIds": [ + "38ycUkPGyh4oRSYjiAer-" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1260, + "versionNonce": 600300568, + "isDeleted": false, + "id": "kMEEEoRACCvAU_Ex2DdvD", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2385.522205603609, + "y": 1796.4751361090416, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 1768527437, + "groupIds": [ + "38ycUkPGyh4oRSYjiAer-" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "arrow", + "version": 617, + "versionNonce": 1364014883, + "isDeleted": false, + "id": "85t8IaZHfocV_gTlAwmz8", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2181.2622771695533, + "y": 1484.1831404364027, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 157.9763171770046, + "height": 0, + "seed": 970671277, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "vV1j1cumyXfrAXY4BJgpU", + "focus": -0.4099179890275442, + "gap": 10.232618563001552 + }, + "endBinding": { + "elementId": "yjvHQ2N_RLMfp3Q_OJQlb", + "focus": 0.09448963431165129, + "gap": 17.073993870419372 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 157.9763171770046, + 0 + ] + ] + }, + { + "type": "arrow", + "version": 827, + "versionNonce": 513769613, + "isDeleted": false, + "id": "Neh8GZR3dzf73GU3tS6O9", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2221.045783635079, + "y": 1650.8345938849761, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 125.7401884288638, + "height": 8.367704138108138, + "seed": 1086859021, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "bOx8afGE1YQsUmOQrK-ep", + "focus": 0.5317645164695485, + "gap": 12.058324852632268 + }, + "endBinding": { + "elementId": "Q0sAgG4h2edaWk4DNO2jx", + "focus": 0.07852151971490716, + "gap": 13.890257891394185 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 125.7401884288638, + 8.367704138108138 + ] + ] + }, + { + "type": "arrow", + "version": 913, + "versionNonce": 1031822019, + "isDeleted": false, + "id": "SASVwMEWZI_OV4xzQnSnP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2253.5068460157036, + "y": 1879.7147440120516, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 92.61996982923256, + "height": 1.2144814682794731, + "seed": 1890172269, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ZpEc0xI-BeMB7TaVzfrkw", + "focus": -0.20079762844165006, + "gap": 10.205981155202721 + }, + "endBinding": { + "elementId": "ChBHBBmgjzh3DJ0wpgo3b", + "focus": -0.3450412292778913, + "gap": 18.98447755927259 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 92.61996982923256, + -1.2144814682794731 + ] + ] + }, + { + "type": "text", + "version": 202, + "versionNonce": 492431085, + "isDeleted": false, + "id": "fRhh_yWUG5fQKWQsY5m77", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1493.9935479204914, + "y": 1383.4241551663374, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 95.615234375, + "height": 23, + "seed": 818513869, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Scenario 2", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Scenario 2", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "text", + "version": 1041, + "versionNonce": 1845806595, + "isDeleted": false, + "id": "YA71cJfxUSN86YLe2egMP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1576.7614201060403, + "y": 1537.5266104350624, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 153.44459533691406, + "height": 20.439098153133596, + "seed": 1789851907, + "groupIds": [ + "GwYumWcZnP5SDnnTfUx9K" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "7ogmByqOxs9kwjO2b09RP", + "type": "arrow" + }, + { + "id": "ii49v4NIqp_9joPC11e0O", + "type": "arrow" + }, + { + "id": "D64gN0Ezi3DBFJzZgHY6S", + "type": "arrow" + }, + { + "id": "nq6jR94CnABIgxqXc-cOI", + "type": "arrow" + }, + { + "id": "EOYHdQIbeJQ0eZZw2BrPn", + "type": "arrow" + }, + { + "id": "gWvnWRb-IlDefem6LO6Tm", + "type": "arrow" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Employee's SSH Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Employee's SSH Key", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 731, + "versionNonce": 1111855464, + "isDeleted": false, + "id": "QukqxUuHotM6KaRdot51F", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1495.5249322053173, + "y": 1537.387026982666, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 60.89727783203125, + "height": 18.80397030088291, + "seed": 755949731, + "groupIds": [ + "GwYumWcZnP5SDnnTfUx9K" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 2, + "text": "Dennes:", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dennes:", + "lineHeight": 1.15, + "baseline": 15 + }, + { + "type": "arrow", + "version": 137, + "versionNonce": 1042484643, + "isDeleted": false, + "id": "7ogmByqOxs9kwjO2b09RP", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1744.3857361160271, + "y": 1541.4310089551602, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 591.0736756616279, + "height": 5.328966069597072, + "seed": 1931773123, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "pJG8WwFHif7mJE7LAB0tv" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "YA71cJfxUSN86YLe2egMP", + "focus": -0.5037631526569303, + "gap": 14.179720673072552 + }, + "endBinding": { + "elementId": "yjvHQ2N_RLMfp3Q_OJQlb", + "focus": -0.6451091097646061, + "gap": 20.85317643932217 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 591.0736756616279, + -5.328966069597072 + ] + ] + }, + { + "type": "text", + "version": 16, + "versionNonce": 1939362317, + "isDeleted": false, + "id": "pJG8WwFHif7mJE7LAB0tv", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1999.0360023862436, + "y": 1527.312961184984, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 75.60546875, + "height": 23, + "seed": 1096036397, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Pub Key", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "7ogmByqOxs9kwjO2b09RP", + "originalText": "Pub Key", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "arrow", + "version": 147, + "versionNonce": 1851220291, + "isDeleted": false, + "id": "ii49v4NIqp_9joPC11e0O", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1729.6338397335326, + "y": 1570.8734797839018, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 611.2358596366544, + "height": 162.35097426307084, + "seed": 1554641421, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "KYsvECeffbReVPefqoNKc" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "YA71cJfxUSN86YLe2egMP", + "focus": 0.09481093467111927, + "gap": 12.907771195705777 + }, + "endBinding": { + "elementId": "Q0sAgG4h2edaWk4DNO2jx", + "focus": -0.9622125886245724, + "gap": 19.806530585149858 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 611.2358596366544, + 162.35097426307084 + ] + ] + }, + { + "type": "text", + "version": 10, + "versionNonce": 1312589933, + "isDeleted": false, + "id": "KYsvECeffbReVPefqoNKc", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2000.400858249257, + "y": 1648.1489252801584, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 75.60546875, + "height": 23, + "seed": 1664284995, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Pub Key", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ii49v4NIqp_9joPC11e0O", + "originalText": "Pub Key", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "arrow", + "version": 357, + "versionNonce": 130740941, + "isDeleted": false, + "id": "D64gN0Ezi3DBFJzZgHY6S", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1682.213669668024, + "y": 1570.2155213798196, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 662.9954893701229, + "height": 247.4512471867995, + "seed": 219055715, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Pszp1ZKzV3D5m0QbGwET9" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "YA71cJfxUSN86YLe2egMP", + "focus": 0.30231595209995654, + "gap": 12.24981279162364 + }, + "endBinding": { + "elementId": "ChBHBBmgjzh3DJ0wpgo3b", + "focus": -0.19707519567173237, + "gap": 19.902134366061773 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 662.9954893701229, + 247.4512471867995 + ] + ] + }, + { + "type": "text", + "version": 46, + "versionNonce": 1689005187, + "isDeleted": false, + "id": "Pszp1ZKzV3D5m0QbGwET9", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1976.9617698129214, + "y": 1682.3790753107196, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 75.60546875, + "height": 23, + "seed": 1987152973, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Pub Key", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "D64gN0Ezi3DBFJzZgHY6S", + "originalText": "Pub Key", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "arrow", + "version": 79, + "versionNonce": 752685357, + "isDeleted": false, + "id": "nq6jR94CnABIgxqXc-cOI", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1741.00758787123, + "y": 1545.1643328971177, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 367.1734155144709, + "height": 66.12753844664803, + "seed": 124926211, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "Nvqh5eoxLPlJ0DlwuRYX4" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "YA71cJfxUSN86YLe2egMP", + "focus": 0.5483648064282928, + "gap": 10.801572428275676 + }, + "endBinding": { + "elementId": "vV1j1cumyXfrAXY4BJgpU", + "focus": 1.121506395916956, + "gap": 14.726879455218068 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 367.1734155144709, + -66.12753844664803 + ] + ] + }, + { + "type": "text", + "version": 20, + "versionNonce": 1746510883, + "isDeleted": false, + "id": "Nvqh5eoxLPlJ0DlwuRYX4", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1873.4614831284655, + "y": 1500.6005636737937, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 102.265625, + "height": 23, + "seed": 1450731011, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Private Key", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nq6jR94CnABIgxqXc-cOI", + "originalText": "Private Key", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "arrow", + "version": 299, + "versionNonce": 2061263757, + "isDeleted": false, + "id": "EOYHdQIbeJQ0eZZw2BrPn", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1740.191168530606, + "y": 1558.089588781959, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 431.8061291198844, + "height": 69.52287829686111, + "seed": 1025546381, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "tbr-I1CkHf5Lw0THgWfOV" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "YA71cJfxUSN86YLe2egMP", + "focus": -0.16340342639241243, + "gap": 9.98592151412413 + }, + "endBinding": { + "elementId": "bOx8afGE1YQsUmOQrK-ep", + "focus": 0.9443765265327589, + "gap": 10.126805943353475 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 431.8061291198844, + 69.52287829686111 + ] + ] + }, + { + "type": "text", + "version": 10, + "versionNonce": 2050435011, + "isDeleted": false, + "id": "tbr-I1CkHf5Lw0THgWfOV", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1881.7104327069183, + "y": 1597.7065238399186, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 102.265625, + "height": 23, + "seed": 1980245837, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Private Key", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "EOYHdQIbeJQ0eZZw2BrPn", + "originalText": "Private Key", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "arrow", + "version": 117, + "versionNonce": 1174563309, + "isDeleted": false, + "id": "gWvnWRb-IlDefem6LO6Tm", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1669.6055068464016, + "y": 1570.5582646910366, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 457.5638498207477, + "height": 301.1981319051308, + "seed": 516541251, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [ + { + "type": "text", + "id": "yx0aUJ7lvxVii2v4kkKZA" + } + ], + "updated": 1694602470862, + "link": null, + "locked": false, + "startBinding": { + "elementId": "YA71cJfxUSN86YLe2egMP", + "focus": 0.20090697824475495, + "gap": 12.592556102840604 + }, + "endBinding": { + "elementId": "ZpEc0xI-BeMB7TaVzfrkw", + "focus": -0.6780504262938649, + "gap": 10.175318177776717 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 457.5638498207477, + 301.1981319051308 + ] + ] + }, + { + "type": "text", + "version": 10, + "versionNonce": 1629697891, + "isDeleted": false, + "id": "yx0aUJ7lvxVii2v4kkKZA", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1847.2546192567754, + "y": 1709.657330643602, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 102.265625, + "height": 23, + "seed": 1823153699, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Private Key", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "gWvnWRb-IlDefem6LO6Tm", + "originalText": "Private Key", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "text", + "version": 89, + "versionNonce": 985174701, + "isDeleted": false, + "id": "tEaE_Jn4wkC97fv2FJuX0", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1486.1160878974565, + "y": 801.5992485731018, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 194.521484375, + "height": 23, + "seed": 156980685, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470862, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Same as Password !!!", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Same as Password !!!", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 347, + "versionNonce": 1000410253, + "isDeleted": false, + "id": "_Tir8QG5oAuEJE6rkXYbe", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1453.46160943503, + "y": 1982.5503967488755, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 1238.979176268996, + "height": 607.9590030447753, + "seed": 284843651, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": true + }, + { + "type": "rectangle", + "version": 904, + "versionNonce": 338529987, + "isDeleted": false, + "id": "g3H1JYGkkNeZZuodUwy5V", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2358.8356215097792, + "y": 2055.38179260233, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 265393699, + "groupIds": [ + "7HTw8-j_iRMltrF646IXs" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "WX9PH-2aKOVLGlzQko3ez" + }, + { + "id": "q0dXRbjAZAc3MYkcQfTxh", + "type": "arrow" + }, + { + "id": "mv9xjT-stTjyc5tkUG4w0", + "type": "arrow" + } + ], + "updated": 1694602470863, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1172, + "versionNonce": 977924845, + "isDeleted": false, + "id": "WX9PH-2aKOVLGlzQko3ez", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2399.7750578561872, + "y": 2108.1024938366504, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 169925059, + "groupIds": [ + "7HTw8-j_iRMltrF646IXs" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "g3H1JYGkkNeZZuodUwy5V", + "originalText": "Hetzner Server 1", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 724, + "versionNonce": 1572126307, + "isDeleted": false, + "id": "QomTr2sR5XxGi704gcvpA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2503.6465373427764, + "y": 2171.972997989649, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 1829153123, + "groupIds": [ + "7HTw8-j_iRMltrF646IXs" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1109, + "versionNonce": 463771928, + "isDeleted": false, + "id": "abuvKyZxr_Rdu4nQ4x5Zr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2379.576111818684, + "y": 2067.079764766729, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 2110883075, + "groupIds": [ + "7HTw8-j_iRMltrF646IXs" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "text", + "version": 1144, + "versionNonce": 972356099, + "isDeleted": false, + "id": "ypU94unjqmQPbVGc0XeIk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1584.5015116470595, + "y": 2235.2022850525345, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "width": 165.4127655029297, + "height": 20.439098153133596, + "seed": 1409281187, + "groupIds": [ + "GmKd2Go6Z3juqvumZxyhc" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Default Private Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Private Key", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 866, + "versionNonce": 1365189736, + "isDeleted": false, + "id": "dNYoKXclYi5fGk36drMQf", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1508.4169490821096, + "y": 2233.7250341009294, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 60.89727783203125, + "height": 18.80397030088291, + "seed": 322986051, + "groupIds": [ + "GmKd2Go6Z3juqvumZxyhc" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 2, + "text": "Dennes:", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Dennes:", + "lineHeight": 1.15, + "baseline": 15 + }, + { + "type": "text", + "version": 1574, + "versionNonce": 1390523928, + "isDeleted": false, + "id": "L4rJxIDv72u6P-TEs5wAx", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1914.9424199949603, + "y": 2388.0707221735597, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 48.11799621582031, + "height": 20.439098153133596, + "seed": 1701928931, + "groupIds": [ + "vAyO0WIJ1bK5c4OtWG6gP" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "q0dXRbjAZAc3MYkcQfTxh", + "type": "arrow" + } + ], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Daniel", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Daniel", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 1868, + "versionNonce": 2017268813, + "isDeleted": false, + "id": "sQuEYfUcaXeaXu8x9iV8S", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1912.6636889385886, + "y": 2380.178838086244, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 882994051, + "groupIds": [ + "BPlSOIssgIFOIwxS5Qc5A", + "vAyO0WIJ1bK5c4OtWG6gP" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602574361, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1605, + "versionNonce": 1569653421, + "isDeleted": false, + "id": "viIeV5uSscTUJprLuu8Sd", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1922.8455244749853, + "y": 2325.6546432210266, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 621740835, + "groupIds": [ + "BPlSOIssgIFOIwxS5Qc5A", + "vAyO0WIJ1bK5c4OtWG6gP" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602574361, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1744, + "versionNonce": 231626600, + "isDeleted": false, + "id": "qjzQVyReENd1Y8F7dq2pf", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2010.9743945357213, + "y": 2428.1082345913674, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 28.334518432617188, + "height": 20.439098153133596, + "seed": 1328064195, + "groupIds": [ + "Iz_SGplTOPAf_3nGp5pbu" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "-Fu5_lPSpWxqz7SuweDBj", + "type": "arrow" + } + ], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "Yuri", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Yuri", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 2042, + "versionNonce": 1956406093, + "isDeleted": false, + "id": "utC-1ZFgCUsPLdNN7E0AK", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2008.6956634793496, + "y": 2420.2163505040517, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 965531235, + "groupIds": [ + "nyUBrBEokirWnKf96Pnny", + "Iz_SGplTOPAf_3nGp5pbu" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602572584, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1779, + "versionNonce": 1328312749, + "isDeleted": false, + "id": "l5XnwzJi7XIHiGfIzPOoZ", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2018.8774990157453, + "y": 2365.6921556388343, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 319427075, + "groupIds": [ + "nyUBrBEokirWnKf96Pnny", + "Iz_SGplTOPAf_3nGp5pbu" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602572584, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1620, + "versionNonce": 1047737112, + "isDeleted": false, + "id": "hYVp0Ic5paU0drVqlrPCu", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2041.6697449525614, + "y": 2511.52969698028, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 105.94789123535156, + "height": 20.439098153133596, + "seed": 748607907, + "groupIds": [ + "Uq2iXxofIqw-Ht1Ymubfb" + ], + "frameId": null, + "roundness": null, + "boundElements": [ + { + "id": "5t1qs4xw-Mj3Oj-5kj3Uk", + "type": "arrow" + } + ], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 16.351278522506878, + "fontFamily": 1, + "text": "New Employee", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "New Employee", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "line", + "version": 1910, + "versionNonce": 1055934413, + "isDeleted": false, + "id": "nD2RGBdlXvo99YRS6oM2l", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2039.3910138961905, + "y": 2503.637812892964, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40.28090104024183, + "height": 35.868985573339394, + "seed": 863612227, + "groupIds": [ + "mUesAyaPttX9Ib4qxXYiL", + "Uq2iXxofIqw-Ht1Ymubfb" + ], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602571145, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 4.511460916507081, + -23.768604897995985 + ], + [ + 19.33483249931608, + -35.868985573339394 + ], + [ + 34.158204082125074, + -26.361543614140967 + ], + [ + 40.28090104024183, + -2.4680684222065805 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "ellipse", + "version": 1647, + "versionNonce": 1586480685, + "isDeleted": false, + "id": "EgIk-onaUcfPHYhzjUf7k", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2049.5728494325863, + "y": 2449.1136180277467, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 20.623821332603836, + "height": 18.045843666028418, + "seed": 720964835, + "groupIds": [ + "mUesAyaPttX9Ib4qxXYiL", + "Uq2iXxofIqw-Ht1Ymubfb" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602571145, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 970, + "versionNonce": 9217187, + "isDeleted": false, + "id": "hkoUd-zqdLS_OOo6JcJIX", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2362.699920224847, + "y": 2239.5265710963863, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 648771715, + "groupIds": [ + "MHIt7wsWJ04RYYJD00Dya" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "C_56O7OQjZPh43pssUlvm" + }, + { + "id": "-Fu5_lPSpWxqz7SuweDBj", + "type": "arrow" + }, + { + "id": "Z4OhFvYTBgrjto1IMownf", + "type": "arrow" + } + ], + "updated": 1694602476531, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1221, + "versionNonce": 695229379, + "isDeleted": false, + "id": "C_56O7OQjZPh43pssUlvm", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2403.639356571255, + "y": 2292.247272330707, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 1146056739, + "groupIds": [ + "MHIt7wsWJ04RYYJD00Dya" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "hkoUd-zqdLS_OOo6JcJIX", + "originalText": "Hetzner Server 2", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 793, + "versionNonce": 690386413, + "isDeleted": false, + "id": "KyrmWw8QK53yGIWsKh2xN", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2507.181257948342, + "y": 2355.4504825335994, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 1708356547, + "groupIds": [ + "MHIt7wsWJ04RYYJD00Dya" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1178, + "versionNonce": 2078222952, + "isDeleted": false, + "id": "ToORbre1JECA9V04V1R1y", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2383.1108324242477, + "y": 2250.5572493106806, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 727057251, + "groupIds": [ + "MHIt7wsWJ04RYYJD00Dya" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "rectangle", + "version": 1164, + "versionNonce": 2042263629, + "isDeleted": false, + "id": "0ffze6sEhwepou7WC_JHY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2367.13498367372, + "y": 2417.0064174967115, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 757440259, + "groupIds": [ + "WkIXFwmI3HgImoeiNk2pi" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "jzOTUExqdj8fgxR3jTbkW" + }, + { + "id": "5t1qs4xw-Mj3Oj-5kj3Uk", + "type": "arrow" + }, + { + "id": "4aH0KuOppZWWfWz1_Ywfb", + "type": "arrow" + } + ], + "updated": 1694602480125, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1418, + "versionNonce": 212371203, + "isDeleted": false, + "id": "jzOTUExqdj8fgxR3jTbkW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2408.074420020128, + "y": 2469.727118731033, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.47640991210938, + "height": 28.985883547156536, + "seed": 1975568035, + "groupIds": [ + "WkIXFwmI3HgImoeiNk2pi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Hetzner Server 3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0ffze6sEhwepou7WC_JHY", + "originalText": "Hetzner Server 3", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 987, + "versionNonce": 1430888109, + "isDeleted": false, + "id": "r5YalO9X4m3uh8-XqtDsH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2511.616321397213, + "y": 2532.9303289339255, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 1003878979, + "groupIds": [ + "WkIXFwmI3HgImoeiNk2pi" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1372, + "versionNonce": 348983320, + "isDeleted": false, + "id": "ZU2GZN5BNiL5WjuPp9QR4", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2387.5458958731188, + "y": 2428.0370957110067, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "width": 129.1638946533203, + "height": 17.503552866640423, + "seed": 1547942371, + "groupIds": [ + "WkIXFwmI3HgImoeiNk2pi" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694883677952, + "link": null, + "locked": false, + "fontSize": 14.002842293312339, + "fontFamily": 1, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.25, + "baseline": 12 + }, + { + "type": "arrow", + "version": 1181, + "versionNonce": 2125781485, + "isDeleted": false, + "id": "q0dXRbjAZAc3MYkcQfTxh", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1961.5176987672075, + "y": 2377.838103610558, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 380.2439288721516, + "height": 191.0565033724156, + "seed": 337151363, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602574361, + "link": null, + "locked": false, + "startBinding": { + "elementId": "L4rJxIDv72u6P-TEs5wAx", + "focus": -0.40991798902752197, + "gap": 10.232618563001552 + }, + "endBinding": { + "elementId": "g3H1JYGkkNeZZuodUwy5V", + "focus": 0.09448963431166145, + "gap": 17.07399387042028 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 380.2439288721516, + -191.0565033724156 + ] + ] + }, + { + "type": "arrow", + "version": 1407, + "versionNonce": 814876909, + "isDeleted": false, + "id": "-Fu5_lPSpWxqz7SuweDBj", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2051.36945063676, + "y": 2437.9907775899983, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 297.44021169669304, + "height": 92.96608145320715, + "seed": 2056445219, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602572584, + "link": null, + "locked": false, + "startBinding": { + "elementId": "qjzQVyReENd1Y8F7dq2pf", + "focus": 0.5372485639707856, + "gap": 12.058324852632495 + }, + "endBinding": { + "elementId": "hkoUd-zqdLS_OOo6JcJIX", + "focus": 0.07852151971490655, + "gap": 13.890257891394185 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 297.44021169669304, + -92.96608145320715 + ] + ] + }, + { + "type": "arrow", + "version": 1345, + "versionNonce": 1822981485, + "isDeleted": false, + "id": "5t1qs4xw-Mj3Oj-5kj3Uk", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2157.831916123339, + "y": 2517.738305129933, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 190.31858999110773, + "height": 5.007739782138287, + "seed": 992035011, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602571145, + "link": null, + "locked": false, + "startBinding": { + "elementId": "hYVp0Ic5paU0drVqlrPCu", + "focus": -0.20243094660450311, + "gap": 10.205981155202608 + }, + "endBinding": { + "elementId": "0ffze6sEhwepou7WC_JHY", + "focus": -0.34504122927790065, + "gap": 18.9844775592735 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 190.31858999110773, + -5.007739782138287 + ] + ] + }, + { + "type": "text", + "version": 316, + "versionNonce": 953131491, + "isDeleted": false, + "id": "dTFPh575rwhS28H_ayLom", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1496.017238190002, + "y": 2014.9861147683027, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 95.615234375, + "height": 23, + "seed": 258093155, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Scenario 3", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Scenario 3", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 1030, + "versionNonce": 836974477, + "isDeleted": false, + "id": "OAZIymNCQF1UWLf95epHx", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1492.7959612747575, + "y": 2066.0491560520572, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 272.355282604925, + "height": 134.42728601579844, + "seed": 324977507, + "groupIds": [ + "slPX9McJXg2TGKyShPLCc" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "HVgE0iFD2fMIXnMvlyPhr" + }, + { + "id": "mv9xjT-stTjyc5tkUG4w0", + "type": "arrow" + }, + { + "id": "Z4OhFvYTBgrjto1IMownf", + "type": "arrow" + }, + { + "id": "4aH0KuOppZWWfWz1_Ywfb", + "type": "arrow" + } + ], + "updated": 1694602480125, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1316, + "versionNonce": 475314947, + "isDeleted": false, + "id": "HVgE0iFD2fMIXnMvlyPhr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1545.6401598892317, + "y": 2118.7698572863783, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 166.66688537597656, + "height": 28.985883547156536, + "seed": 370564867, + "groupIds": [ + "slPX9McJXg2TGKyShPLCc" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "fontSize": 25.205116127962206, + "fontFamily": 2, + "text": "Ansible Master", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "OAZIymNCQF1UWLf95epHx", + "originalText": "Ansible Master", + "lineHeight": 1.15, + "baseline": 22 + }, + { + "type": "rectangle", + "version": 848, + "versionNonce": 212511405, + "isDeleted": false, + "id": "qCT5YN5T_gRQP2nSf31sN", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1637.6068771077546, + "y": 2182.6403614393753, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 0.6323957553551999, + "height": 0.6323957553551999, + "seed": 43615907, + "groupIds": [ + "slPX9McJXg2TGKyShPLCc" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 74, + "versionNonce": 928490349, + "isDeleted": false, + "id": "KxJVHxNixJml28t3ccwe5", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1509.9465758064698, + "y": 2164.228231232666, + "strokeColor": "#1971c2", + "backgroundColor": "#ffc9c9", + "width": 171.19140625, + "height": 23, + "seed": 303895427, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Default Private Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Private Key", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "text", + "version": 107, + "versionNonce": 1173902819, + "isDeleted": false, + "id": "XWW6zlf9yuiXQ4ZZAL3KX", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1505.5478992070528, + "y": 2079.9317312267676, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 163.41796875, + "height": 23, + "seed": 1600620621, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Default Public Key", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Public Key", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "arrow", + "version": 120, + "versionNonce": 1959439821, + "isDeleted": false, + "id": "mv9xjT-stTjyc5tkUG4w0", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1780.6937401847358, + "y": 2098.339611073017, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 561.8348779462913, + "height": 80.51752132346382, + "seed": 1424826221, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602470863, + "link": null, + "locked": false, + "startBinding": { + "elementId": "OAZIymNCQF1UWLf95epHx", + "focus": -0.6533701332540822, + "gap": 15.542496305053419 + }, + "endBinding": { + "elementId": "g3H1JYGkkNeZZuodUwy5V", + "focus": -0.9006686065402295, + "gap": 16.30700337875237 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 561.8348779462913, + 80.51752132346382 + ] + ] + }, + { + "type": "arrow", + "version": 75, + "versionNonce": 731200771, + "isDeleted": false, + "id": "Z4OhFvYTBgrjto1IMownf", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1785.7056646036913, + "y": 2122.542335880912, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 560.9471570159963, + "height": 149.6611182275269, + "seed": 1365859981, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602476531, + "link": null, + "locked": false, + "startBinding": { + "elementId": "OAZIymNCQF1UWLf95epHx", + "focus": -0.5073757052824306, + "gap": 20.554420724008878 + }, + "endBinding": { + "elementId": "hkoUd-zqdLS_OOo6JcJIX", + "focus": -0.05868809310557058, + "gap": 16.047098605159817 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 560.9471570159963, + 149.6611182275269 + ] + ] + }, + { + "type": "arrow", + "version": 77, + "versionNonce": 487505389, + "isDeleted": false, + "id": "4aH0KuOppZWWfWz1_Ywfb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1787.28999987512, + "y": 2182.118273869577, + "strokeColor": "#2f9e44", + "backgroundColor": "#ffc9c9", + "width": 570.5579690321729, + "height": 279.231385678454, + "seed": 2104891459, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602480125, + "link": null, + "locked": false, + "startBinding": { + "elementId": "OAZIymNCQF1UWLf95epHx", + "focus": -0.2138417710792909, + "gap": 22.138755995437577 + }, + "endBinding": { + "elementId": "0ffze6sEhwepou7WC_JHY", + "focus": -0.3609773118129881, + "gap": 9.287014766427319 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 570.5579690321729, + 279.231385678454 + ] + ] + }, + { + "type": "ellipse", + "version": 195, + "versionNonce": 1929383875, + "isDeleted": false, + "id": "BFfNH0XHzADnoE8imt1MH", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1783.134972743046, + "y": 2414.5530114706285, + "strokeColor": "#f08c00", + "backgroundColor": "#b2f2bb", + "width": 243.01360466816777, + "height": 140.8024031106279, + "seed": 569036941, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1694602566445, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 170, + "versionNonce": 1648084035, + "isDeleted": false, + "id": "sWSXdz53hL2BVQBe_J4pc", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1822.3025491805345, + "y": 2470.3376413194933, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "width": 156.73828125, + "height": 23, + "seed": 1059434883, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1694602525368, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 2, + "text": "Default Password", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Default Password", + "lineHeight": 1.15, + "baseline": 18 + }, + { + "type": "rectangle", + "version": 261, + "versionNonce": 2106056728, + "isDeleted": false, + "id": "-x-I3raicfWx7D4hYE1vT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1685.520055667402, + "y": 1555.9271463195441, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 258.89453125, + "height": 193.546875, + "seed": 1635068184, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "ishUX4FaoB4SAbpd9-1Es" + } + ], + "updated": 1695032409850, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 202, + "versionNonce": 1187257624, + "isDeleted": false, + "id": "ishUX4FaoB4SAbpd9-1Es", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1617.7767847933785, + "y": 1630.2005838195441, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 123.40798950195312, + "height": 45, + "seed": 807421464, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1695032409850, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 1, + "text": "HTTPS", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "-x-I3raicfWx7D4hYE1vT", + "originalText": "HTTPS", + "lineHeight": 1.25, + "baseline": 32 + }, + { + "type": "rectangle", + "version": 619, + "versionNonce": 2003876376, + "isDeleted": false, + "id": "tnSOZmuoDfvRpTILSH9fn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -1246.6816351771322, + "y": 1555.9271463195441, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 258.89453125, + "height": 193.546875, + "seed": 1493347608, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "HMQZRdthmLZPPAalls1GK" + } + ], + "updated": 1695032409850, + "link": null, + "locked": false + }, + { + "id": "HMQZRdthmLZPPAalls1GK", + "type": "text", + "x": -1163.2539008021322, + "y": 1632.000583819544, + "width": 92.0390625, + "height": 41.4, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1052212328, + "version": 17, + "versionNonce": 42055448, + "isDeleted": false, + "boundElements": null, + "updated": 1695032409850, + "link": null, + "locked": false, + "text": "Nginx", + "fontSize": 36, + "fontFamily": 2, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 33, + "containerId": "tnSOZmuoDfvRpTILSH9fn", + "originalText": "Nginx", + "lineHeight": 1.15 + }, + { + "type": "rectangle", + "version": 715, + "versionNonce": 1550521368, + "isDeleted": false, + "id": "ip8RE4nmdehKegb6hgTzb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -711.4273340561865, + "y": 1427.6723379684756, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 159, + "height": 137, + "seed": 81992216, + "groupIds": [ + "-jArga8q3CM7G7F6QrgpD" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "3zz7T94Dqlgt0NN29AKkC" + } + ], + "updated": 1695032409850, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 119, + "versionNonce": 1260441880, + "isDeleted": false, + "id": "3zz7T94Dqlgt0NN29AKkC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -678.9663965561865, + "y": 1475.4723379684756, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 94.078125, + "height": 41.4, + "seed": 1923618584, + "groupIds": [ + "-jArga8q3CM7G7F6QrgpD" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1695032409850, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 2, + "text": "App 1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ip8RE4nmdehKegb6hgTzb", + "originalText": "App 1", + "lineHeight": 1.15, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 777, + "versionNonce": 907472408, + "isDeleted": false, + "id": "gvWCTmv4LoOqdvbPGHz76", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -710.1887841607552, + "y": 1585.8090615129024, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 159, + "height": 137, + "seed": 2096331032, + "groupIds": [ + "-jArga8q3CM7G7F6QrgpD" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "U0pSnZiHrDpgS3aOEO-uJ" + } + ], + "updated": 1695032409850, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 184, + "versionNonce": 1983998744, + "isDeleted": false, + "id": "U0pSnZiHrDpgS3aOEO-uJ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -677.7278466607552, + "y": 1633.6090615129024, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 94.078125, + "height": 41.4, + "seed": 1733596696, + "groupIds": [ + "-jArga8q3CM7G7F6QrgpD" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1695032409850, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 2, + "text": "App 2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "gvWCTmv4LoOqdvbPGHz76", + "originalText": "App 2", + "lineHeight": 1.15, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 796, + "versionNonce": 638863384, + "isDeleted": false, + "id": "JAvlZozeEbvp4H9puOYVr", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -707.8692923720585, + "y": 1740.7288296706126, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 159, + "height": 137, + "seed": 971064600, + "groupIds": [ + "-jArga8q3CM7G7F6QrgpD" + ], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "fsqLFpvB1tZ4b9hO3Km9c" + } + ], + "updated": 1695032409850, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 203, + "versionNonce": 1904444696, + "isDeleted": false, + "id": "fsqLFpvB1tZ4b9hO3Km9c", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -675.4083548720585, + "y": 1788.5288296706126, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 94.078125, + "height": 41.4, + "seed": 1554571800, + "groupIds": [ + "-jArga8q3CM7G7F6QrgpD" + ], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1695032409850, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 2, + "text": "App 3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "JAvlZozeEbvp4H9puOYVr", + "originalText": "App 3", + "lineHeight": 1.15, + "baseline": 33 + }, + { + "type": "rectangle", + "version": 796, + "versionNonce": 116144408, + "isDeleted": false, + "id": "z659tPCLMt7SH-XVbnqEw", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -315.78402101638744, + "y": 1584.2005838195441, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "width": 159, + "height": 137, + "seed": 1592656664, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "gcuAhR6xVrvHzJm6CD5_j" + } + ], + "updated": 1695032412178, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 208, + "versionNonce": 26472808, + "isDeleted": false, + "id": "gcuAhR6xVrvHzJm6CD5_j", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": -276.30062257888744, + "y": 1632.000583819544, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 80.033203125, + "height": 41.4, + "seed": 2104352792, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1695032412178, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 2, + "text": "DB 1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "z659tPCLMt7SH-XVbnqEw", + "originalText": "DB 1", + "lineHeight": 1.15, + "baseline": 33 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/server_custom/assets/source/77/10010-.pdf b/server_custom/assets/source/77/10010-.pdf new file mode 100644 index 0000000..4b87387 Binary files /dev/null and b/server_custom/assets/source/77/10010-.pdf differ diff --git a/server_custom/assets/source/77/screenshot-2024-05-09-at-17.22.59__02.png b/server_custom/assets/source/77/screenshot-2024-05-09-at-17.22.59__02.png new file mode 100644 index 0000000..c58f903 Binary files /dev/null and b/server_custom/assets/source/77/screenshot-2024-05-09-at-17.22.59__02.png differ diff --git a/server_custom/assets/source/77/yurilima.png b/server_custom/assets/source/77/yurilima.png new file mode 100644 index 0000000..35082a9 Binary files /dev/null and b/server_custom/assets/source/77/yurilima.png differ diff --git a/server_custom/assets/source/9c/screenshot-2023-07-08-at-22.27.18__03.png b/server_custom/assets/source/9c/screenshot-2023-07-08-at-22.27.18__03.png new file mode 100644 index 0000000..813cb59 Binary files /dev/null and b/server_custom/assets/source/9c/screenshot-2023-07-08-at-22.27.18__03.png differ diff --git a/server_custom/assets/source/a6/10001-5-as-pdfa.pdf b/server_custom/assets/source/a6/10001-5-as-pdfa.pdf new file mode 100644 index 0000000..b2c84a8 Binary files /dev/null and b/server_custom/assets/source/a6/10001-5-as-pdfa.pdf differ diff --git a/server_custom/assets/source/a6/example-company__02.jpg b/server_custom/assets/source/a6/example-company__02.jpg new file mode 100644 index 0000000..94b61b5 Binary files /dev/null and b/server_custom/assets/source/a6/example-company__02.jpg differ diff --git a/server_custom/assets/source/b4/10016-.pdf b/server_custom/assets/source/b4/10016-.pdf new file mode 100644 index 0000000..b4e2b7d Binary files /dev/null and b/server_custom/assets/source/b4/10016-.pdf differ diff --git a/server_custom/assets/source/bf/yurilima__02.png b/server_custom/assets/source/bf/yurilima__02.png new file mode 100644 index 0000000..35082a9 Binary files /dev/null and b/server_custom/assets/source/bf/yurilima__02.png differ diff --git a/server_custom/assets/source/c5/invoicequotation__02.pdf b/server_custom/assets/source/c5/invoicequotation__02.pdf new file mode 100644 index 0000000..973ca1a Binary files /dev/null and b/server_custom/assets/source/c5/invoicequotation__02.pdf differ diff --git a/server_custom/assets/source/ca/10009-.pdf b/server_custom/assets/source/ca/10009-.pdf new file mode 100644 index 0000000..baa3008 Binary files /dev/null and b/server_custom/assets/source/ca/10009-.pdf differ diff --git a/server_custom/assets/source/ce/screen-recording-2024-03-22-at-09.48.43.mov b/server_custom/assets/source/ce/screen-recording-2024-03-22-at-09.48.43.mov new file mode 100644 index 0000000..e42f5ef Binary files /dev/null and b/server_custom/assets/source/ce/screen-recording-2024-03-22-at-09.48.43.mov differ diff --git a/server_custom/assets/source/d6/10017-__02.pdf b/server_custom/assets/source/d6/10017-__02.pdf new file mode 100644 index 0000000..5b5e6b2 Binary files /dev/null and b/server_custom/assets/source/d6/10017-__02.pdf differ diff --git a/server_custom/assets/source/d8/10001-.pdf b/server_custom/assets/source/d8/10001-.pdf new file mode 100644 index 0000000..987e0f3 Binary files /dev/null and b/server_custom/assets/source/d8/10001-.pdf differ diff --git a/server_custom/assets/source/e8/screenshot-2024-05-07-at-13.39.21.png b/server_custom/assets/source/e8/screenshot-2024-05-07-at-13.39.21.png new file mode 100644 index 0000000..677cf0f Binary files /dev/null and b/server_custom/assets/source/e8/screenshot-2024-05-07-at-13.39.21.png differ diff --git a/server_custom/assets/source/e9/invoicequotation.pdf b/server_custom/assets/source/e9/invoicequotation.pdf new file mode 100644 index 0000000..973ca1a Binary files /dev/null and b/server_custom/assets/source/e9/invoicequotation.pdf differ diff --git a/server_custom/assets/source/f8/10010-__02.pdf b/server_custom/assets/source/f8/10010-__02.pdf new file mode 100644 index 0000000..61275fd Binary files /dev/null and b/server_custom/assets/source/f8/10010-__02.pdf differ diff --git a/server_custom/assets/source/fa/10002-.pdf b/server_custom/assets/source/fa/10002-.pdf new file mode 100644 index 0000000..a2f82b0 Binary files /dev/null and b/server_custom/assets/source/fa/10002-.pdf differ diff --git a/server_custom/config.ts b/server_custom/config.ts new file mode 100644 index 0000000..71ad346 --- /dev/null +++ b/server_custom/config.ts @@ -0,0 +1,187 @@ +/* tslint:disable:no-console */ +import path from 'path'; +import { ConnectionOptions } from 'typeorm'; +// import { DataSourceOptions } from 'typeorm'; +import { WinstonLogger, RedisSessionCachePlugin, LogLevel, TypeOrmLogger, SystemConfig, DefaultJobQueuePlugin } from '@phoenix/core'; +import { AssetServerPlugin } from '@phoenix/asset-server-plugin'; +import { ADMIN_API_PATH, API_PORT, SHOP_API_PATH, SUPER_ADMIN_USER_IDENTIFIER } from '@phoenix/common'; +import { EmailPlugin, FileBasedTemplateLoader, defaultEmailHandlers } from '@phoenix/email-plugin'; +//import { BonnAPIPlugin } from '../plugins/bonn-api-plugin/bonn-api-plugin.module'; +// import { DefaultJobQueuePlugin } from '@phoenix/system_service'; + +/** + * Config settings used during development + */ +export const customConfig: SystemConfig = { + apiOptions: { + port: API_PORT, + // sslPort: API_SSL_PORT, + //sslCertPath: path.join(__dirname, '../secrets/certificate.crt'), + //sslKeyPath: path.join(__dirname, '../secrets/certificate.key'), + adminApiPath: ADMIN_API_PATH, + shopApiPath: SHOP_API_PATH, + cors: { + origin: true, + credentials: true, + }, + }, + authOptions: { + disableAuth: true, + sessionSecret: 'some-secret', + requireVerification: false, + tokenMethod: "bearer", + superadminCredentials: { + identifier: SUPER_ADMIN_USER_IDENTIFIER, + password: process.env.SUPER_ADMIN_USER_PASSWORD || 'superadmin' + } + }, + dbConnectionOptions: { + // synchronize: true, + // logging: true, + logger: new TypeOrmLogger(), + ...getDbConfig(), + // logging: ["error"] + }, + // paymentOptions: { + // // paymentMethodHandlers: [examplePaymentHandler], + // }, + customFields: { + Product: [ + { + name: 'testo', + type: 'string', + } + ], + DocumentLineItem: [ + ], + PostProductionDetail: [ + ], + }, + searchableFields: { + processResource: [ + "scanId" + ] + }, + logger: new WinstonLogger({ level: LogLevel.Debug }), + workerLogger: new WinstonLogger({ level: LogLevel.Info }), + //importExportOptions: { + // importProductAssetsDir: path.join(__dirname, 'import', 'product-assets'), + //}, + defaults: { + defaultTakeNumber: 100, + }, + plugins: [ + RedisSessionCachePlugin.init({ + namespace: 'phx-session', + redisOptions: { + host: process.env.REDIS_HOST || 'redis', + port: process.env.REDIS_PORT ? parseInt(process.env.REDIS_PORT) : 6379, + db: process.env.REDIS_DB ? parseInt(process.env.REDIS_DB) : 0, + password: process.env.REDIS_PASSWORD || 'admin' + } + }), + AssetServerPlugin.init({ + route: 'remote-assets', + assetUploadDir: path.join(__dirname, 'assets'), + port: 5002, + assetUrlPrefix: "\\remote-assets\\" // to make it relative for client + }), + DefaultJobQueuePlugin.init({}), + EmailPlugin.init({ + sendRealEmails: true, + route: 'mailbox', + handlers: [...defaultEmailHandlers], + // Dynamic Email Templates + templateLoader: new FileBasedTemplateLoader(path.join(__dirname, '..', '../email-plugin/templates')), + globalTemplateVars: { + verifyEmailAddressUrl: 'http://localhost:4201/verify', + passwordResetUrl: 'http://localhost:4201/reset-password', + changeEmailAddressUrl: 'http://localhost:4201/change-email-address', + } + }), + // DefaultStoragePlaceRankPlugin.init({}) + // new DefaultSearchPlugin(), + // new ElasticsearchPlugin({ + // host: 'http://192.168.99.100', + // port: 9200, + // }), + // DocusignPlugin.init({ + // devMode:true, + // handlers: defaultDocusignHandlers, + // assetDownloadDir: path.join(__dirname, 'docusign'), + // assetUploadDir: path.join(__dirname, 'docusign'), + // port: API_PORT, + // route: "docusign" + // }), + // new AdminUiPlugin({ + // port: 5001, + // }), + ], + // ApolloEngineApiKey: "service:Logic-Bits-2900:5w1aCP5YUtF-1ErRG0KNQw" +}; + +function getDbConfig(): ConnectionOptions { + const dbType = process.env.DB || 'postgres'; + const dbHost = process.env.DB_HOST || 'localhost'; + const dbPort = +process.env.DB_PORT || 5432; + + const connectionPoolMax = process.env.CONNECTION_POOL_MAX ?? 20; + + const dbUsername = process.env.DB_USERNAME || 'postgres'; + const password = process.env.DB_PASSWORD || 'admin'; + const database = process.env.DB_NAME || 'phoenix' + + if (password == "admin") + console.warn("default postgres password is used!"); + + if (process.env.DB_HOST) + console.log(`using DB Host ${dbHost} from env`); + + console.log(`using Database ${database}`); + console.log(`using User ${dbUsername}`); + + switch (dbType) { + case 'postgres': + console.log('Using postgres connection at ' + dbHost); + return { + synchronize: true, + type: 'postgres', + //host: '127.0.0.1', + host: dbHost, + port: dbPort, + username: dbUsername, + password: password, + database: database, + // logging: "all", + extra: { + max: connectionPoolMax + } + }; + case 'sqlite': + console.log('Using sqlite connection'); + return { + type: 'sqlite', + database: path.join(__dirname, 'phoenix.sqlite'), + }; + case 'sqljs': + console.log('Using sql.js connection'); + return { + type: 'sqljs', + autoSave: true, + database: new Uint8Array([]), + location: path.join(__dirname, 'phoenix.sqlite'), + }; + case 'mysql': + default: + console.log('Using mysql connection'); + return { + synchronize: true, + type: 'mysql', + host: '192.168.99.100', + port: 3306, + username: 'root', + password: '', + database: 'phoenix-dev', + }; + } +}