Skip to content

Commit

Permalink
Merge pull request #2481 from threefoldtech/development_caddy
Browse files Browse the repository at this point in the history
Adding static website application
  • Loading branch information
amiraabouhadid authored May 16, 2024
2 parents c8528d5 + 14c6fb4 commit f847908
Show file tree
Hide file tree
Showing 10 changed files with 355 additions and 0 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions packages/playground/public/info/static_website.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Static Website
---

Static Website is an application where a user provide a github repository url and it's automatically served using caddy. For more details, check [Static Website documentation](https://www.manual.grid.tf/documentation/dashboard/solutions/static_website.html).
6 changes: 6 additions & 0 deletions packages/playground/src/constants/deployment_list.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,12 @@ export const deploymentListEnvironments = {
CHAIN_ENDPOINT: "Chain Endpoint",
},

static_website: {
SSH_KEY: _ssh,
GITHUB_URL: "HTTPS URL for git repository",
ROOT: "HTML Directory",
},

taiga: {
SSH_KEY: _ssh,
DOMAIN_NAME: "Domain Name",
Expand Down
23 changes: 23 additions & 0 deletions packages/playground/src/router/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,29 @@ function createApplicationsRoutes(): RouteRecordRaw[] {
},
},
},

{
path: DashboardRoutes.Applications.StaticWebsite,
component: () => import("../views/staticwebsite_view.vue"),
meta: {
title: "Static Website",
info: { page: "info/static_website.md" },
navbarConfig: {
back: true,
path: [
{ title: "Deploy" },
{
title: "Applications",
disabled: false,
to: DashboardRoutes.Deploy.Applications,
},
{
title: "Static Website",
},
],
},
},
},
// Commented for now and will be user later.
// {
// path: DashboardRoutes.Applications.Freeflow,
Expand Down
1 change: 1 addition & 0 deletions packages/playground/src/router/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ enum OtherRoutes {
enum ApplicationRoutes {
BaseRoute = "/deploy/applications/",
Peertube = "/deploy/applications/peertube/",
StaticWebsite = "/deploy/applications/static_website/",
Funkwhale = "/deploy/applications/funkwhale/",
Mattermost = "/deploy/applications/mattermost/",
Discourse = "/deploy/applications/discourse/",
Expand Down
3 changes: 3 additions & 0 deletions packages/playground/src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ export enum ProjectName {
Qvm = "Qvm",
Umbrel = "Umbrel",
FreeFlow = "Freeflow",
StaticWebsite = "StaticWebsite",
}

export enum SolutionCode {
Expand All @@ -139,6 +140,7 @@ export enum SolutionCode {
qvm = "qvm",
umbrel = "um",
wordpress = "wp",
staticwebsite = "sw",
}

export const solutionType: { [key: string]: string } = {
Expand All @@ -161,6 +163,7 @@ export const solutionType: { [key: string]: string } = {
umbrel: "Umbrel",
vm: "Micro Virtual Machine",
wordpress: "Wordpress",
staticwebsite: "Static Website",
};

export interface solutionFlavor {
Expand Down
7 changes: 7 additions & 0 deletions packages/playground/src/views/solutions_view.vue
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,13 @@ export default {
icon: "taiga.png",
route: DashboardRoutes.Applications.Taiga,
},
{
title: "Static Website",
excerpt:
"Static Website is an application where a user provides a Github repository url and it's automatically served using Caddy.",
icon: "static_website.png",
route: DashboardRoutes.Applications.StaticWebsite,
},
// {
// title: "Owncloud",
// excerpt:
Expand Down
26 changes: 26 additions & 0 deletions packages/playground/src/views/staticwebsite_view.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<template>
<view-layout>
<StaticWebsite />

<template #list>
<TfDeploymentList title="Static Website Instances" :project-name="name" />
</template>
</view-layout>
</template>

<script lang="ts">
import { ProjectName } from "../types";
import TfDeploymentList from "../weblets/tf_deployment_list.vue";
import StaticWebsite from "../weblets/tf_staticwebsite.vue";
export default {
name: "CaddyView",
components: {
StaticWebsite,
TfDeploymentList,
},
setup() {
return { name: ProjectName.StaticWebsite };
},
};
</script>
15 changes: 15 additions & 0 deletions packages/playground/src/weblets/tf_deployment_list.vue
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,20 @@
/>
</template>

<template #StaticWebsite-actions="{ item }">
<IconActionBtn
tooltip="Show Details"
icon="mdi-eye-outline"
@click="openDialog(tabs[activeTab].value, item)"
/>
<IconActionBtn
tooltip="Visit"
icon="mdi-web"
color="anchor"
:href="'https://' + item.value.env.STATICWEBSITE_DOMAIN"
/>
</template>

<template #Algorand-actions="{ item }">
<IconActionBtn
tooltip="Show Details"
Expand Down Expand Up @@ -378,6 +392,7 @@ const tabs: Tab[] = [
{ title: "Umbrel", value: "Umbrel", imgPath: "images/icons/umbrel.png" },
{ title: "Freeflow", value: "Freeflow", imgPath: "images/icons/freeflow.png" },
{ title: "Wordpress", value: "Wordpress", imgPath: "images/icons/wordpress.png" },
{ title: "Static Website", value: "StaticWebsite", imgPath: "images/icons/wordpress.png" },
];
const layout = useLayout();
Expand Down
Loading

0 comments on commit f847908

Please sign in to comment.