Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
144 changes: 108 additions & 36 deletions src/components/sections/SupportSection.astro
Original file line number Diff line number Diff line change
@@ -1,41 +1,64 @@
---
// The page a certification reviewer or a procurement team gets sent to.
// The commercial support page: who stands behind LibreDB Studio, on which
// platforms, and how to reach them. Written as a general support statement, not
// as a certification artefact — partner programmes (SUSE Ready for Rancher, Red
// Hat, the cloud marketplaces) all ask a vendor to publish this, and a page that
// reads as though it exists for one of them is weaker evidence for all of them.
//
// SUSE Ready for Rancher asks the vendor to (a) provide commercial support on
// named Rancher and RKE2/K3s versions and (b) publish those versions in its
// documentation *and on its web site*. This is the web-site half; the
// repository half is docs/RANCHER.md. The two tables must stay in step — if one
// gains a row or a validated version, so does the other, in the same change.
// Every version here must be traceable to something in the studio repo:
// Kubernetes floor charts/libredb-studio/Chart.yaml kubeVersion
// Rancher / K3s rows docs/RANCHER.md Supported versions
// OpenShift range the merged community-operators-prod catalog PR
// Node tiers docs/DISTRIBUTION.md ## npx
// If one of those moves, this page moves with it in the same change.
import SectionHeader from './SectionHeader.astro';
import { VENDOR, VENDOR_ADDRESS_FULL } from '../../data/company';

const RANCHER_DOCS = 'https://github.com/libredb/libredb-studio/blob/main/docs/RANCHER.md';
const SECURITY_MD = 'https://github.com/libredb/libredb-studio/blob/main/SECURITY.md';
const ISSUES = 'https://github.com/libredb/libredb-studio/issues';
const SUSE_CATALOG = 'https://www.suse.com/pcsc/viewVersionPage?versionID=26969';
const STUDIO_REPO = 'https://github.com/libredb/libredb-studio';
const RANCHER_DOCS = `${STUDIO_REPO}/blob/main/docs/RANCHER.md`;
const NPX_DOCS = `${STUDIO_REPO}/blob/main/docs/DISTRIBUTION.md#npx`;
const SECURITY_MD = `${STUDIO_REPO}/blob/main/SECURITY.md`;
const ISSUES = `${STUDIO_REPO}/issues`;

// "Supported" is what the commitment above covers. "Validated" is what we have
// "Supported" is what the commitment below covers. "Validated" is what we have
// actually exercised end to end and published a result for — an em dash means
// supported on the same terms but not yet in a published test run. Never turn a
// the same support terms apply, but no test run is published yet. Never turn a
// dash into a version without a run behind it: this table is read as evidence.
const platforms = [
{ component: 'Kubernetes', supported: '1.26 or later', validated: 'v1.31.14, v1.35.5' },
{ component: 'SUSE K3s', supported: '1.26 or later', validated: 'v1.31.14+k3s1, v1.35.5+k3s1' },
{ component: 'SUSE RKE2', supported: '1.26 or later', validated: '—' },
{
component: 'SUSE Rancher Prime and Rancher (community)',
supported: '2.9 or later',
validated: '2.14.3 (community build)',
},
{ component: 'SUSE K3s', supported: '1.26 or later', validated: 'v1.31.14+k3s1, v1.35.5+k3s1' },
{ component: 'SUSE RKE2', supported: '1.26 or later', validated: '—' },
{ component: 'Kubernetes', supported: '1.26 or later', validated: 'v1.31.14, v1.35.5' },
{ component: 'Red Hat OpenShift', supported: '4.15 to 4.22', validated: '—' },
{ component: 'Any CNCF-conformant distribution', supported: '1.26 or later', validated: '—' },
{ component: 'Architectures', supported: 'linux/amd64, linux/arm64', validated: 'linux/amd64' },
];

// Kept apart from the platform table on purpose: these are runtime floors, not
// distributions, and they have no "validated version" in the same sense.
const runtimes = [
{
runtime: 'Container runtime',
detail:
'Any OCI-compatible runtime — Docker, containerd or CRI-O. The image is published for linux/amd64 and linux/arm64 on every release.',
},
{
runtime: 'Node.js',
detail:
'Node 20.9 or later; Node 24 LTS is the recommended, fully supported runtime. SQLite database connections need Node 22.13+, and server-side SQLite storage needs Node 24 — the launcher refuses older runtimes with a clear message rather than half-working.',
href: NPX_DOCS,
linkLabel: 'Runtime support tiers',
},
];

