mirror of
https://github.com/siderolabs/omni.git
synced 2025-08-06 17:46:59 +02:00
docs: update doc urls
Fixes: #543 Signed-off-by: Justin Garrison <justin.garrison@siderolabs.com>
This commit is contained in:
parent
daa6d26b03
commit
a173c8ae87
@ -33,7 +33,7 @@ Boot from an Omni image. Click to allocate to a cluster. That’s it!
|
||||
|
||||
Omni is available via a [Business Source License](LICENSE) which allows free installations in non-production environments. If you would like to deploy Omni for production use please contact [Sidero sales](mailto:sales@siderolabs.com). If you would like to subscribe to the hosted version of Omni please see the [SaaS pricing](https://www.siderolabs.com/pricing/).
|
||||
|
||||
If you would like to self-host Omni for non-production workloads please follow the [instructions in the documentation](https://omni.siderolabs.com/docs/how-to-guides/self-hosted/how-to-deploy-omni-on-prem/).
|
||||
If you would like to self-host Omni for non-production workloads please follow the [instructions in the documentation](https://omni.siderolabs.com/how-to-guides/self_hosted/index).
|
||||
|
||||
## Development
|
||||
|
||||
|
@ -13,7 +13,7 @@ This respository contains client code and gRPC API definitions used to access Om
|
||||
|
||||
## Documentation
|
||||
|
||||
For instructions on using Omni, see the [Documentation](https://omni.siderolabs.com/docs/).
|
||||
For instructions on using Omni, see the [Documentation](https://omni.siderolabs.com/).
|
||||
|
||||
## Community
|
||||
|
||||
|
@ -8,22 +8,33 @@ included in the LICENSE file.
|
||||
<header class="t-header">
|
||||
<div class="t-header-nav-wrapper">
|
||||
<div class="t-header-logo-wrapper">
|
||||
<router-link to="/" class="flex items-center gap-1 text-lg text-naturals-N13 uppercase">
|
||||
<t-icon class="t-header-icon w-7 h-7" icon="logo"/>
|
||||
<router-link
|
||||
to="/"
|
||||
class="flex items-center gap-1 text-lg text-naturals-N13 uppercase"
|
||||
>
|
||||
<t-icon class="t-header-icon w-7 h-7" icon="logo" />
|
||||
<span class="font-bold">Sidero</span>
|
||||
<span>Omni</span>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="t-header-nav">
|
||||
<a href="https://omni.siderolabs.com/docs/" target="_blank" class="flex hover:text-naturals-N14 transition-colors">
|
||||
<a
|
||||
href="https://omni.siderolabs.com/"
|
||||
target="_blank"
|
||||
class="flex hover:text-naturals-N14 transition-colors"
|
||||
>
|
||||
<t-icon class="t-header-nav-icon" icon="info" />
|
||||
<span class="t-header-nav-name max-sm:hidden">Documentation</span>
|
||||
</a>
|
||||
<a href="https://github.com/siderolabs/omni/issues" target="_blank" class="flex hover:text-naturals-N14 transition-colors">
|
||||
<a
|
||||
href="https://github.com/siderolabs/omni/issues"
|
||||
target="_blank"
|
||||
class="flex hover:text-naturals-N14 transition-colors"
|
||||
>
|
||||
<t-icon class="t-header-nav-icon" icon="check-in-circle" />
|
||||
<span class="t-header-nav-name max-sm:hidden">Report an issue</span>
|
||||
</a>
|
||||
<ongoing-tasks/>
|
||||
<ongoing-tasks />
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
@ -7,14 +7,32 @@ included in the LICENSE file.
|
||||
<template>
|
||||
<watch :opts="watchOverallStatusOpts" spinner noRecordsAlert errorsAlert>
|
||||
<template #default="overallStatus">
|
||||
<t-alert v-if="overallStatus.items[0]?.spec?.configuration_error" type="warn"
|
||||
:title="`The backups storage is not properly configured: ${overallStatus.items[0]?.spec?.configuration_error}`">
|
||||
<div class="flex gap-1">Check the <t-button type="subtle" @click="openDocs">documentation</t-button> on how to configure s3 backups using CLI.</div>
|
||||
<div class="flex gap-1" v-if="canManageBackupStore">Or<t-button @click="$router.push({name: 'BackupStorage'})" type="subtle">configure backups in the UI.</t-button></div>
|
||||
<t-alert
|
||||
v-if="overallStatus.items[0]?.spec?.configuration_error"
|
||||
type="warn"
|
||||
:title="`The backups storage is not properly configured: ${overallStatus.items[0]?.spec?.configuration_error}`"
|
||||
>
|
||||
<div class="flex gap-1">
|
||||
Check the
|
||||
<t-button type="subtle" @click="openDocs">documentation</t-button> on
|
||||
how to configure s3 backups using CLI.
|
||||
</div>
|
||||
<div class="flex gap-1" v-if="canManageBackupStore">
|
||||
Or<t-button
|
||||
@click="$router.push({ name: 'BackupStorage' })"
|
||||
type="subtle"
|
||||
>configure backups in the UI.</t-button
|
||||
>
|
||||
</div>
|
||||
</t-alert>
|
||||
<watch v-else :opts="watchStatusOpts" spinner noRecordsAlert errorsAlert>
|
||||
<template #default="status">
|
||||
<t-list :opts="watchOpts" search :sortOptions="sortOptions" :key="status.items[0]?.metadata?.updated">
|
||||
<t-list
|
||||
:opts="watchOpts"
|
||||
search
|
||||
:sortOptions="sortOptions"
|
||||
:key="status.items[0]?.metadata?.updated"
|
||||
>
|
||||
<template #default="{ items, searchQuery }">
|
||||
<div class="header">
|
||||
<div class="list-grid">
|
||||
@ -25,18 +43,32 @@ included in the LICENSE file.
|
||||
</div>
|
||||
</div>
|
||||
<t-list-item v-for="item in items" :key="item.metadata.id!">
|
||||
<div class="text-naturals-N12 relative pr-3" :class="{ 'pl-7': !item.spec.description }">
|
||||
<div
|
||||
class="text-naturals-N12 relative pr-3"
|
||||
:class="{ 'pl-7': !item.spec.description }"
|
||||
>
|
||||
<div class="list-grid">
|
||||
<WordHighlighter
|
||||
:query="searchQuery"
|
||||
:textToHighlight="item.metadata.id"
|
||||
highlightClass="bg-naturals-N14"
|
||||
/>
|
||||
<div class="text-naturals-N14">{{ formatISO(item.spec.created_at as string, dateFormat) }}</div>
|
||||
<div class="text-naturals-N14">{{ formatBytes(parseInt(item.spec.size ?? '0')) }}</div>
|
||||
<div class="text-naturals-N14">
|
||||
{{
|
||||
formatISO(item.spec.created_at as string, dateFormat)
|
||||
}}
|
||||
</div>
|
||||
<div class="text-naturals-N14">
|
||||
{{ formatBytes(parseInt(item.spec.size ?? "0")) }}
|
||||
</div>
|
||||
<div class="text-naturals-N14 flex gap-2 items-center">
|
||||
{{ item.spec.snapshot }}
|
||||
<icon-button icon="copy" @click="copyText(item.spec.snapshot, undefined, () => {})"/>
|
||||
<icon-button
|
||||
icon="copy"
|
||||
@click="
|
||||
copyText(item.spec.snapshot, undefined, () => {})
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -51,7 +83,15 @@ included in the LICENSE file.
|
||||
|
||||
<script setup lang="ts">
|
||||
import { Runtime } from "@/api/common/omni.pb";
|
||||
import { ExternalNamespace, EtcdBackupType, LabelCluster, EtcdBackupStatusType, DefaultNamespace, EtcdBackupOverallStatusID, EtcdBackupOverallStatusType } from "@/api/resources";
|
||||
import {
|
||||
ExternalNamespace,
|
||||
EtcdBackupType,
|
||||
LabelCluster,
|
||||
EtcdBackupStatusType,
|
||||
DefaultNamespace,
|
||||
EtcdBackupOverallStatusID,
|
||||
EtcdBackupOverallStatusType,
|
||||
} from "@/api/resources";
|
||||
import { WatchOptions } from "@/api/watch";
|
||||
import { computed } from "vue";
|
||||
import { formatISO } from "@/methods/time";
|
||||
@ -72,8 +112,8 @@ const dateFormat = "HH:mm MMM d y";
|
||||
const route = useRoute();
|
||||
|
||||
const sortOptions = [
|
||||
{id: 'id', desc: 'Creation Time ⬇', descending: true},
|
||||
{id: 'id', desc: 'Creation Time ⬆'},
|
||||
{ id: "id", desc: "Creation Time ⬇", descending: true },
|
||||
{ id: "id", desc: "Creation Time ⬆" },
|
||||
];
|
||||
|
||||
const watchStatusOpts = computed((): WatchOptions => {
|
||||
@ -81,10 +121,10 @@ const watchStatusOpts = computed((): WatchOptions => {
|
||||
resource: {
|
||||
namespace: DefaultNamespace,
|
||||
type: EtcdBackupStatusType,
|
||||
id: route.params.cluster as string
|
||||
id: route.params.cluster as string,
|
||||
},
|
||||
runtime: Runtime.Omni,
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
const watchOverallStatusOpts = computed((): WatchOptions => {
|
||||
@ -92,10 +132,10 @@ const watchOverallStatusOpts = computed((): WatchOptions => {
|
||||
resource: {
|
||||
namespace: DefaultNamespace,
|
||||
type: EtcdBackupOverallStatusType,
|
||||
id: EtcdBackupOverallStatusID
|
||||
id: EtcdBackupOverallStatusID,
|
||||
},
|
||||
runtime: Runtime.Omni,
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
const watchOpts = computed((): WatchOptions => {
|
||||
@ -105,15 +145,18 @@ const watchOpts = computed((): WatchOptions => {
|
||||
type: EtcdBackupType,
|
||||
},
|
||||
runtime: Runtime.Omni,
|
||||
selectors: [
|
||||
`${LabelCluster}=${route.params.cluster}`
|
||||
]
|
||||
}
|
||||
selectors: [`${LabelCluster}=${route.params.cluster}`],
|
||||
};
|
||||
});
|
||||
|
||||
const openDocs = () => {
|
||||
window.open("https://omni.siderolabs.com/docs/how-to-guides/how-to-create-etcd-backups/#s3-configuration", "_blank")?.focus();
|
||||
}
|
||||
window
|
||||
.open(
|
||||
"https://omni.siderolabs.com/how-to-guides/etcd-backups#s3-configuration",
|
||||
"_blank"
|
||||
)
|
||||
?.focus();
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
Loading…
Reference in New Issue
Block a user