diff --git a/packages/playground/public/images/icons/domains.png b/packages/playground/public/images/icons/domains.png
new file mode 100644
index 0000000000..dfe4b7b6ce
Binary files /dev/null and b/packages/playground/public/images/icons/domains.png differ
diff --git a/packages/playground/public/info/domains.md b/packages/playground/public/info/domains.md
new file mode 100644
index 0000000000..7b1e41555b
--- /dev/null
+++ b/packages/playground/public/info/domains.md
@@ -0,0 +1,5 @@
+---
+title: Domains
+---
+
+Domains allows users to securely expose servers hosted on local machines or VMs to the public internet. Users are required to specify the machine's IP, which can be a Mycelium IP, Yggdrasil IP, or a public IP (IPv4 or IPv6). For more details, check the [Domains documentation](https://www.manual.grid.tf/documentation/dashboard/solutions/domains.html).
diff --git a/packages/playground/src/components/deployment_data_dialog.vue b/packages/playground/src/components/deployment_data_dialog.vue
index c7473e9d15..453c14e320 100644
--- a/packages/playground/src/components/deployment_data_dialog.vue
+++ b/packages/playground/src/components/deployment_data_dialog.vue
@@ -20,7 +20,9 @@
>
- {{ item.name }}
+ {{
+ contracts && contracts.length === 1 && "name" in contracts ? (contracts as any).name : item.name
+ }}
@@ -28,7 +30,10 @@
-
+
Make sure to create an A record on your name provider with
{{ contract.customDomain }}
@@ -102,6 +107,20 @@
+
+
+
+
+
+
diff --git a/packages/playground/src/components/node_selector/TfDomainName.vue b/packages/playground/src/components/node_selector/TfDomainName.vue
index 13c708b621..b5863adfec 100644
--- a/packages/playground/src/components/node_selector/TfDomainName.vue
+++ b/packages/playground/src/components/node_selector/TfDomainName.vue
@@ -11,7 +11,7 @@
-
+
diff --git a/packages/playground/src/views/solutions_view.vue b/packages/playground/src/views/solutions_view.vue
index 00e297f78b..2bcb5997b9 100644
--- a/packages/playground/src/views/solutions_view.vue
+++ b/packages/playground/src/views/solutions_view.vue
@@ -144,6 +144,13 @@ export default {
icon: "wordpress.png",
route: DashboardRoutes.Applications.Wordpress,
},
+ {
+ title: "Domains",
+ excerpt:
+ "Domains allow users to securely expose servers hosted on local machines or VMs to the public internet.",
+ icon: "domains.png",
+ route: DashboardRoutes.Applications.Domains,
+ },
];
cards = cards.sort((a, b) => a.title.localeCompare(b.title));
diff --git a/packages/playground/src/weblets/tf_deployment_list.vue b/packages/playground/src/weblets/tf_deployment_list.vue
index 7243f2391f..d5344d9297 100644
--- a/packages/playground/src/weblets/tf_deployment_list.vue
+++ b/packages/playground/src/weblets/tf_deployment_list.vue
@@ -217,6 +217,21 @@
/>
+
+
+
+
+
+
+
+ Deploy a Domains Instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+