diff --git a/website/docs/4-guides/1-deployments/5-pre-deploy-hooks.md b/website/docs/4-guides/1-deployments/5-pre-deploy-hooks.md index 41a47f0e..55ee0082 100644 --- a/website/docs/4-guides/1-deployments/5-pre-deploy-hooks.md +++ b/website/docs/4-guides/1-deployments/5-pre-deploy-hooks.md @@ -23,6 +23,9 @@ If the command exits with code 0, the deployment continues with a normal [rollin the command fails or times out, the deployment stops immediately with an error. `uc deploy` will display the latest logs from the hook container to help you diagnose the issue. +![Deploy flow with a pre-deploy hook](img/pre-deploy-hook-light.svg#gh-light-mode-only) +![Deploy flow with a pre-deploy hook](img/pre-deploy-hook-dark.svg#gh-dark-mode-only) + The hook runs on one of the machines where the service will be deployed. Similar to service containers, hook containers can reach other services over the network, connect to databases, and read or write shared volumes. Note that file system changes do not persist after the hook finishes, except for changes written to shared volumes. diff --git a/website/docs/4-guides/1-deployments/img/pre-deploy-hook-dark.svg b/website/docs/4-guides/1-deployments/img/pre-deploy-hook-dark.svg new file mode 100644 index 00000000..484a877f --- /dev/null +++ b/website/docs/4-guides/1-deployments/img/pre-deploy-hook-dark.svg @@ -0,0 +1,6 @@ + + +build & pushimage $ uc deployone-off prep tasksmigrate a databaseschema upload assets toCDN or S3invalidate cacherolling deploypre-deploy hookexit 0 \ No newline at end of file diff --git a/website/docs/4-guides/1-deployments/img/pre-deploy-hook-light.svg b/website/docs/4-guides/1-deployments/img/pre-deploy-hook-light.svg new file mode 100644 index 00000000..d52ee9d8 --- /dev/null +++ b/website/docs/4-guides/1-deployments/img/pre-deploy-hook-light.svg @@ -0,0 +1,6 @@ + + +build & pushimage $ uc deployone-off prep tasksmigrate a databaseschema upload assets toCDN or S3invalidate cacherolling deploypre-deploy hookexit 0 \ No newline at end of file diff --git a/website/docs/4-guides/1-deployments/img/pre-deploy-hook.excalidraw b/website/docs/4-guides/1-deployments/img/pre-deploy-hook.excalidraw new file mode 100644 index 00000000..fae7eebb --- /dev/null +++ b/website/docs/4-guides/1-deployments/img/pre-deploy-hook.excalidraw @@ -0,0 +1,2779 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "phase_build", + "type": "text", + "x": 155, + "y": 140, + "width": 70, + "height": 30, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0t", + "roundness": null, + "seed": 100, + "version": 3, + "versionNonce": 1087952858, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "BUILD", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "BUILD", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "phase_predeploy", + "type": "text", + "x": 530, + "y": 140, + "width": 220, + "height": 30, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0u", + "roundness": null, + "seed": 101, + "version": 3, + "versionNonce": 2007280326, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "PRE-DEPLOY HOOK", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "PRE-DEPLOY HOOK", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "phase_deploy", + "type": "text", + "x": 920, + "y": 140, + "width": 100, + "height": 30, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0v", + "roundness": null, + "seed": 102, + "version": 3, + "versionNonce": 1113902234, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "DEPLOY", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "DEPLOY", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "rect_ucdeploy", + "type": "rectangle", + "x": 60, + "y": 260, + "width": 160, + "height": 55, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0w", + "roundness": { + "type": 3 + }, + "seed": 200, + "version": 3, + "versionNonce": 479158790, + "isDeleted": true, + "boundElements": [ + { + "id": "text_ucdeploy", + "type": "text" + }, + { + "id": "arrow1", + "type": "arrow" + } + ], + "updated": 1775733106705, + "link": null, + "locked": false + }, + { + "id": "text_ucdeploy", + "type": "text", + "x": 65, + "y": 272, + "width": 150, + "height": 30, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0x", + "roundness": null, + "seed": 201, + "version": 3, + "versionNonce": 1075063130, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "uc deploy", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rect_ucdeploy", + "originalText": "uc deploy", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "arrow1", + "type": "arrow", + "x": 225, + "y": 288, + "width": 70, + "height": 0, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0y", + "roundness": { + "type": 2 + }, + "seed": 300, + "version": 3, + "versionNonce": 429994310, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 70, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "rect_ucdeploy", + "mode": "orbit", + "fixedPoint": [ + 1, + 0.5001 + ] + }, + "endBinding": { + "elementId": "rect_build", + "mode": "orbit", + "fixedPoint": [ + 0, + 0.5001 + ] + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "rect_build", + "type": "rectangle", + "x": 300, + "y": 248, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b0z", + "roundness": { + "type": 3 + }, + "seed": 202, + "version": 3, + "versionNonce": 825880090, + "isDeleted": true, + "boundElements": [ + { + "id": "text_build", + "type": "text" + }, + { + "id": "arrow1", + "type": "arrow" + }, + { + "id": "arrow2", + "type": "arrow" + } + ], + "updated": 1775733106705, + "link": null, + "locked": false + }, + { + "id": "text_build", + "type": "text", + "x": 305, + "y": 263, + "width": 170, + "height": 50, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b10", + "roundness": null, + "seed": 203, + "version": 3, + "versionNonce": 171382918, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "Build & push\nimage", + "fontSize": 20, + "fontFamily": 2, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rect_build", + "originalText": "Build & push\nimage", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "arrow2", + "type": "arrow", + "x": 485, + "y": 288, + "width": 70, + "height": 0, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b11", + "roundness": { + "type": 2 + }, + "seed": 301, + "version": 3, + "versionNonce": 717822682, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 70, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "rect_build", + "mode": "orbit", + "fixedPoint": [ + 1, + 0.5001 + ] + }, + "endBinding": { + "elementId": "container_hook", + "mode": "orbit", + "fixedPoint": [ + 0, + 0.5001 + ] + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "container_hook", + "type": "rectangle", + "x": 560, + "y": 185, + "width": 260, + "height": 230, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "#f3f0ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b12", + "roundness": { + "type": 3 + }, + "seed": 204, + "version": 3, + "versionNonce": 370022342, + "isDeleted": true, + "boundElements": [ + { + "id": "arrow2", + "type": "arrow" + }, + { + "id": "arrow3", + "type": "arrow" + } + ], + "updated": 1775733106705, + "link": null, + "locked": false + }, + { + "id": "text_hookheader", + "type": "text", + "x": 578, + "y": 195, + "width": 224, + "height": 20, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b13", + "roundness": null, + "seed": 205, + "version": 3, + "versionNonce": 726970266, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "One-off tasks", + "fontSize": 16, + "fontFamily": 2, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "One-off tasks", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "task1_rect", + "type": "rectangle", + "x": 580, + "y": 225, + "width": 220, + "height": 50, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b14", + "roundness": { + "type": 3 + }, + "seed": 206, + "version": 3, + "versionNonce": 1698901766, + "isDeleted": true, + "boundElements": [ + { + "id": "task1_text", + "type": "text" + } + ], + "updated": 1775733106705, + "link": null, + "locked": false + }, + { + "id": "task1_text", + "type": "text", + "x": 585, + "y": 237, + "width": 210, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b15", + "roundness": null, + "seed": 207, + "version": 3, + "versionNonce": 1729080410, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "Run migrations", + "fontSize": 18, + "fontFamily": 2, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "task1_rect", + "originalText": "Run migrations", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "task2_rect", + "type": "rectangle", + "x": 580, + "y": 285, + "width": 220, + "height": 50, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b16", + "roundness": { + "type": 3 + }, + "seed": 208, + "version": 3, + "versionNonce": 341007942, + "isDeleted": true, + "boundElements": [ + { + "id": "task2_text", + "type": "text" + } + ], + "updated": 1775733106705, + "link": null, + "locked": false + }, + { + "id": "task2_text", + "type": "text", + "x": 585, + "y": 297, + "width": 210, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b17", + "roundness": null, + "seed": 209, + "version": 3, + "versionNonce": 332206362, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "Upload assets to CDN", + "fontSize": 18, + "fontFamily": 2, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "task2_rect", + "originalText": "Upload assets to CDN", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "task3_rect", + "type": "rectangle", + "x": 580, + "y": 345, + "width": 220, + "height": 50, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b18", + "roundness": { + "type": 3 + }, + "seed": 210, + "version": 3, + "versionNonce": 672900486, + "isDeleted": true, + "boundElements": [ + { + "id": "task3_text", + "type": "text" + } + ], + "updated": 1775733106705, + "link": null, + "locked": false + }, + { + "id": "task3_text", + "type": "text", + "x": 585, + "y": 357, + "width": 210, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b19", + "roundness": null, + "seed": 211, + "version": 3, + "versionNonce": 889183706, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "Any other task...", + "fontSize": 18, + "fontFamily": 2, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "task3_rect", + "originalText": "Any other task...", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "arrow3", + "type": "arrow", + "x": 825, + "y": 300, + "width": 70, + "height": 0, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1A", + "roundness": { + "type": 2 + }, + "seed": 302, + "version": 3, + "versionNonce": 30999750, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 70, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "container_hook", + "mode": "orbit", + "fixedPoint": [ + 1, + 0.5001 + ] + }, + "endBinding": { + "elementId": "rect_rolling", + "mode": "orbit", + "fixedPoint": [ + 0, + 0.5001 + ] + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "text_exit0", + "type": "text", + "x": 830, + "y": 275, + "width": 60, + "height": 20, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1B", + "roundness": null, + "seed": 303, + "version": 3, + "versionNonce": 1740313242, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "exit 0", + "fontSize": 14, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "exit 0", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "rect_rolling", + "type": "rectangle", + "x": 900, + "y": 260, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "#d0bfff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1C", + "roundness": { + "type": 3 + }, + "seed": 212, + "version": 3, + "versionNonce": 1395162118, + "isDeleted": true, + "boundElements": [ + { + "id": "text_rolling", + "type": "text" + }, + { + "id": "arrow3", + "type": "arrow" + }, + { + "id": "arrow4", + "type": "arrow" + } + ], + "updated": 1775733106705, + "link": null, + "locked": false + }, + { + "id": "text_rolling", + "type": "text", + "x": 905, + "y": 275, + "width": 170, + "height": 50, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1D", + "roundness": null, + "seed": 213, + "version": 3, + "versionNonce": 783396698, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "Rolling\nupdate", + "fontSize": 20, + "fontFamily": 2, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rect_rolling", + "originalText": "Rolling\nupdate", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "arrow4", + "type": "arrow", + "x": 1085, + "y": 300, + "width": 60, + "height": 0, + "angle": 0, + "strokeColor": "#6741d9", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1E", + "roundness": { + "type": 2 + }, + "seed": 304, + "version": 3, + "versionNonce": 302451526, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 60, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "rect_rolling", + "mode": "orbit", + "fixedPoint": [ + 1, + 0.5001 + ] + }, + "endBinding": { + "elementId": "rect_live", + "mode": "orbit", + "fixedPoint": [ + 0, + 0.5001 + ] + }, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "rect_live", + "type": "rectangle", + "x": 1150, + "y": 260, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1F", + "roundness": { + "type": 3 + }, + "seed": 214, + "version": 3, + "versionNonce": 1043772442, + "isDeleted": true, + "boundElements": [ + { + "id": "text_live", + "type": "text" + }, + { + "id": "arrow4", + "type": "arrow" + } + ], + "updated": 1775733106705, + "link": null, + "locked": false + }, + { + "id": "text_live", + "type": "text", + "x": 1155, + "y": 275, + "width": 170, + "height": 50, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1G", + "roundness": null, + "seed": 215, + "version": 3, + "versionNonce": 1825682054, + "isDeleted": true, + "boundElements": [], + "updated": 1775733106705, + "link": null, + "locked": false, + "text": "Service\nis live ✓", + "fontSize": 20, + "fontFamily": 2, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rect_live", + "originalText": "Service\nis live ✓", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "0cLhC6OpqAeJC_PMcLa-K", + "type": "rectangle", + "x": 329.75, + "y": -143.234347, + "width": 157.00000000000003, + "height": 66.5, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1H", + "roundness": { + "type": 3 + }, + "seed": 2001013022, + "version": 204, + "versionNonce": 1798830298, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "cYoxzSCwjg59-nmSnIqS5" + }, + { + "id": "YvpdzFuxzSQL3j3uGkTyU", + "type": "arrow" + }, + { + "id": "340HHP5CAXs5liX946UJH", + "type": "arrow" + } + ], + "updated": 1775733389305, + "link": null, + "locked": false + }, + { + "id": "cYoxzSCwjg59-nmSnIqS5", + "type": "text", + "x": 351.21666717529297, + "y": -134.984347, + "width": 114.06666564941406, + "height": 50, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1I", + "roundness": null, + "seed": 947598594, + "version": 217, + "versionNonce": 1610531718, + "isDeleted": false, + "boundElements": [], + "updated": 1775733201758, + "link": null, + "locked": false, + "text": "build & push\nimage ", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0cLhC6OpqAeJC_PMcLa-K", + "originalText": "build & push image ", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "yF2yg8MwZUMp9WFRi2epo", + "type": "rectangle", + "x": 590, + "y": -144.75, + "width": 157.00000000000003, + "height": 66.5, + "angle": 0, + "strokeColor": "#1971c2", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1P", + "roundness": { + "type": 3 + }, + "seed": 708358662, + "version": 6, + "versionNonce": 1020802586, + "isDeleted": true, + "boundElements": [ + { + "id": "340HHP5CAXs5liX946UJH", + "type": "arrow" + } + ], + "updated": 1775731836066, + "link": null, + "locked": false + }, + { + "id": "340HHP5CAXs5liX946UJH", + "type": "arrow", + "x": 492.75, + "y": -110.04984705217393, + "width": 74.25, + "height": 0.8928568956521588, + "angle": 0, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1Q", + "roundness": null, + "seed": 2049583494, + "version": 708, + "versionNonce": 1179052698, + "isDeleted": false, + "boundElements": null, + "updated": 1775733389305, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 74.25, + -0.8928568956521588 + ] + ], + "startBinding": { + "elementId": "0cLhC6OpqAeJC_PMcLa-K", + "mode": "orbit", + "fixedPoint": [ + 0.9999999999999998, + 0.5001 + ] + }, + "endBinding": { + "elementId": "kxvqgPA2CoLg6Gp_o3AaW", + "mode": "orbit", + "fixedPoint": [ + 0, + 0.5001 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false, + "fixedSegments": null, + "startIsSpecial": null, + "endIsSpecial": null, + "moveMidPointsWithElement": false + }, + { + "id": "NZcM93ewGtxHUO1WuIPYQ", + "type": "text", + "x": 132, + "y": -145.75, + "width": 121, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1R", + "roundness": null, + "seed": 92118342, + "version": 19, + "versionNonce": 889743642, + "isDeleted": true, + "boundElements": null, + "updated": 1775731766507, + "link": null, + "locked": false, + "text": "$ uc deploy", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "$ uc deploy", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "TL5zl9Yy4j2YZnVKIDump", + "type": "rectangle", + "x": 96.5, + "y": -128.75, + "width": 147, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1S", + "roundness": null, + "seed": 396088730, + "version": 206, + "versionNonce": 1350425030, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "Izs4K32gfovwVrOSUtyyv" + }, + { + "id": "YvpdzFuxzSQL3j3uGkTyU", + "type": "arrow" + } + ], + "updated": 1775731775713, + "link": null, + "locked": false + }, + { + "id": "Izs4K32gfovwVrOSUtyyv", + "type": "text", + "x": 109.5, + "y": -123.75, + "width": 121, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1SG", + "roundness": null, + "seed": 1369738438, + "version": 191, + "versionNonce": 613479898, + "isDeleted": false, + "boundElements": null, + "updated": 1775731772648, + "link": null, + "locked": false, + "text": "$ uc deploy", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TL5zl9Yy4j2YZnVKIDump", + "originalText": "$ uc deploy", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "4Phe6uO89Uf49iObtso3V", + "type": "text", + "x": 213, + "y": -267.25, + "width": 11, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1SV", + "roundness": null, + "seed": 527287450, + "version": 3, + "versionNonce": 702658310, + "isDeleted": true, + "boundElements": null, + "updated": 1775731756963, + "link": null, + "locked": false, + "text": "", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TL5zl9Yy4j2YZnVKIDump", + "originalText": "", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "t3jOCJl0OmE50MQ0V64L_", + "type": "text", + "x": 253, + "y": -277.75, + "width": 11, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1T", + "roundness": null, + "seed": 1362380230, + "version": 3, + "versionNonce": 371475226, + "isDeleted": true, + "boundElements": null, + "updated": 1775731756007, + "link": null, + "locked": false, + "text": "", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "v7cBbJnM_wtTRkI4lXe-k", + "type": "rectangle", + "x": 343.5, + "y": -128.75, + "width": 147, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1U", + "roundness": null, + "seed": 1730765594, + "version": 4, + "versionNonce": 1736885338, + "isDeleted": true, + "boundElements": [], + "updated": 1775731772648, + "link": null, + "locked": false + }, + { + "id": "cXFE_2FXsYCCRJldAgpHb", + "type": "arrow", + "x": 249.49999999999997, + "y": -111.35000000000001, + "width": 88.00000000000003, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1V", + "roundness": null, + "seed": 82146182, + "version": 6, + "versionNonce": 1283049030, + "isDeleted": true, + "boundElements": null, + "updated": 1775731772648, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 88.00000000000003, + 0 + ] + ], + "startBinding": { + "elementId": "TL5zl9Yy4j2YZnVKIDump", + "mode": "orbit", + "fixedPoint": [ + 1.040816326530612, + 0.4971428571428569 + ] + }, + "endBinding": { + "elementId": "v7cBbJnM_wtTRkI4lXe-k", + "mode": "orbit", + "fixedPoint": [ + -0.04081632653061224, + 0.4971428571428569 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": true, + "fixedSegments": null, + "startIsSpecial": null, + "endIsSpecial": null + }, + { + "id": "YvpdzFuxzSQL3j3uGkTyU", + "type": "arrow", + "x": 249.49999999999997, + "y": -111.15823544347823, + "width": 74.25000000000003, + "height": 1.0922738869564768, + "angle": 0, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1W", + "roundness": null, + "seed": 1359471622, + "version": 63, + "versionNonce": 1269326534, + "isDeleted": false, + "boundElements": null, + "updated": 1775733201758, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 74.25000000000003, + 1.0922738869564768 + ] + ], + "startBinding": { + "elementId": "TL5zl9Yy4j2YZnVKIDump", + "mode": "orbit", + "fixedPoint": [ + 1, + 0.5001 + ] + }, + "endBinding": { + "elementId": "0cLhC6OpqAeJC_PMcLa-K", + "mode": "orbit", + "fixedPoint": [ + 0, + 0.5001 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false, + "moveMidPointsWithElement": false + }, + { + "id": "WRvu5TVkf_gLBH1iBC9Bz", + "type": "rectangle", + "x": 663.5, + "y": -216.75, + "width": 31, + "height": 14.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1Z", + "roundness": { + "type": 3 + }, + "seed": 1479353670, + "version": 12, + "versionNonce": 409923590, + "isDeleted": true, + "boundElements": null, + "updated": 1775731908768, + "link": null, + "locked": false + }, + { + "id": "4fF7CnPtBrL-3hfcXqfCx", + "type": "text", + "x": 724.1333334445953, + "y": -194.25, + "width": 5.233333110809326, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1b", + "roundness": null, + "seed": 1817300442, + "version": 19, + "versionNonce": 2065095258, + "isDeleted": true, + "boundElements": null, + "updated": 1775732790207, + "link": null, + "locked": false, + "text": "", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TezSwi2ZPOVdvApkG7a93", + "originalText": "", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "Pcy6lnKSyzWkMz3XW8dbP", + "type": "rectangle", + "x": 680.75, + "y": -76, + "width": 207.4999999999999, + "height": 66.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1e", + "roundness": { + "type": 3 + }, + "seed": 1532169370, + "version": 597, + "versionNonce": 813231878, + "isDeleted": true, + "boundElements": [], + "updated": 1775732364217, + "link": null, + "locked": false + }, + { + "id": "-dqon03Ve5pt4vvxUdd5d", + "type": "text", + "x": 708.4333343505859, + "y": -67.75, + "width": 152.13333129882812, + "height": 50, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1f", + "roundness": null, + "seed": 557476186, + "version": 653, + "versionNonce": 1662381146, + "isDeleted": true, + "boundElements": [], + "updated": 1775732364217, + "link": null, + "locked": false, + "text": "Upload assets to\nCDN or S3", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Pcy6lnKSyzWkMz3XW8dbP", + "originalText": "Upload assets to CDN or S3", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "kxvqgPA2CoLg6Gp_o3AaW", + "type": "rectangle", + "x": 573, + "y": -262.54515399999997, + "width": 254, + "height": 303, + "angle": 0, + "strokeColor": "#eebefa", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1f8", + "roundness": { + "type": 3 + }, + "seed": 955446362, + "version": 588, + "versionNonce": 1675561562, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "hFLkKaCVoRpus49AYZwHn" + }, + { + "id": "340HHP5CAXs5liX946UJH", + "type": "arrow" + }, + { + "id": "a7ZBWGYRSph2bNSWMl-oz", + "type": "arrow" + } + ], + "updated": 1775733389305, + "link": null, + "locked": false + }, + { + "id": "hFLkKaCVoRpus49AYZwHn", + "type": "text", + "x": 626.966667175293, + "y": -257.54515399999997, + "width": 146.06666564941406, + "height": 20, + "angle": 0, + "strokeColor": "#be4bdb", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1fG", + "roundness": null, + "seed": 90444826, + "version": 513, + "versionNonce": 1910639962, + "isDeleted": false, + "boundElements": null, + "updated": 1775733394492, + "link": null, + "locked": false, + "text": "one-off prep tasks", + "fontSize": 16, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "top", + "containerId": "kxvqgPA2CoLg6Gp_o3AaW", + "originalText": "one-off prep tasks", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "TezSwi2ZPOVdvApkG7a93", + "type": "rectangle", + "x": 597, + "y": -215.09909399999998, + "width": 207.4999999999999, + "height": 66.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1fV", + "roundness": { + "type": 3 + }, + "seed": 1631760346, + "version": 649, + "versionNonce": 540002266, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "KU4qauPK-ikOB8uUAOWDT" + } + ], + "updated": 1775733413898, + "link": null, + "locked": false + }, + { + "id": "KU4qauPK-ikOB8uUAOWDT", + "type": "text", + "x": 614.0166702270508, + "y": -206.84909399999998, + "width": 173.46665954589844, + "height": 50, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1fl", + "roundness": null, + "seed": 1159120666, + "version": 672, + "versionNonce": 292862662, + "isDeleted": false, + "boundElements": null, + "updated": 1775733413898, + "link": null, + "locked": false, + "text": "migrate a database\nschema ", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TezSwi2ZPOVdvApkG7a93", + "originalText": "migrate a database schema ", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "2QXMd3EepqNjXEIuTxYV_", + "type": "rectangle", + "x": 596.5, + "y": -134.44909399999997, + "width": 207.4999999999999, + "height": 66.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1g", + "roundness": { + "type": 3 + }, + "seed": 1804854022, + "version": 751, + "versionNonce": 2036186266, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "oNSgcT0SxMHT1g5fbff67" + } + ], + "updated": 1775733413898, + "link": null, + "locked": false + }, + { + "id": "oNSgcT0SxMHT1g5fbff67", + "type": "text", + "x": 625.8499984741211, + "y": -126.19909399999997, + "width": 148.8000030517578, + "height": 50, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#f8f0fc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1g8", + "roundness": null, + "seed": 1986892358, + "version": 812, + "versionNonce": 568160774, + "isDeleted": false, + "boundElements": [], + "updated": 1775733413898, + "link": null, + "locked": false, + "text": "upload assets to\nCDN or S3", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "2QXMd3EepqNjXEIuTxYV_", + "originalText": "upload assets to\nCDN or S3", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "aas8Z2MRbn-wctPDmyS5e", + "type": "rectangle", + "x": 597, + "y": -52.949093999999974, + "width": 207.4999999999999, + "height": 66.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1gG", + "roundness": { + "type": 3 + }, + "seed": 1893819782, + "version": 192, + "versionNonce": 175053146, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "BOoVORIbdB69la1yPve4g" + } + ], + "updated": 1775733413898, + "link": null, + "locked": false + }, + { + "id": "BOoVORIbdB69la1yPve4g", + "type": "text", + "x": 628.5833358764648, + "y": -32.199093999999974, + "width": 144.3333282470703, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1gO", + "roundness": null, + "seed": 1814348742, + "version": 184, + "versionNonce": 1789739334, + "isDeleted": false, + "boundElements": null, + "updated": 1775733413898, + "link": null, + "locked": false, + "text": "invalidate cache", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aas8Z2MRbn-wctPDmyS5e", + "originalText": "invalidate cache", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "b3XkUjqeTTs0jifKD2tzJ", + "type": "text", + "x": 719.1333334445953, + "y": -19.349999999999994, + "width": 5.233333110809326, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1gV", + "roundness": null, + "seed": 942149766, + "version": 17, + "versionNonce": 901781382, + "isDeleted": true, + "boundElements": null, + "updated": 1775732790207, + "link": null, + "locked": false, + "text": "", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aas8Z2MRbn-wctPDmyS5e", + "originalText": "", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "dcoSnLZ0wJJcw77XguX9X", + "type": "arrow", + "x": 721.65, + "y": -39.099999999999994, + "width": 0, + "height": 88, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1h", + "roundness": null, + "seed": 343285210, + "version": 6, + "versionNonce": 540350234, + "isDeleted": true, + "boundElements": null, + "updated": 1775732369603, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 88 + ] + ], + "startBinding": { + "elementId": "2QXMd3EepqNjXEIuTxYV_", + "mode": "orbit", + "fixedPoint": [ + 0.4995180722891568, + 1.0902255639097744 + ] + }, + "endBinding": { + "elementId": "aas8Z2MRbn-wctPDmyS5e", + "mode": "orbit", + "fixedPoint": [ + 0.4995180722891568, + -0.09022556390977443 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": true, + "fixedSegments": null, + "startIsSpecial": null, + "endIsSpecial": null + }, + { + "id": "DaHRba-vA1tUWMj89K5w9", + "type": "rectangle", + "x": 156.75000000000023, + "y": -111.6, + "width": 207.4999999999999, + "height": 66.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1i", + "roundness": { + "type": 3 + }, + "seed": 513713158, + "version": 4, + "versionNonce": 1456849222, + "isDeleted": true, + "boundElements": [], + "updated": 1775732372470, + "link": null, + "locked": false + }, + { + "id": "qdJvR7YCtoSV55lpT0G7T", + "type": "arrow", + "x": 721.65, + "y": 48.900000000000006, + "width": 461.24999999999983, + "height": 88, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1j", + "roundness": null, + "seed": 454166362, + "version": 6, + "versionNonce": 2069257754, + "isDeleted": true, + "boundElements": null, + "updated": 1775732372470, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -44 + ], + [ + -461.24999999999983, + -44 + ], + [ + -461.24999999999983, + -88 + ] + ], + "startBinding": { + "elementId": "aas8Z2MRbn-wctPDmyS5e", + "mode": "orbit", + "fixedPoint": [ + 0.4995180722891568, + -0.09022556390977443 + ] + }, + "endBinding": { + "elementId": "DaHRba-vA1tUWMj89K5w9", + "mode": "orbit", + "fixedPoint": [ + 0.4995180722891565, + 1.0902255639097744 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": true, + "fixedSegments": null, + "startIsSpecial": null, + "endIsSpecial": null + }, + { + "id": "n94P8chzQlgkeINWK_2AJ", + "type": "rectangle", + "x": 464.2500000000001, + "y": -111.6, + "width": 207.4999999999999, + "height": 66.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1k", + "roundness": { + "type": 3 + }, + "seed": 1822519558, + "version": 4, + "versionNonce": 1381607558, + "isDeleted": true, + "boundElements": [], + "updated": 1775732372470, + "link": null, + "locked": false + }, + { + "id": "D8XUDjH-7hLB6a1C81ZAV", + "type": "arrow", + "x": 721.65, + "y": 48.900000000000006, + "width": 153.75, + "height": 88, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1l", + "roundness": null, + "seed": 1026460250, + "version": 6, + "versionNonce": 1473743578, + "isDeleted": true, + "boundElements": null, + "updated": 1775732372470, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -44 + ], + [ + -153.75, + -44 + ], + [ + -153.75, + -88 + ] + ], + "startBinding": { + "elementId": "aas8Z2MRbn-wctPDmyS5e", + "mode": "orbit", + "fixedPoint": [ + 0.4995180722891568, + -0.09022556390977443 + ] + }, + "endBinding": { + "elementId": "n94P8chzQlgkeINWK_2AJ", + "mode": "orbit", + "fixedPoint": [ + 0.49951807228915623, + 1.0902255639097744 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": true, + "fixedSegments": null, + "startIsSpecial": null, + "endIsSpecial": null + }, + { + "id": "taHTdKNEpGF3XgwTmgTVr", + "type": "rectangle", + "x": 771.75, + "y": -111.6, + "width": 207.4999999999999, + "height": 66.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1m", + "roundness": { + "type": 3 + }, + "seed": 1079361030, + "version": 4, + "versionNonce": 1532929990, + "isDeleted": true, + "boundElements": [], + "updated": 1775732372470, + "link": null, + "locked": false + }, + { + "id": "nP2EbmoWuBrNMSXvQxVF6", + "type": "arrow", + "x": 721.65, + "y": 48.900000000000006, + "width": 153.75, + "height": 88, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1n", + "roundness": null, + "seed": 1735495002, + "version": 6, + "versionNonce": 219488154, + "isDeleted": true, + "boundElements": null, + "updated": 1775732372470, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -44 + ], + [ + 153.75, + -44 + ], + [ + 153.75, + -88 + ] + ], + "startBinding": { + "elementId": "aas8Z2MRbn-wctPDmyS5e", + "mode": "orbit", + "fixedPoint": [ + 0.4995180722891568, + -0.09022556390977443 + ] + }, + "endBinding": { + "elementId": "taHTdKNEpGF3XgwTmgTVr", + "mode": "orbit", + "fixedPoint": [ + 0.4995180722891568, + 1.0902255639097744 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": true, + "fixedSegments": null, + "startIsSpecial": null, + "endIsSpecial": null + }, + { + "id": "ID9y4pVAybVn0FvMlkKL7", + "type": "rectangle", + "x": 1079.25, + "y": -111.6, + "width": 207.4999999999999, + "height": 66.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#eebefa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1o", + "roundness": { + "type": 3 + }, + "seed": 1962642182, + "version": 4, + "versionNonce": 1375846150, + "isDeleted": true, + "boundElements": [], + "updated": 1775732372470, + "link": null, + "locked": false + }, + { + "id": "ERNlJ-pKIblu3ZlzzHt1w", + "type": "arrow", + "x": 721.65, + "y": 48.900000000000006, + "width": 461.2500000000001, + "height": 88, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1p", + "roundness": null, + "seed": 312152154, + "version": 6, + "versionNonce": 390208602, + "isDeleted": true, + "boundElements": null, + "updated": 1775732372470, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -44 + ], + [ + 461.2500000000001, + -44 + ], + [ + 461.2500000000001, + -88 + ] + ], + "startBinding": { + "elementId": "aas8Z2MRbn-wctPDmyS5e", + "mode": "orbit", + "fixedPoint": [ + 0.4995180722891568, + -0.09022556390977443 + ] + }, + "endBinding": { + "elementId": "ID9y4pVAybVn0FvMlkKL7", + "mode": "orbit", + "fixedPoint": [ + 0.49951807228915734, + 1.0902255639097744 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": true, + "fixedSegments": null, + "startIsSpecial": null, + "endIsSpecial": null + }, + { + "id": "NElQaY5gLTOR6Vh1wpiod", + "type": "rectangle", + "x": 920.75, + "y": -142.770488, + "width": 157.00000000000003, + "height": 66.5, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1q", + "roundness": { + "type": 3 + }, + "seed": 1930779098, + "version": 680, + "versionNonce": 355524678, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "XzMaKGy4zJt_ZMmg6wIIS" + }, + { + "id": "a7ZBWGYRSph2bNSWMl-oz", + "type": "arrow" + } + ], + "updated": 1775733389305, + "link": null, + "locked": false + }, + { + "id": "XzMaKGy4zJt_ZMmg6wIIS", + "type": "text", + "x": 936.716667175293, + "y": -122.020488, + "width": 125.06666564941406, + "height": 25, + "angle": 0, + "strokeColor": "#2f9e44", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1r", + "roundness": null, + "seed": 1036062362, + "version": 702, + "versionNonce": 2081608858, + "isDeleted": false, + "boundElements": [], + "updated": 1775796837154, + "link": null, + "locked": false, + "text": "rolling deploy", + "fontSize": 20, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "NElQaY5gLTOR6Vh1wpiod", + "originalText": "rolling deploy", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "ofNzxys9QTcST0nLWnhSr", + "type": "text", + "x": 594.9333341752929, + "y": -313.25, + "width": 209.06666564941406, + "height": 35, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1s", + "roundness": null, + "seed": 1290154502, + "version": 502, + "versionNonce": 507735750, + "isDeleted": false, + "boundElements": null, + "updated": 1775733437325, + "link": null, + "locked": false, + "text": "pre-deploy hook", + "fontSize": 28, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "pre-deploy hook", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "dCB6Y52RuGTCWRVXHRj3I", + "type": "arrow", + "x": 843, + "y": -108.75, + "width": 27.5, + "height": 7.5, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1t", + "roundness": null, + "seed": 1122006298, + "version": 61, + "versionNonce": 1031265030, + "isDeleted": true, + "boundElements": null, + "updated": 1775732834695, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 27.5, + 7.5 + ] + ], + "startBinding": { + "elementId": "kxvqgPA2CoLg6Gp_o3AaW", + "mode": "inside", + "fixedPoint": [ + 0.9981273408239698, + 0.5095326258064515 + ] + }, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false, + "moveMidPointsWithElement": false + }, + { + "id": "a7ZBWGYRSph2bNSWMl-oz", + "type": "arrow", + "x": 832.9999999999999, + "y": -111.13747496019401, + "width": 81.75000000000011, + "height": 1.5169869601940178, + "angle": 0, + "strokeColor": "#343a40", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1u", + "roundness": { + "type": 2 + }, + "seed": 255162330, + "version": 1063, + "versionNonce": 1053799238, + "isDeleted": false, + "boundElements": [], + "updated": 1775733389305, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 81.75000000000011, + 1.5169869601940178 + ] + ], + "startBinding": { + "elementId": "kxvqgPA2CoLg6Gp_o3AaW", + "mode": "orbit", + "fixedPoint": [ + 1.0224719101123594, + 0.4996774193548387 + ] + }, + "endBinding": { + "elementId": "NElQaY5gLTOR6Vh1wpiod", + "mode": "orbit", + "fixedPoint": [ + -0.03821656050955413, + 0.4984962406015038 + ] + }, + "startArrowhead": null, + "endArrowhead": "triangle", + "elbowed": false, + "moveMidPointsWithElement": false, + "fixedSegments": [ + { + "index": 2, + "start": [ + 102, + 0 + ], + "end": [ + 102, + 10.5 + ] + } + ], + "startIsSpecial": false, + "endIsSpecial": false + }, + { + "id": "XXBk66MPQNanYcem0dc26", + "type": "text", + "x": 954.5999999046326, + "y": -116.55511399999997, + "width": 8.800000190734863, + "height": 20, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1uV", + "roundness": null, + "seed": 659911578, + "version": 18, + "versionNonce": 412391258, + "isDeleted": true, + "boundElements": null, + "updated": 1775732950144, + "link": null, + "locked": false, + "text": "", + "fontSize": 16, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "a7ZBWGYRSph2bNSWMl-oz", + "originalText": "", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "X1IV2xH6r14974oBqbwr8", + "type": "text", + "x": 882.0999999046326, + "y": -129.18628899999996, + "width": 7.300000190734863, + "height": 35, + "angle": 0, + "strokeColor": "#343a40", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1v", + "roundness": null, + "seed": 1808493146, + "version": 3, + "versionNonce": 1087188294, + "isDeleted": true, + "boundElements": null, + "updated": 1775732858459, + "link": null, + "locked": false, + "text": "", + "fontSize": 28, + "fontFamily": 6, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "a7ZBWGYRSph2bNSWMl-oz", + "originalText": "", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "Ci3pzs9w-lfTaSKyiKAv_", + "type": "text", + "x": 840.6000003814697, + "y": -131.75, + "width": 52.79999923706055, + "height": 20, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b1w", + "roundness": null, + "seed": 168063686, + "version": 164, + "versionNonce": 205976646, + "isDeleted": false, + "boundElements": null, + "updated": 1775733356570, + "link": null, + "locked": false, + "text": "exit 0", + "fontSize": 16, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "exit 0", + "autoResize": true, + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": 20, + "gridStep": 5, + "gridModeEnabled": false, + "viewBackgroundColor": "#ffffff", + "lockedMultiSelections": {} + }, + "files": {} +} \ No newline at end of file diff --git a/website/src/css/custom.css b/website/src/css/custom.css index 123e1ec7..c66d87ee 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -34,6 +34,12 @@ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } +/* GitHub-style themed images */ +[data-theme='light'] img[src$='#gh-dark-mode-only'], +[data-theme='dark'] img[src$='#gh-light-mode-only'] { + display: none; +} + .menu { font-size: 0.875rem; font-weight: var(--ifm-font-weight-normal);