const scope = [
{
area: 'Deployment',
detail:
'Helm chart installation, upgrades and rollback on the versions above — including the Rancher Apps catalog path via a ClusterRepo, and air-gapped installs from your own registry.',
'Helm chart installation, upgrades and rollback on the platforms above, plus the container and npx paths — including catalog installs (Rancher Apps via a ClusterRepo, OpenShift OperatorHub) and air-gapped installs from your own registry.',
},
{
area: 'Configuration',
Expand All @@ -54,6 +77,20 @@ const scope = [
},
];

// Only listings that are live and verifiable. A pending submission is not a
// listing; it goes here the day it merges, not the day it is opened.
const listings = [
{
name: 'the SUSE Partner Certification & Solutions Catalog',
href: 'https://www.suse.com/pcsc/viewVersionPage?versionID=26969',
},
{
name: 'the Red Hat OpenShift community catalog',
href: 'https://github.com/redhat-openshift-ecosystem/community-operators-prod',
},
{ name: 'Artifact Hub', href: 'https://artifacthub.io/packages/helm/libredb-studio/libredb-studio' },
];

const channels = [
{ need: 'Commercial support enquiries', href: `mailto:${VENDOR.email}`, label: VENDOR.email, external: false },
{ need: 'Security vulnerabilities', href: SECURITY_MD, label: 'SECURITY.md', external: true },
Expand All @@ -64,7 +101,7 @@ const channels = [
<div class="mx-auto max-w-5xl">
<SectionHeader
title="Commercial support"
subtitle="Who stands behind LibreDB Studio, on which platform versions, and how to reach them."
subtitle="Who stands behind LibreDB Studio, on which platforms, and how to reach them."
/>

<!-- Who provides the support. The vendor identity is derived from company.ts,
Expand All @@ -77,32 +114,26 @@ const channels = [
Türkiye. LibreDB is the product brand; {VENDOR.tradeName} is the legal entity behind the commitment on this page.
</p>
<p class="mt-2 text-[12px] leading-relaxed text-faint">{VENDOR_ADDRESS_FULL}</p>
<div class="mt-4 flex flex-wrap gap-x-5 gap-y-2 text-[12px]">
<a
href={VENDOR.companyInfoUrl}
target="_blank"
rel="noopener noreferrer"
class="text-primary hover:text-primary-bright"
>
Company information <span aria-hidden="true">→</span>
</a>
<a href={SUSE_CATALOG} target="_blank" rel="noopener noreferrer" class="text-primary hover:text-primary-bright">
SUSE Partner Certification &amp; Solutions Catalog <span aria-hidden="true">→</span>
</a>
</div>
<a
href={VENDOR.companyInfoUrl}
target="_blank"
rel="noopener noreferrer"
class="mt-4 inline-block text-[12px] text-primary hover:text-primary-bright"
>
Company information <span aria-hidden="true">→</span>
</a>
</section>

<!-- The commitment itself: the sentence a certification reviewer looks for. -->
<!-- The commitment itself: the sentence a procurement or certification reviewer looks for. -->
<p class="mt-8 max-w-3xl text-[14px] leading-relaxed text-fg">
<strong class="font-semibold text-bright"
>{VENDOR.tradeName} provides commercial support for LibreDB Studio on every Rancher, K3s, RKE2 and Kubernetes version
listed below.</strong
>{VENDOR.tradeName} provides commercial support for LibreDB Studio on every platform and runtime version listed below.</strong
>
Support is available in English and Turkish. LibreDB Studio itself stays MIT-licensed and free — support is a service
on top of it, never a paywall in front of it.
</p>

<h3 class="mt-8 mb-3 text-[13px] font-semibold tracking-wide text-bright uppercase">Supported platform versions</h3>
<h3 class="mt-8 mb-3 text-[13px] font-semibold tracking-wide text-bright uppercase">Kubernetes and distributions</h3>

<div class="overflow-x-auto border border-edge">
<table class="w-full border-collapse text-[13px]">
Expand Down Expand Up @@ -141,9 +172,34 @@ const channels = [
rel="noopener noreferrer"
class="mt-4 inline-flex items-center gap-2 rounded-md border border-edge-strong px-4 py-2 text-[13px] font-medium text-fg transition-colors hover:bg-raised"
>
Rancher deployment &amp; validation record <span aria-hidden="true">→</span>
Deployment &amp; validation record <span aria-hidden="true">→</span>
</a>

<h3 class="mt-10 mb-3 text-[13px] font-semibold tracking-wide text-bright uppercase">Runtimes</h3>

<div class="flex flex-col gap-px overflow-hidden border border-edge bg-edge">
{
runtimes.map((r) => (
<article class="grid grid-cols-1 gap-2 bg-panel p-5 sm:grid-cols-[180px_1fr] sm:gap-6">
<h4 class="text-[13px] font-semibold tracking-wide text-bright uppercase">{r.runtime}</h4>
<div>
<p class="text-[13px] leading-relaxed text-muted">{r.detail}</p>
{r.href && (
<a
href={r.href}
target="_blank"
rel="noopener noreferrer"
class="mt-1.5 inline-block text-[12px] text-primary hover:text-primary-bright"
>
{r.linkLabel} <span aria-hidden="true">→</span>
</a>
)}
</div>
</article>
))
}
</div>

<h3 class="mt-10 mb-3 text-[13px] font-semibold tracking-wide text-bright uppercase">What support covers</h3>

<div class="flex flex-col gap-px overflow-hidden border border-edge bg-edge">
Expand Down Expand Up @@ -176,6 +232,22 @@ const channels = [
}
</div>

<!-- Verified partner listings, kept small: they corroborate the statement above,
they are not the point of the page. -->
<p class="mt-8 text-[12.5px] leading-relaxed text-dim">
LibreDB Studio is listed in{' '}
{
listings.map((l, i) => (
<>
{i > 0 && <span>{i === listings.length - 1 ? ' and ' : ', '}</span>}
<a href={l.href} target="_blank" rel="noopener noreferrer" class="text-primary hover:text-primary-bright">
{l.name}
</a>
</>
))
}.
</p>

<p class="mt-6 text-[13px] leading-relaxed">
<span class="sql-com">-- supported is a promise; validated is a receipt. This page keeps them apart.</span>
</p>
Expand Down
2 changes: 1 addition & 1 deletion src/data/section-seo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ export const sectionSeo: Record<string, object[]> = {
name: 'LibreDB Studio commercial support',
serviceType: 'Commercial software support',
description:
'Commercial support for LibreDB Studio on SUSE Rancher Prime, RKE2, K3s and Kubernetes — Helm chart installation and upgrades, configuration, defect fixes and security patches.',
'Commercial support for LibreDB Studio on Kubernetes, K3s, RKE2, Rancher and OpenShift — installation and upgrades, configuration, defect fixes and security patches.',
provider: { '@id': VENDOR.schemaId },
areaServed: 'Worldwide',
availableLanguage: ['en', 'tr'],
Expand Down
6 changes: 3 additions & 3 deletions src/data/sections.ts
Original file line number Diff line number Diff line change
Expand Up @@ -273,11 +273,11 @@ export const sections: SectionMeta[] = [
{ name: 'validated', type: 'TEXT' },
],
explain:
'Who stands behind LibreDB Studio commercially — Sekoya, the vendor of record — on which Rancher, RKE2, K3s and Kubernetes versions, what that support covers, and how to reach us. Separates supported (the commitment) from validated (the published test run).',
'Who stands behind LibreDB Studio commercially — Sekoya, the vendor of record — on which Kubernetes distributions and runtimes, what that support covers, and how to reach us. Separates supported (the commitment) from validated (the published test run).',
slug: 'support',
pageTitle: 'Commercial Support — LibreDB Studio on Rancher, RKE2, K3s & Kubernetes',
pageTitle: 'Commercial Support — LibreDB Studio',
pageDescription:
'Commercial support for LibreDB Studio from Sekoya Grup Bilisim ve Teknoloji Ltd. Sti., the vendor of record: supported SUSE Rancher Prime, RKE2, K3s and Kubernetes versions, what support covers (Helm install and upgrades, configuration, defect fixes, security patches), and how to reach us.',
'Commercial support for LibreDB Studio from Sekoya Grup Bilisim ve Teknoloji Ltd. Sti., the vendor of record: the supported Kubernetes, K3s, RKE2, Rancher and OpenShift versions and container and Node.js runtimes, what support covers (installation and upgrades, configuration, defect fixes, security patches), and how to reach us.',
schema: 'studio',
},
{
Expand Down
Loading