Compare commits

...

6 Commits

Author SHA1 Message Date
Danish
22066bfe29 docs(web): show the doc version in the install manifest text (#1077)
The installation page said "the manifest for the latest release"
everywhere, even on older versioned docs and on the unreleased Dev
docs. Show the actual version instead (or "the latest development
snapshot from the main branch" on Dev docs).

The "Testing the latest development snapshot" section now explains,
on Dev docs, that the command above already installs that snapshot,
instead of duplicating it.

Signed-off-by: Danish <danish.khan@enterprisedb.com>
2026-08-31 09:51:54 +02:00
Marco Nenciarini
8fb0d27df7 refactor(web): drop the now-dead useCurrentVersion abstraction
Its 'latestReleased' branch had no remaining caller after the
previous commit, and InstallationSnippet was calling useActiveVersion
twice (once directly, once through the hook) to re-run the same
check. Build the manifest URL straight from the active version and
drop hooks/versions.ts entirely.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2026-08-31 09:51:54 +02:00
Marco Nenciarini
b547b6f05b feat(web): point unreleased docs install snippet at main manifest
The unversioned "current" docs describe unreleased functionality, so
a tagged release manifest doesn't make sense there. Install from the
manifest built off main instead.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2026-08-31 09:51:54 +02:00
Marco Nenciarini
a28fd19113 refactor(web): simplify useLatestReleasedVersion
Docusaurus already exposes the latest released version via
useLatestVersion (backed by GlobalVersion.isLast), making the manual
filter and numeric-string sort redundant.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2026-08-31 09:51:54 +02:00
Marco Nenciarini
c18ce8a12b docs(web): use active doc version for install manifest link
The install snippet always linked to the manifest of the latest
released version, regardless of which versioned docs page it was
rendered on. Viewing the 0.13.0 installation page therefore pointed
at the 0.14.0 manifest.

Fall back to the latest released version only when there is no
active version, or the active version is the unreleased "current"
docs.

Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
2026-08-31 09:51:54 +02:00
dblugeon
a95197e648
docs(web): fix retention policy path in concepts documentation (#1059)
Corrected path for retention policy in documentation.

Closes #1061

Signed-off-by: dblugeon <dblugeon@users.noreply.github.com>
2026-08-28 12:29:47 +02:00
6 changed files with 57 additions and 69 deletions

View File

@ -35,7 +35,7 @@ object storage system. It allows you to configure:
- **Base backup options**—with similar settings for compression, concurrency,
and encryption—under `.spec.configuration.data`
- **Retention policies** to manage the life-cycle of archived WALs and backups
via `.spec.configuration.retentionPolicy`
via `.spec.retentionPolicy`
WAL files are archived in the `wals` directory, while base backups are stored
as **tarballs** in the `base` directory, following the

View File

@ -54,10 +54,9 @@ Both checks are required before proceeding with the installation.
## Installing the Barman Cloud Plugin
import { InstallationSnippet } from '@site/src/components/Installation';
import { InstallationSnippet, ManifestVersion } from '@site/src/components/Installation';
Install the plugin using `kubectl` by applying the manifest for the latest
release:
Install the plugin using `kubectl` by applying the manifest for <ManifestVersion />:
<InstallationSnippet />
@ -100,10 +99,6 @@ This confirms that the plugin is deployed and ready to use.
## Testing the latest development snapshot
You can also test the latest development snapshot of the plugin with the
following command:
import { DevSnapshotSection } from '@site/src/components/Installation';
```sh
kubectl apply -f \
https://raw.githubusercontent.com/cloudnative-pg/plugin-barman-cloud/refs/heads/main/manifest.yaml
```
<DevSnapshotSection />

View File

@ -1,16 +1,55 @@
import {ReactElement} from 'react';
import CodeBlock from '@theme/CodeBlock';
import {useCurrentVersion} from '@site/src/hooks/versions';
import {useActiveVersion} from '@docusaurus/plugin-content-docs/client';
// InstallationSnippet is the kubectl incantation to install the lastest
// available version of the Barman Cloud Plugin.
// DEV_MANIFEST_URL is the URL of the manifest.yaml on the main branch of the plugin repo.
const DEV_MANIFEST_URL =
'https://raw.githubusercontent.com/cloudnative-pg/plugin-barman-cloud/refs/heads/main/manifest.yaml';
// InstallationSnippet is the kubectl incantation to install the Barman
// Cloud Plugin: the manifest matching the doc version being viewed, or
// (on the unreleased "current" docs) the latest manifest on main.
export function InstallationSnippet(): ReactElement<null> {
const latest = useCurrentVersion('latestReleased');
const activeVersion = useActiveVersion('default');
const url = activeVersion && activeVersion.name !== 'current'
? `https://github.com/cloudnative-pg/plugin-barman-cloud/releases/download/v${activeVersion.name}/manifest.yaml`
: DEV_MANIFEST_URL;
return (
<CodeBlock language="sh">
{`kubectl apply -f \\
https://github.com/cloudnative-pg/plugin-barman-cloud/releases/download/v${latest}/manifest.yaml`}
${url}`}
</CodeBlock>
);
}
// ManifestVersion names the manifest the snippet below installs: the
// release tag for a versioned docs page, or the main branch on Dev docs.
export function ManifestVersion(): ReactElement<null> {
const activeVersion = useActiveVersion('default');
return activeVersion && activeVersion.name !== 'current'
? <code>v{activeVersion.name}</code>
: <>the latest development snapshot from the <code>main</code> branch</>;
}
// DevSnapshotSection offers the main-branch manifest as an alternative;
// on the Dev docs the main install already is that manifest, so hide it.
export function DevSnapshotSection(): ReactElement {
const activeVersion = useActiveVersion('default');
if (!activeVersion || activeVersion.name === 'current') {
return (
<p>The <a href="#installing-the-barman-cloud-plugin">install
command above</a> already applies the latest development
snapshot from the <code>main</code> branch.</p>
);
}
return (
<>
<p>You can also test the latest development snapshot of the plugin
with the following command:</p>
<CodeBlock language="sh">
{`kubectl apply -f \\
${DEV_MANIFEST_URL}`}
</CodeBlock>
</>
);
}

View File

@ -1,36 +0,0 @@
import {useActiveVersion, useLatestVersion, useVersions} from '@docusaurus/plugin-content-docs/client';
export function useCurrentVersion(fallback: 'latest' | 'latestReleased' = 'latest'): string {
switch (fallback) {
case 'latestReleased':
return useLatestReleasedVersion();
case 'latest': {
const version = useActiveVersion('default');
return version?.name ?? useLatestVersion('default')?.name;
}
default:
// The following line ensures that if `fallback` is not 'latest' or 'latestReleased',
// an error is thrown. This can be useful for catching unexpected states.
throw new Error(`Unhandled fallback type: ${fallback}`);
}
}
export function useLatestReleasedVersion(): string {
const allVersions = useVersions('default');
// Filter out "current" to only consider versioned docs
const versionedDocs = allVersions.filter(version => version.name !== 'current');
// Handle the case where no versioned documents are found
if (versionedDocs.length === 0) {
return "unknown_version";
}
const sortedVersions = versionedDocs.sort((a, b) => {
return b.name.localeCompare(a.name, undefined, { numeric: true, sensitivity: 'base' });
});
// The latest version is the first in the sorted list since versionedDocs was not empty,
return sortedVersions[0].name;
}

View File

@ -54,10 +54,9 @@ Both checks are required before proceeding with the installation.
## Installing the Barman Cloud Plugin
import { InstallationSnippet } from '@site/src/components/Installation';
import { InstallationSnippet, ManifestVersion } from '@site/src/components/Installation';
Install the plugin using `kubectl` by applying the manifest for the latest
release:
Install the plugin using `kubectl` by applying the manifest for <ManifestVersion />:
<InstallationSnippet />
@ -100,10 +99,6 @@ This confirms that the plugin is deployed and ready to use.
## Testing the latest development snapshot
You can also test the latest development snapshot of the plugin with the
following command:
import { DevSnapshotSection } from '@site/src/components/Installation';
```sh
kubectl apply -f \
https://raw.githubusercontent.com/cloudnative-pg/plugin-barman-cloud/refs/heads/main/manifest.yaml
```
<DevSnapshotSection />

View File

@ -54,10 +54,9 @@ Both checks are required before proceeding with the installation.
## Installing the Barman Cloud Plugin
import { InstallationSnippet } from '@site/src/components/Installation';
import { InstallationSnippet, ManifestVersion } from '@site/src/components/Installation';
Install the plugin using `kubectl` by applying the manifest for the latest
release:
Install the plugin using `kubectl` by applying the manifest for <ManifestVersion />:
<InstallationSnippet />
@ -100,10 +99,6 @@ This confirms that the plugin is deployed and ready to use.
## Testing the latest development snapshot
You can also test the latest development snapshot of the plugin with the
following command:
import { DevSnapshotSection } from '@site/src/components/Installation';
```sh
kubectl apply -f \
https://raw.githubusercontent.com/cloudnative-pg/plugin-barman-cloud/refs/heads/main/manifest.yaml
```
<DevSnapshotSection />