Skip to content

Commit 2b3630a

Browse files
committed
rewrite with Vite+Vue+Bootstrap5
1 parent adff16c commit 2b3630a

File tree

17 files changed

+2543
-139
lines changed

17 files changed

+2543
-139
lines changed

.github/workflows/deploy.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Simple workflow for deploying static content to GitHub Pages
2+
name: Deploy static content to Pages
3+
4+
on:
5+
# Runs on pushes targeting the default branch
6+
push:
7+
branches: ['testing']
8+
9+
# Allows you to run this workflow manually from the Actions tab
10+
workflow_dispatch:
11+
12+
# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
# Allow one concurrent deployment
19+
concurrency:
20+
group: 'pages'
21+
cancel-in-progress: true
22+
23+
jobs:
24+
# Single deploy job since we're just deploying
25+
deploy:
26+
environment:
27+
name: github-pages
28+
url: ${{ steps.deployment.outputs.page_url }}
29+
runs-on: ubuntu-latest
30+
steps:
31+
- name: Checkout
32+
uses: actions/checkout@v3
33+
- name: Set up Node
34+
uses: actions/setup-node@v3
35+
with:
36+
node-version: 18
37+
cache: 'npm'
38+
- name: Install dependencies
39+
run: npm install
40+
- name: Build
41+
run: npm run build
42+
- name: Setup Pages
43+
uses: actions/configure-pages@v3
44+
- name: Upload artifact
45+
uses: actions/upload-pages-artifact@v1
46+
with:
47+
# Upload dist repository
48+
path: './dist'
49+
- name: Deploy to GitHub Pages
50+
id: deployment
51+
uses: actions/deploy-pages@v1

index.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5-
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
65
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>Vite + Vue + TS</title>
6+
<title>Get your BSD Images for the Cloud!</title>
87
</head>
98
<body>
109
<div id="app"></div>

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,15 @@
99
"preview": "vite preview"
1010
},
1111
"dependencies": {
12+
"@popperjs/core": "^2.11.8",
13+
"bootstrap": "^5.3.3",
14+
"random-word-generator-npm": "^2.0.1",
1215
"vue": "^3.5.12"
1316
},
1417
"devDependencies": {
1518
"@vitejs/plugin-vue": "^5.1.4",
19+
"prettier": "3.3.3",
20+
"sass": "^1.80.5",
1621
"typescript": "~5.6.2",
1722
"vite": "^5.4.10",
1823
"vue-tsc": "^2.1.8"

src/App.vue

Lines changed: 117 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,125 @@
11
<script setup lang="ts">
2-
import HelloWorld from './components/HelloWorld.vue'
2+
import OperatingSystem from "./components/OperatingSystem.vue";
3+
import images_data from "./images_data.json";
34
</script>
45

56
<template>
6-
<div>
7-
<a href="https://vite.dev" target="_blank">
8-
<img src="/vite.svg" class="logo" alt="Vite logo" />
9-
</a>
10-
<a href="https://vuejs.org/" target="_blank">
11-
<img src="./assets/vue.svg" class="logo vue" alt="Vue logo" />
12-
</a>
7+
<nav class="navbar navbar-dark bg-dark">
8+
<div class="container-fluid">
9+
<button
10+
class="navbar-toggler"
11+
type="button"
12+
data-bs-toggle="collapse"
13+
data-bs-target="#navbarToggleExternalContent"
14+
aria-controls="navbarToggleExternalContent"
15+
aria-expanded="false"
16+
aria-label="Toggle navigation"
17+
>
18+
<span class="navbar-toggler-icon"></span>
19+
</button>
20+
</div>
21+
</nav>
22+
23+
24+
<div class="collapse" id="navbarToggleExternalContent">
25+
<div class="bg-dark p-4">
26+
<h5 class="text-white h4">About</h5>
27+
<p class="text-white">
28+
All the images come with a single root partition, and use UFS/FFS
29+
filesystem.
30+
</p>
31+
<p class="text-white">
32+
NetBSD will resize the root partition during the first boot.
33+
</p>
34+
<p class="text-white">
35+
OpenBSD is provided with a script
36+
(<code>/root/bin/create_partitions.sh</code>) to adapt the partition
37+
layout after the first boot. The games and X server sets are not
38+
installed to keep the image minimal.
39+
</p>
40+
<p class="text-white">
41+
In order to be consistent with Cloud-Init, sudo is enabled by default.
42+
On OpenBSD, doas is still available and just need to be configured.
43+
</p>
44+
<p class="text-white">
45+
Finally, the serial console is enabled by default.
46+
</p>
47+
<p class="text-white">
48+
This images use Cloud-Init master, which supports NetBSD and OpenBSD,
49+
see:
50+
<a href="https://github.com/canonical/cloud-init/pull/62">#62</a>,
51+
<a href="https://github.com/canonical/cloud-init/pull/147">#147</a>.
52+
</p>
53+
<p class="text-white">
54+
The scripts used to build the images are listed below:
55+
</p>
56+
<ul class="text-muted">
57+
<li>
58+
<a href="https://github.com/virt-lightning/freebsd-cloud-images"
59+
>FreeBSD</a
60+
>
61+
</li>
62+
<li>
63+
<a href="https://github.com/virt-lightning/netbsd-cloud-images"
64+
>NetBSD</a
65+
>
66+
</li>
67+
<li>
68+
<a href="https://github.com/hcartiaux/openbsd-cloud-image">OpenBSD</a>
69+
</li>
70+
</ul>
71+
</div>
72+
<div class="col-sm-4 offset-md-1 py-4">
73+
<h4 class="text-white">Contact</h4>
74+
<ul class="list-unstyled">
75+
<li>
76+
<a
77+
href="https://github.com/goneri/bsd-cloud-image.org"
78+
class="text-white"
79+
>Github</a
80+
>
81+
</li>
82+
<li>
83+
<a href="https://goneri.lebouder.net" class="text-white">Blog</a>
84+
</li>
85+
<li>
86+
<a
87+
href="https://matrix.to/#/!gYnpTfoEbtxPJvFlgC:matrix.org?via=matrix.org&via=bsd.cafe"
88+
class="text-white"
89+
>Matrix</a
90+
>
91+
</li>
92+
<li>
93+
<a href="mailto:goneri@lebouder.net" class="text-white">Email</a>
94+
</li>
95+
</ul>
96+
</div>
1397
</div>
14-
<HelloWorld msg="Vite + Vue" />
98+
<main role="main">
99+
<section class="jumbotron text-center">
100+
<div class="container">
101+
<h1>A collection of prebuilt BSD cloud images</h1>
102+
<p class="lead text-muted">
103+
These unofficial images are tested on OpenStack and NoCloud (<a
104+
href="https://virt-lightning.org"
105+
>with Virt-Lightning</a
106+
>). They come with
107+
<a href="https://cloudinit.readthedocs.io/en/latest/">Cloud-init</a>,
108+
and so they should support all the main Cloud providers.
109+
</p>
110+
</div>
111+
</section>
112+
113+
<div class="album py-5 bg-light">
114+
<div class="container">
115+
<OperatingSystem
116+
v-for="(os_data, os_name) in images_data"
117+
:os_name
118+
:os_data
119+
/>
120+
</div>
121+
</div>
122+
</main>
15123
</template>
16124

17125
<style scoped>

src/assets/dragonflybsd.svg

Lines changed: 94 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)