1
0
Fork 0
mirror of synced 2024-08-14 17:51:20 +12:00
appwrite/docs/specs/custom-domains.drawio.svg
2020-07-11 16:06:45 +03:00

1 line
No EOL
48 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1121px" viewBox="-0.5 -0.5 1121 809" content="&lt;mxfile host=&quot;fa701460-ea00-420d-9a10-58c5c6ef0c57&quot; modified=&quot;2020-07-11T12:59:55.623Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.47.0 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36&quot; etag=&quot;IBAoEsrBgt8NGzVbOpZO&quot; version=&quot;13.1.3&quot;&gt;&lt;diagram id=&quot;yGhE-bxLbvAmmQa4B8sF&quot; name=&quot;Page-1&quot;&gt;&lt;mxGraphModel dx=&quot;302&quot; dy=&quot;372&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;1200&quot; pageHeight=&quot;1200&quot; background=&quot;none&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&lt;root&gt;&lt;mxCell id=&quot;0&quot;/&gt;&lt;mxCell id=&quot;1&quot; parent=&quot;0&quot;/&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-22&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-1&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-21&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-1&quot; value=&quot;Console&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;400&quot; y=&quot;320&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-28&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-19&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-27&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-19&quot; value=&quot;Domain Verification&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;320&quot; y=&quot;520&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-30&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-27&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-29&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-49&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-27&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-2&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&lt;Array as=&quot;points&quot;&gt;&lt;mxPoint x=&quot;800&quot; y=&quot;620&quot;/&gt;&lt;mxPoint x=&quot;800&quot; y=&quot;160&quot;/&gt;&lt;mxPoint x=&quot;1000&quot; y=&quot;160&quot;/&gt;&lt;/Array&gt;&lt;/mxGeometry&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-27&quot; value=&quot;DNS Validation&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;320&quot; y=&quot;600&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-37&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-29&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-31&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-38&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-29&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-33&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-39&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-29&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-34&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-40&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-29&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-35&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-41&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-29&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-36&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-51&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-29&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-50&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-29&quot; value=&quot;SSL Generator&amp;lt;br&amp;gt;&amp;lt;font style=&amp;quot;font-size: 10px&amp;quot;&amp;gt;(100 hosts per cert)&amp;lt;/font&amp;gt;&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;320&quot; y=&quot;680&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-50&quot; value=&quot;Renewals in 60 days&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;160&quot; y=&quot;680&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-44&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-31&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-10&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-31&quot; value=&quot;Cert 1&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;260&quot; y=&quot;760&quot; width=&quot;40&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-14&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-12&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-1&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-15&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-12&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-9&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-12&quot; value=&quot;appwrite.io&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;520&quot; y=&quot;200&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-5&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-2&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-4&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-8&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-2&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-6&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-2&quot; value=&quot;DNS Server&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;940&quot; y=&quot;200&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-4&quot; value=&quot;CNAME Record&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;840&quot; y=&quot;320&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-6&quot; value=&quot;TXT Record&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;1040&quot; y=&quot;320&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-11&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-9&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-10&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-9&quot; value=&quot;Loadbalancer&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;640&quot; y=&quot;320&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-10&quot; value=&quot;SSL Certificates&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;640&quot; y=&quot;440&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-17&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-16&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-12&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&lt;Array as=&quot;points&quot;&gt;&lt;mxPoint x=&quot;220&quot; y=&quot;160&quot;/&gt;&lt;mxPoint x=&quot;580&quot; y=&quot;160&quot;/&gt;&lt;/Array&gt;&lt;/mxGeometry&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-18&quot; value=&quot;&amp;amp;nbsp; &amp;amp;nbsp; appwrite.demoapp.com/v1&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&quot; style=&quot;text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;labelBorderColor=none;fontColor=#;&quot; parent=&quot;7Wyw-BhCzhfnSJz2-0qM-17&quot; vertex=&quot;1&quot; connectable=&quot;0&quot;&gt;&lt;mxGeometry x=&quot;-0.0182&quot; y=&quot;3&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&lt;mxPoint as=&quot;offset&quot;/&gt;&lt;/mxGeometry&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-16&quot; value=&quot;demoapp.com&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;160&quot; y=&quot;200&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-24&quot; value=&quot;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-21&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-23&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-21&quot; value=&quot;Platforms&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;480&quot; y=&quot;440&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-57&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fontColor=#333333;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-55&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-1&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-58&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontColor=#333333;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-55&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-19&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-55&quot; value=&quot;Custom Domains&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;320&quot; y=&quot;440&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-25&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-23&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-19&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-23&quot; value=&quot;Web&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;480&quot; y=&quot;520&quot; width=&quot;120&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-45&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-33&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-10&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-33&quot; value=&quot;Cert 2&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;310&quot; y=&quot;760&quot; width=&quot;40&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-46&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-34&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&lt;mxPoint x=&quot;700&quot; y=&quot;480&quot; as=&quot;targetPoint&quot;/&gt;&lt;/mxGeometry&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-34&quot; value=&quot;Cert 3&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;360&quot; y=&quot;760&quot; width=&quot;40&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-47&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-35&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-10&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-35&quot; value=&quot;Cert 4&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;410&quot; y=&quot;760&quot; width=&quot;40&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-48&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;labelBorderColor=none;&quot; parent=&quot;1&quot; source=&quot;7Wyw-BhCzhfnSJz2-0qM-36&quot; target=&quot;7Wyw-BhCzhfnSJz2-0qM-10&quot; edge=&quot;1&quot;&gt;&lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-36&quot; value=&quot;Cert 5&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;labelBorderColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;460&quot; y=&quot;760&quot; width=&quot;40&quot; height=&quot;40&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;mxCell id=&quot;7Wyw-BhCzhfnSJz2-0qM-54&quot; value=&quot;&amp;lt;h1&amp;gt;Custom Domains&amp;lt;/h1&amp;gt;&amp;lt;p&amp;gt;Specification for adding, validating and generating custom domains&amp;lt;br&amp;gt;and SSL certificates for the Appwrite API.&amp;lt;/p&amp;gt;&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&lt;mxGeometry x=&quot;40&quot; y=&quot;30&quot; width=&quot;370&quot; height=&quot;90&quot; as=&quot;geometry&quot;/&gt;&lt;/mxCell&gt;&lt;/root&gt;&lt;/mxGraphModel&gt;&lt;/diagram&gt;&lt;/mxfile&gt;" onclick="(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&amp;&amp;src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&amp;&amp;!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&amp;&amp;evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://app.diagrams.net/?client=1&amp;lightbox=1&amp;edit=_blank');}}})(this);" style="cursor:pointer;max-width:100%;max-height:809px;"><defs/><g><path d="M 420 340 L 420 380 L 500 380 L 500 413.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 500 418.88 L 496.5 411.88 L 500 413.63 L 503.5 411.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="360" y="300" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 320px; margin-left: 361px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Console</div></div></div></foreignObject><text x="420" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Console</text></switch></g><path d="M 340 540 L 340 573.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 340 578.88 L 336.5 571.88 L 340 573.63 L 343.5 571.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="280" y="500" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 520px; margin-left: 281px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Domain Verification</div></div></div></foreignObject><text x="340" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Domain Verification</text></switch></g><path d="M 340 620 L 340 653.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 340 658.88 L 336.5 651.88 L 340 653.63 L 343.5 651.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 400 600 L 760 600 L 760 140 L 960 140 L 960 173.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 960 178.88 L 956.5 171.88 L 960 173.63 L 963.5 171.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="280" y="580" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 600px; margin-left: 281px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">DNS Validation</div></div></div></foreignObject><text x="340" y="604" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">DNS Validation</text></switch></g><path d="M 340 700 L 340 720 L 240 720 L 240 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 240 738.88 L 236.5 731.88 L 240 733.63 L 243.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 700 L 340 720 L 290 720 L 290 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 290 738.88 L 286.5 731.88 L 290 733.63 L 293.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 700 L 340 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 340 738.88 L 336.5 731.88 L 340 733.63 L 343.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 700 L 340 720 L 390 720 L 390 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 390 738.88 L 386.5 731.88 L 390 733.63 L 393.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 700 L 340 720 L 440 720 L 440 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 440 738.88 L 436.5 731.88 L 440 733.63 L 443.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 280 680 L 246.37 680" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 241.12 680 L 248.12 676.5 L 246.37 680 L 248.12 683.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="280" y="660" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 680px; margin-left: 281px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">SSL Generator<br /><font style="font-size: 10px">(100 hosts per cert)</font></div></div></div></foreignObject><text x="340" y="684" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SSL Generator...</text></switch></g><rect x="120" y="660" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 680px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Renewals in 60 days</div></div></div></foreignObject><text x="180" y="684" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Renewals in 60 days</text></switch></g><path d="M 240 780 L 240 800 L 660 800 L 660 466.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 660 461.12 L 663.5 468.12 L 660 466.37 L 656.5 468.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="220" y="740" width="40" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 760px; margin-left: 221px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Cert 1</div></div></div></foreignObject><text x="240" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Cert 1</text></switch></g><path d="M 540 220 L 540 260 L 420 260 L 420 293.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 420 298.88 L 416.5 291.88 L 420 293.63 L 423.5 291.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 540 220 L 540 260 L 660 260 L 660 293.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 660 298.88 L 656.5 291.88 L 660 293.63 L 663.5 291.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="480" y="180" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 200px; margin-left: 481px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">appwrite.io</div></div></div></foreignObject><text x="540" y="204" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">appwrite.io</text></switch></g><path d="M 960 220 L 960 260 L 860 260 L 860 293.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 860 298.88 L 856.5 291.88 L 860 293.63 L 863.5 291.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 960 220 L 960 260 L 1060 260 L 1060 293.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1060 298.88 L 1056.5 291.88 L 1060 293.63 L 1063.5 291.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="900" y="180" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 200px; margin-left: 901px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">DNS Server</div></div></div></foreignObject><text x="960" y="204" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">DNS Server</text></switch></g><rect x="800" y="300" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 320px; margin-left: 801px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">CNAME Record</div></div></div></foreignObject><text x="860" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">CNAME Record</text></switch></g><rect x="1000" y="300" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 320px; margin-left: 1001px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">TXT Record</div></div></div></foreignObject><text x="1060" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">TXT Record</text></switch></g><path d="M 660 340 L 660 413.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 660 418.88 L 656.5 411.88 L 660 413.63 L 663.5 411.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="600" y="300" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 320px; margin-left: 601px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Loadbalancer</div></div></div></foreignObject><text x="660" y="324" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Loadbalancer</text></switch></g><rect x="600" y="420" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 440px; margin-left: 601px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">SSL Certificates</div></div></div></foreignObject><text x="660" y="444" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">SSL Certificates</text></switch></g><path d="M 180 180 L 180 140 L 540 140 L 540 173.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 540 178.88 L 536.5 171.88 L 540 173.63 L 543.5 171.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 138px; margin-left: 357px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #; line-height: 1.2; pointer-events: all; white-space: nowrap; ">    appwrite.demoapp.com/v1    </div></div></div></foreignObject><text x="357" y="141" fill="#" font-family="Helvetica" font-size="12px" text-anchor="middle">    appwrite.demoapp.com/v1    </text></switch></g><rect x="120" y="180" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 200px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">demoapp.com</div></div></div></foreignObject><text x="180" y="204" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">demoapp.com</text></switch></g><path d="M 500 460 L 500 493.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 500 498.88 L 496.5 491.88 L 500 493.63 L 503.5 491.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="440" y="420" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 440px; margin-left: 441px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Platforms</div></div></div></foreignObject><text x="500" y="444" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Platforms</text></switch></g><path d="M 340 420 L 340 380 L 420 380 L 420 346.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 420 341.12 L 423.5 348.12 L 420 346.37 L 416.5 348.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 460 L 340 493.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 340 498.88 L 336.5 491.88 L 340 493.63 L 343.5 491.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="280" y="420" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 440px; margin-left: 281px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Custom Domains</div></div></div></foreignObject><text x="340" y="444" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Custom Domains</text></switch></g><path d="M 440 520 L 406.37 520" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 401.12 520 L 408.12 516.5 L 406.37 520 L 408.12 523.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="440" y="500" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 520px; margin-left: 441px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Web</div></div></div></foreignObject><text x="500" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Web</text></switch></g><path d="M 290 780 L 290 800 L 660 800 L 660 466.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 660 461.12 L 663.5 468.12 L 660 466.37 L 656.5 468.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="270" y="740" width="40" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 760px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Cert 2</div></div></div></foreignObject><text x="290" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Cert 2</text></switch></g><path d="M 340 780 L 340 800 L 660 800 L 660 466.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 660 461.12 L 663.5 468.12 L 660 466.37 L 656.5 468.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="320" y="740" width="40" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 760px; margin-left: 321px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Cert 3</div></div></div></foreignObject><text x="340" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Cert 3</text></switch></g><path d="M 390 780 L 390 800 L 660 800 L 660 466.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 660 461.12 L 663.5 468.12 L 660 466.37 L 656.5 468.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="370" y="740" width="40" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 760px; margin-left: 371px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Cert 4</div></div></div></foreignObject><text x="390" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Cert 4</text></switch></g><path d="M 440 780 L 440 800 L 660 800 L 660 466.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 660 461.12 L 663.5 468.12 L 660 466.37 L 656.5 468.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="420" y="740" width="40" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 760px; margin-left: 421px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Cert 5</div></div></div></foreignObject><text x="440" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Cert 5</text></switch></g><rect x="0" y="10" width="370" height="90" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 0px; margin-left: 5px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 100px; overflow: hidden; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><h1>Custom Domains</h1><p>Specification for adding, validating and generating custom domains<br />and SSL certificates for the Appwrite API.</p></div></div></div></foreignObject><text x="5" y="12" fill="#000000" font-family="Helvetica" font-size="12px">Custom Domains...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>