feature/profile-avatar #2
Binary file not shown.
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 51 KiB |
@ -47,6 +47,6 @@ defineProps({
|
|||||||
.note {
|
.note {
|
||||||
color: var(--text-muted);
|
color: var(--text-muted);
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
white-space: pre-line;
|
white-space: pre-wrap;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -195,6 +195,8 @@ const timeline = [
|
|||||||
.portrait {
|
.portrait {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
|
flex: 0 0 120px;
|
||||||
|
aspect-ratio: 1 / 1;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 1px solid rgba(255, 255, 255, 0.12);
|
border: 1px solid rgba(255, 255, 255, 0.12);
|
||||||
|
|||||||
@ -99,12 +99,16 @@ const atlasPillClass = computed(() => (props.labStatus?.atlas?.up ? "pill-ok" :
|
|||||||
const oceanusPillClass = computed(() => (props.labStatus?.oceanus?.up ? "pill-ok" : "pill-bad"));
|
const oceanusPillClass = computed(() => (props.labStatus?.oceanus?.up ? "pill-ok" : "pill-bad"));
|
||||||
|
|
||||||
const metricItems = computed(() => {
|
const metricItems = computed(() => {
|
||||||
return [
|
const items = [
|
||||||
{ label: "Lab nodes", value: "25", note: "26 total (titan-16 is down)\nWorkers: 8 rpi5, 7 rpi4, 2 jetsons, 1 minipc\nControl plane: 3 rpi5\nDedicated: titan-db, oceanus, tethys, theia" },
|
{ label: "Lab nodes", value: "25", note: "26 total (titan-16 is down)\nWorkers: 8 rpi5s, 8 rpi4s, 2 jetsons,\n\t\t\t\t 1 minipc\nControl plane: 3 rpi5\nDedicated Hosts: oceanus, titan-db,\n\t\t\t\t\t\t\t\t tethys, theia" },
|
||||||
{ label: "CPU cores", value: "142", note: "arm + jetson + x86 mix" },
|
{ label: "CPU cores", value: "142", note: "32 arm64 cores @ 1.5Ghz\n12 arm64 cores @ 1.9Ghz\n52 arm64 cores @ 2.4Ghz\n10 amd64 cores @ 5.00Ghz\n12 amd64 cores @ 4.67Ghz\n24 amd64 cores @ 4.04Ghz" },
|
||||||
{ label: "Memory", value: "552 GB", note: "nominal (includes titan-16 even though it is down)" },
|
{ label: "Memory", value: "552 GB", note: "nominal\n(includes downed titan-16)" },
|
||||||
{ label: "Atlas storage", value: "80 TB", note: "Longhorn astreae + asteria" },
|
{ label: "Atlas storage", value: "80 TB", note: "Longhorn astreae + asteria" },
|
||||||
];
|
];
|
||||||
|
return items.map((item) => ({
|
||||||
|
...item,
|
||||||
|
note: item.note ? item.note.replaceAll("\t", " ") : "",
|
||||||
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
const displayServices = computed(() => {
|
const displayServices = computed(() => {
|
||||||
|
|||||||
@ -1,8 +1,14 @@
|
|||||||
import { defineConfig } from "vite";
|
import { defineConfig } from "vite";
|
||||||
|
import path from "node:path";
|
||||||
import vue from "@vitejs/plugin-vue";
|
import vue from "@vitejs/plugin-vue";
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue()],
|
plugins: [vue()],
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
"@": path.resolve(__dirname, "./src"),
|
||||||
|
},
|
||||||
|
},
|
||||||
server: {
|
server: {
|
||||||
proxy: {
|
proxy: {
|
||||||
"/api": {
|
"/api": {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user