From 7ee3abf988c1298b0a0bcf718c6e2f440673cd4f Mon Sep 17 00:00:00 2001
From: Mark Phelps <209477+markphelps@users.noreply.github.com>
Date: Mon, 17 Jun 2024 11:29:55 -0400
Subject: [PATCH] chore: update cloud technical architecture docs/images (#234)
Signed-off-by: Mark Phelps <209477+markphelps@users.noreply.github.com>
---
cloud/architecture/overview.mdx | 12 +-
.../architecture-overview-dark.svg | 334 +++++++++---------
.../architecture-overview-light.svg | 190 +++++-----
.../architecture/architecture-overview.d2 | 4 +-
.../common-infrastructure-dark.svg | 2 +-
.../common-infrastructure-light.svg | 2 +-
images/cloud/architecture/handshake-dark.svg | 316 ++++++++---------
images/cloud/architecture/handshake-light.svg | 172 ++++-----
images/cloud/architecture/handshake.d2 | 6 +-
9 files changed, 521 insertions(+), 517 deletions(-)
diff --git a/cloud/architecture/overview.mdx b/cloud/architecture/overview.mdx
index a51feae..f8bab4f 100644
--- a/cloud/architecture/overview.mdx
+++ b/cloud/architecture/overview.mdx
@@ -56,13 +56,17 @@ When you register your instance in this way with Flipt Cloud, we issue you with
Using this DNS name, requests for your instances will flow though our API gateways, load-balancers and then only reach your instances once fully authenticated.
+
+Instances, environments, gateways.. what's the difference? Check out our [concepts](/cloud/concepts) page for more details.
+
+
This entire process is performed over secure TLS connections from your end users back to your instances.
All of which is done without you having to provide TLS certificates, and without having to manage certificate rotation.
## Tunnel Registration
Your connections are made using an API key credential obtained from our Flipt Cloud UI, or via the `flipt cloud login` sub-command of the Flipt CLI.
-This credential is used in an initial handshake to identify your Flipt Cloud organization and the logical instance your Flipt is joining.
+This credential is used in an initial handshake to identify your Flipt Cloud organization and the logical environment your Flipt is joining.
-Once registered and associated with Flipt Cloud, your Flipt instance is added to our remote load balancer pool for your logical instance.
-Now when you visit your new Flipt Cloud instance subdomain, your requests are routed to the instances deployed on your infrastructure.
+Once registered and associated with Flipt Cloud, your Flipt instance is added to our remote load balancer pool for your logical environment.
+Now when you visit your new Flipt Cloud environment subdomain, your requests are routed to the instances deployed on your infrastructure.
The majority of the tunneling functionality we perform is provided by our open-source project [Reverst](https://github.com/flipt-io/reverst).
Reverst is unique in that it leverages HTTP/3 and the QUIC protocol to establish secure, reliable, and performant connections for tunnels.
Check out our [blog post](https://blog.flipt.io/so-we-built-reverst) on how and why we chose to build our reverse tunnels in this way.
-We deploy and scale multiple instances of Reverst on our infrastructure for establishing and managing these tunnels for you, all while tightly integrating them with the Flipt Cloud user interface, authentication, and instance management system.
+We deploy and scale multiple instances of Reverst on our infrastructure for establishing and managing these tunnels for you, all while tightly integrating them with the Flipt Cloud user interface, authentication, and environment management system.
Have more questions about how Flipt Cloud works? Join our [Discord](https://flipt.io/discord) and ask away! We're always happy to help.
diff --git a/images/cloud/architecture/architecture-overview-dark.svg b/images/cloud/architecture/architecture-overview-dark.svg
index e1573d6..a53c6fc 100644
--- a/images/cloud/architecture/architecture-overview-dark.svg
+++ b/images/cloud/architecture/architecture-overview-dark.svg
@@ -1,24 +1,24 @@
-
diff --git a/images/cloud/architecture/architecture-overview-light.svg b/images/cloud/architecture/architecture-overview-light.svg
index 40b1973..858315d 100644
--- a/images/cloud/architecture/architecture-overview-light.svg
+++ b/images/cloud/architecture/architecture-overview-light.svg
@@ -1,24 +1,24 @@
-internetYour InfrastructureQUICGatewayFlipt CloudReverst flipt.cloudinstance-org.flipt.cloudflipt.cloudinstance-org.flipt.cloud
-
+ .d2-1885028736 .fill-N1{fill:#0A0F25;}
+ .d2-1885028736 .fill-N2{fill:#676C7E;}
+ .d2-1885028736 .fill-N3{fill:#9499AB;}
+ .d2-1885028736 .fill-N4{fill:#CFD2DD;}
+ .d2-1885028736 .fill-N5{fill:#DEE1EB;}
+ .d2-1885028736 .fill-N6{fill:#EEF1F8;}
+ .d2-1885028736 .fill-N7{fill:#FFFFFF;}
+ .d2-1885028736 .fill-B1{fill:#0D32B2;}
+ .d2-1885028736 .fill-B2{fill:#0D32B2;}
+ .d2-1885028736 .fill-B3{fill:#E3E9FD;}
+ .d2-1885028736 .fill-B4{fill:#E3E9FD;}
+ .d2-1885028736 .fill-B5{fill:#EDF0FD;}
+ .d2-1885028736 .fill-B6{fill:#F7F8FE;}
+ .d2-1885028736 .fill-AA2{fill:#4A6FF3;}
+ .d2-1885028736 .fill-AA4{fill:#EDF0FD;}
+ .d2-1885028736 .fill-AA5{fill:#F7F8FE;}
+ .d2-1885028736 .fill-AB4{fill:#EDF0FD;}
+ .d2-1885028736 .fill-AB5{fill:#F7F8FE;}
+ .d2-1885028736 .stroke-N1{stroke:#0A0F25;}
+ .d2-1885028736 .stroke-N2{stroke:#676C7E;}
+ .d2-1885028736 .stroke-N3{stroke:#9499AB;}
+ .d2-1885028736 .stroke-N4{stroke:#CFD2DD;}
+ .d2-1885028736 .stroke-N5{stroke:#DEE1EB;}
+ .d2-1885028736 .stroke-N6{stroke:#EEF1F8;}
+ .d2-1885028736 .stroke-N7{stroke:#FFFFFF;}
+ .d2-1885028736 .stroke-B1{stroke:#0D32B2;}
+ .d2-1885028736 .stroke-B2{stroke:#0D32B2;}
+ .d2-1885028736 .stroke-B3{stroke:#E3E9FD;}
+ .d2-1885028736 .stroke-B4{stroke:#E3E9FD;}
+ .d2-1885028736 .stroke-B5{stroke:#EDF0FD;}
+ .d2-1885028736 .stroke-B6{stroke:#F7F8FE;}
+ .d2-1885028736 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-1885028736 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-1885028736 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-1885028736 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-1885028736 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-1885028736 .background-color-N1{background-color:#0A0F25;}
+ .d2-1885028736 .background-color-N2{background-color:#676C7E;}
+ .d2-1885028736 .background-color-N3{background-color:#9499AB;}
+ .d2-1885028736 .background-color-N4{background-color:#CFD2DD;}
+ .d2-1885028736 .background-color-N5{background-color:#DEE1EB;}
+ .d2-1885028736 .background-color-N6{background-color:#EEF1F8;}
+ .d2-1885028736 .background-color-N7{background-color:#FFFFFF;}
+ .d2-1885028736 .background-color-B1{background-color:#0D32B2;}
+ .d2-1885028736 .background-color-B2{background-color:#0D32B2;}
+ .d2-1885028736 .background-color-B3{background-color:#E3E9FD;}
+ .d2-1885028736 .background-color-B4{background-color:#E3E9FD;}
+ .d2-1885028736 .background-color-B5{background-color:#EDF0FD;}
+ .d2-1885028736 .background-color-B6{background-color:#F7F8FE;}
+ .d2-1885028736 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-1885028736 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-1885028736 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-1885028736 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-1885028736 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-1885028736 .color-N1{color:#0A0F25;}
+ .d2-1885028736 .color-N2{color:#676C7E;}
+ .d2-1885028736 .color-N3{color:#9499AB;}
+ .d2-1885028736 .color-N4{color:#CFD2DD;}
+ .d2-1885028736 .color-N5{color:#DEE1EB;}
+ .d2-1885028736 .color-N6{color:#EEF1F8;}
+ .d2-1885028736 .color-N7{color:#FFFFFF;}
+ .d2-1885028736 .color-B1{color:#0D32B2;}
+ .d2-1885028736 .color-B2{color:#0D32B2;}
+ .d2-1885028736 .color-B3{color:#E3E9FD;}
+ .d2-1885028736 .color-B4{color:#E3E9FD;}
+ .d2-1885028736 .color-B5{color:#EDF0FD;}
+ .d2-1885028736 .color-B6{color:#F7F8FE;}
+ .d2-1885028736 .color-AA2{color:#4A6FF3;}
+ .d2-1885028736 .color-AA4{color:#EDF0FD;}
+ .d2-1885028736 .color-AA5{color:#F7F8FE;}
+ .d2-1885028736 .color-AB4{color:#EDF0FD;}
+ .d2-1885028736 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>internetYour InfrastructureQUICGatewayFlipt CloudReverst flipt.cloudenvironment-org.flipt.cloudflipt.cloudenvironment-org.flipt.cloud
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/images/cloud/architecture/architecture-overview.d2 b/images/cloud/architecture/architecture-overview.d2
index f232e70..ee3b006 100644
--- a/images/cloud/architecture/architecture-overview.d2
+++ b/images/cloud/architecture/architecture-overview.d2
@@ -18,7 +18,7 @@ internet: {
internet -> cloud.gateway: flipt.cloud {
style.font-size: 32
}
-internet -> cloud.gateway: instance-org.flipt.cloud {
+internet -> cloud.gateway: environment-org.flipt.cloud {
style.font-size: 32
}
@@ -47,7 +47,7 @@ cloud: "" {
icon: https://icons.terrastruct.com/infra%2F012-data.svg
style.font-size: 32
}
- gateway -> reverst: instance-org.flipt.cloud {
+ gateway -> reverst: environment-org.flipt.cloud {
style.font-size: 32
}
}
diff --git a/images/cloud/architecture/common-infrastructure-dark.svg b/images/cloud/architecture/common-infrastructure-dark.svg
index 954adaf..eec881b 100644
--- a/images/cloud/architecture/common-infrastructure-dark.svg
+++ b/images/cloud/architecture/common-infrastructure-dark.svg
@@ -1,4 +1,4 @@
-FliptFlipt CloudFlipt UserFlipt registers on flipt.cloudInstance served on flipt.cloudtunnelled request Register TunnelRegisteredinstance-org.flipt.cloudRequestResponseResponse
-
+ .d2-2158480223 .fill-N1{fill:#0A0F25;}
+ .d2-2158480223 .fill-N2{fill:#676C7E;}
+ .d2-2158480223 .fill-N3{fill:#9499AB;}
+ .d2-2158480223 .fill-N4{fill:#CFD2DD;}
+ .d2-2158480223 .fill-N5{fill:#DEE1EB;}
+ .d2-2158480223 .fill-N6{fill:#EEF1F8;}
+ .d2-2158480223 .fill-N7{fill:#FFFFFF;}
+ .d2-2158480223 .fill-B1{fill:#0D32B2;}
+ .d2-2158480223 .fill-B2{fill:#0D32B2;}
+ .d2-2158480223 .fill-B3{fill:#E3E9FD;}
+ .d2-2158480223 .fill-B4{fill:#E3E9FD;}
+ .d2-2158480223 .fill-B5{fill:#EDF0FD;}
+ .d2-2158480223 .fill-B6{fill:#F7F8FE;}
+ .d2-2158480223 .fill-AA2{fill:#4A6FF3;}
+ .d2-2158480223 .fill-AA4{fill:#EDF0FD;}
+ .d2-2158480223 .fill-AA5{fill:#F7F8FE;}
+ .d2-2158480223 .fill-AB4{fill:#EDF0FD;}
+ .d2-2158480223 .fill-AB5{fill:#F7F8FE;}
+ .d2-2158480223 .stroke-N1{stroke:#0A0F25;}
+ .d2-2158480223 .stroke-N2{stroke:#676C7E;}
+ .d2-2158480223 .stroke-N3{stroke:#9499AB;}
+ .d2-2158480223 .stroke-N4{stroke:#CFD2DD;}
+ .d2-2158480223 .stroke-N5{stroke:#DEE1EB;}
+ .d2-2158480223 .stroke-N6{stroke:#EEF1F8;}
+ .d2-2158480223 .stroke-N7{stroke:#FFFFFF;}
+ .d2-2158480223 .stroke-B1{stroke:#0D32B2;}
+ .d2-2158480223 .stroke-B2{stroke:#0D32B2;}
+ .d2-2158480223 .stroke-B3{stroke:#E3E9FD;}
+ .d2-2158480223 .stroke-B4{stroke:#E3E9FD;}
+ .d2-2158480223 .stroke-B5{stroke:#EDF0FD;}
+ .d2-2158480223 .stroke-B6{stroke:#F7F8FE;}
+ .d2-2158480223 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-2158480223 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-2158480223 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-2158480223 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-2158480223 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-2158480223 .background-color-N1{background-color:#0A0F25;}
+ .d2-2158480223 .background-color-N2{background-color:#676C7E;}
+ .d2-2158480223 .background-color-N3{background-color:#9499AB;}
+ .d2-2158480223 .background-color-N4{background-color:#CFD2DD;}
+ .d2-2158480223 .background-color-N5{background-color:#DEE1EB;}
+ .d2-2158480223 .background-color-N6{background-color:#EEF1F8;}
+ .d2-2158480223 .background-color-N7{background-color:#FFFFFF;}
+ .d2-2158480223 .background-color-B1{background-color:#0D32B2;}
+ .d2-2158480223 .background-color-B2{background-color:#0D32B2;}
+ .d2-2158480223 .background-color-B3{background-color:#E3E9FD;}
+ .d2-2158480223 .background-color-B4{background-color:#E3E9FD;}
+ .d2-2158480223 .background-color-B5{background-color:#EDF0FD;}
+ .d2-2158480223 .background-color-B6{background-color:#F7F8FE;}
+ .d2-2158480223 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-2158480223 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-2158480223 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-2158480223 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-2158480223 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-2158480223 .color-N1{color:#0A0F25;}
+ .d2-2158480223 .color-N2{color:#676C7E;}
+ .d2-2158480223 .color-N3{color:#9499AB;}
+ .d2-2158480223 .color-N4{color:#CFD2DD;}
+ .d2-2158480223 .color-N5{color:#DEE1EB;}
+ .d2-2158480223 .color-N6{color:#EEF1F8;}
+ .d2-2158480223 .color-N7{color:#FFFFFF;}
+ .d2-2158480223 .color-B1{color:#0D32B2;}
+ .d2-2158480223 .color-B2{color:#0D32B2;}
+ .d2-2158480223 .color-B3{color:#E3E9FD;}
+ .d2-2158480223 .color-B4{color:#E3E9FD;}
+ .d2-2158480223 .color-B5{color:#EDF0FD;}
+ .d2-2158480223 .color-B6{color:#F7F8FE;}
+ .d2-2158480223 .color-AA2{color:#4A6FF3;}
+ .d2-2158480223 .color-AA4{color:#EDF0FD;}
+ .d2-2158480223 .color-AA5{color:#F7F8FE;}
+ .d2-2158480223 .color-AB4{color:#EDF0FD;}
+ .d2-2158480223 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+ .d2-2158480223 .fill-N1{fill:#CDD6F4;}
+ .d2-2158480223 .fill-N2{fill:#BAC2DE;}
+ .d2-2158480223 .fill-N3{fill:#A6ADC8;}
+ .d2-2158480223 .fill-N4{fill:#585B70;}
+ .d2-2158480223 .fill-N5{fill:#45475A;}
+ .d2-2158480223 .fill-N6{fill:#313244;}
+ .d2-2158480223 .fill-N7{fill:#1E1E2E;}
+ .d2-2158480223 .fill-B1{fill:#CBA6f7;}
+ .d2-2158480223 .fill-B2{fill:#CBA6f7;}
+ .d2-2158480223 .fill-B3{fill:#6C7086;}
+ .d2-2158480223 .fill-B4{fill:#585B70;}
+ .d2-2158480223 .fill-B5{fill:#45475A;}
+ .d2-2158480223 .fill-B6{fill:#313244;}
+ .d2-2158480223 .fill-AA2{fill:#f38BA8;}
+ .d2-2158480223 .fill-AA4{fill:#45475A;}
+ .d2-2158480223 .fill-AA5{fill:#313244;}
+ .d2-2158480223 .fill-AB4{fill:#45475A;}
+ .d2-2158480223 .fill-AB5{fill:#313244;}
+ .d2-2158480223 .stroke-N1{stroke:#CDD6F4;}
+ .d2-2158480223 .stroke-N2{stroke:#BAC2DE;}
+ .d2-2158480223 .stroke-N3{stroke:#A6ADC8;}
+ .d2-2158480223 .stroke-N4{stroke:#585B70;}
+ .d2-2158480223 .stroke-N5{stroke:#45475A;}
+ .d2-2158480223 .stroke-N6{stroke:#313244;}
+ .d2-2158480223 .stroke-N7{stroke:#1E1E2E;}
+ .d2-2158480223 .stroke-B1{stroke:#CBA6f7;}
+ .d2-2158480223 .stroke-B2{stroke:#CBA6f7;}
+ .d2-2158480223 .stroke-B3{stroke:#6C7086;}
+ .d2-2158480223 .stroke-B4{stroke:#585B70;}
+ .d2-2158480223 .stroke-B5{stroke:#45475A;}
+ .d2-2158480223 .stroke-B6{stroke:#313244;}
+ .d2-2158480223 .stroke-AA2{stroke:#f38BA8;}
+ .d2-2158480223 .stroke-AA4{stroke:#45475A;}
+ .d2-2158480223 .stroke-AA5{stroke:#313244;}
+ .d2-2158480223 .stroke-AB4{stroke:#45475A;}
+ .d2-2158480223 .stroke-AB5{stroke:#313244;}
+ .d2-2158480223 .background-color-N1{background-color:#CDD6F4;}
+ .d2-2158480223 .background-color-N2{background-color:#BAC2DE;}
+ .d2-2158480223 .background-color-N3{background-color:#A6ADC8;}
+ .d2-2158480223 .background-color-N4{background-color:#585B70;}
+ .d2-2158480223 .background-color-N5{background-color:#45475A;}
+ .d2-2158480223 .background-color-N6{background-color:#313244;}
+ .d2-2158480223 .background-color-N7{background-color:#1E1E2E;}
+ .d2-2158480223 .background-color-B1{background-color:#CBA6f7;}
+ .d2-2158480223 .background-color-B2{background-color:#CBA6f7;}
+ .d2-2158480223 .background-color-B3{background-color:#6C7086;}
+ .d2-2158480223 .background-color-B4{background-color:#585B70;}
+ .d2-2158480223 .background-color-B5{background-color:#45475A;}
+ .d2-2158480223 .background-color-B6{background-color:#313244;}
+ .d2-2158480223 .background-color-AA2{background-color:#f38BA8;}
+ .d2-2158480223 .background-color-AA4{background-color:#45475A;}
+ .d2-2158480223 .background-color-AA5{background-color:#313244;}
+ .d2-2158480223 .background-color-AB4{background-color:#45475A;}
+ .d2-2158480223 .background-color-AB5{background-color:#313244;}
+ .d2-2158480223 .color-N1{color:#CDD6F4;}
+ .d2-2158480223 .color-N2{color:#BAC2DE;}
+ .d2-2158480223 .color-N3{color:#A6ADC8;}
+ .d2-2158480223 .color-N4{color:#585B70;}
+ .d2-2158480223 .color-N5{color:#45475A;}
+ .d2-2158480223 .color-N6{color:#313244;}
+ .d2-2158480223 .color-N7{color:#1E1E2E;}
+ .d2-2158480223 .color-B1{color:#CBA6f7;}
+ .d2-2158480223 .color-B2{color:#CBA6f7;}
+ .d2-2158480223 .color-B3{color:#6C7086;}
+ .d2-2158480223 .color-B4{color:#585B70;}
+ .d2-2158480223 .color-B5{color:#45475A;}
+ .d2-2158480223 .color-B6{color:#313244;}
+ .d2-2158480223 .color-AA2{color:#f38BA8;}
+ .d2-2158480223 .color-AA4{color:#45475A;}
+ .d2-2158480223 .color-AA5{color:#313244;}
+ .d2-2158480223 .color-AB4{color:#45475A;}
+ .d2-2158480223 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>FliptFlipt CloudFlipt UserFlipt registers on flipt.cloudInstance served on flipt.cloudTunnelled request Register TunnelRegisteredenvironment-org.flipt.cloudRequestResponseResponse
+
-
+
-
+
-
+
-
+
diff --git a/images/cloud/architecture/handshake-light.svg b/images/cloud/architecture/handshake-light.svg
index 219cf9e..1e82c11 100644
--- a/images/cloud/architecture/handshake-light.svg
+++ b/images/cloud/architecture/handshake-light.svg
@@ -1,17 +1,17 @@
-FliptFlipt CloudFlipt UserFlipt registers on flipt.cloudInstance served on flipt.cloudtunnelled request Register TunnelRegisteredinstance-org.flipt.cloudRequestResponseResponse
-
+ .d2-2158480223 .fill-N1{fill:#0A0F25;}
+ .d2-2158480223 .fill-N2{fill:#676C7E;}
+ .d2-2158480223 .fill-N3{fill:#9499AB;}
+ .d2-2158480223 .fill-N4{fill:#CFD2DD;}
+ .d2-2158480223 .fill-N5{fill:#DEE1EB;}
+ .d2-2158480223 .fill-N6{fill:#EEF1F8;}
+ .d2-2158480223 .fill-N7{fill:#FFFFFF;}
+ .d2-2158480223 .fill-B1{fill:#0D32B2;}
+ .d2-2158480223 .fill-B2{fill:#0D32B2;}
+ .d2-2158480223 .fill-B3{fill:#E3E9FD;}
+ .d2-2158480223 .fill-B4{fill:#E3E9FD;}
+ .d2-2158480223 .fill-B5{fill:#EDF0FD;}
+ .d2-2158480223 .fill-B6{fill:#F7F8FE;}
+ .d2-2158480223 .fill-AA2{fill:#4A6FF3;}
+ .d2-2158480223 .fill-AA4{fill:#EDF0FD;}
+ .d2-2158480223 .fill-AA5{fill:#F7F8FE;}
+ .d2-2158480223 .fill-AB4{fill:#EDF0FD;}
+ .d2-2158480223 .fill-AB5{fill:#F7F8FE;}
+ .d2-2158480223 .stroke-N1{stroke:#0A0F25;}
+ .d2-2158480223 .stroke-N2{stroke:#676C7E;}
+ .d2-2158480223 .stroke-N3{stroke:#9499AB;}
+ .d2-2158480223 .stroke-N4{stroke:#CFD2DD;}
+ .d2-2158480223 .stroke-N5{stroke:#DEE1EB;}
+ .d2-2158480223 .stroke-N6{stroke:#EEF1F8;}
+ .d2-2158480223 .stroke-N7{stroke:#FFFFFF;}
+ .d2-2158480223 .stroke-B1{stroke:#0D32B2;}
+ .d2-2158480223 .stroke-B2{stroke:#0D32B2;}
+ .d2-2158480223 .stroke-B3{stroke:#E3E9FD;}
+ .d2-2158480223 .stroke-B4{stroke:#E3E9FD;}
+ .d2-2158480223 .stroke-B5{stroke:#EDF0FD;}
+ .d2-2158480223 .stroke-B6{stroke:#F7F8FE;}
+ .d2-2158480223 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-2158480223 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-2158480223 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-2158480223 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-2158480223 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-2158480223 .background-color-N1{background-color:#0A0F25;}
+ .d2-2158480223 .background-color-N2{background-color:#676C7E;}
+ .d2-2158480223 .background-color-N3{background-color:#9499AB;}
+ .d2-2158480223 .background-color-N4{background-color:#CFD2DD;}
+ .d2-2158480223 .background-color-N5{background-color:#DEE1EB;}
+ .d2-2158480223 .background-color-N6{background-color:#EEF1F8;}
+ .d2-2158480223 .background-color-N7{background-color:#FFFFFF;}
+ .d2-2158480223 .background-color-B1{background-color:#0D32B2;}
+ .d2-2158480223 .background-color-B2{background-color:#0D32B2;}
+ .d2-2158480223 .background-color-B3{background-color:#E3E9FD;}
+ .d2-2158480223 .background-color-B4{background-color:#E3E9FD;}
+ .d2-2158480223 .background-color-B5{background-color:#EDF0FD;}
+ .d2-2158480223 .background-color-B6{background-color:#F7F8FE;}
+ .d2-2158480223 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-2158480223 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-2158480223 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-2158480223 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-2158480223 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-2158480223 .color-N1{color:#0A0F25;}
+ .d2-2158480223 .color-N2{color:#676C7E;}
+ .d2-2158480223 .color-N3{color:#9499AB;}
+ .d2-2158480223 .color-N4{color:#CFD2DD;}
+ .d2-2158480223 .color-N5{color:#DEE1EB;}
+ .d2-2158480223 .color-N6{color:#EEF1F8;}
+ .d2-2158480223 .color-N7{color:#FFFFFF;}
+ .d2-2158480223 .color-B1{color:#0D32B2;}
+ .d2-2158480223 .color-B2{color:#0D32B2;}
+ .d2-2158480223 .color-B3{color:#E3E9FD;}
+ .d2-2158480223 .color-B4{color:#E3E9FD;}
+ .d2-2158480223 .color-B5{color:#EDF0FD;}
+ .d2-2158480223 .color-B6{color:#F7F8FE;}
+ .d2-2158480223 .color-AA2{color:#4A6FF3;}
+ .d2-2158480223 .color-AA4{color:#EDF0FD;}
+ .d2-2158480223 .color-AA5{color:#F7F8FE;}
+ .d2-2158480223 .color-AB4{color:#EDF0FD;}
+ .d2-2158480223 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>FliptFlipt CloudFlipt UserFlipt registers on flipt.cloudInstance served on flipt.cloudTunnelled request Register TunnelRegisteredenvironment-org.flipt.cloudRequestResponseResponse
+
-
+
-
+
-
+
-
+
diff --git a/images/cloud/architecture/handshake.d2 b/images/cloud/architecture/handshake.d2
index 318762c..aa2ef63 100644
--- a/images/cloud/architecture/handshake.d2
+++ b/images/cloud/architecture/handshake.d2
@@ -12,9 +12,9 @@ register: Flipt registers on flipt.cloud {
user: Flipt User
-instance: Instance served on flipt.cloud {
- user -> tunnel.req: instance-org.flipt.cloud
- tunnelled request: {
+environment: Instance served on flipt.cloud {
+ user -> tunnel.req: environment-org.flipt.cloud
+ Tunnelled request: {
tunnel -> client_one.req: Request
client_one.req -> tunnel: Response
}