Compare commits

..

2 Commits

Author SHA1 Message Date
Peggie
e817dde1b6
Merge 13b545f5c0 into ad5311efa5 2026-08-28 10:46:32 +02:00
Peggie
13b545f5c0 chore(main): release 0.15.0
Signed-off-by: Peggie <info@cloudnative-pg.io>
2026-08-28 10:46:30 +02:00
7 changed files with 70 additions and 58 deletions

View File

@ -1,6 +1,6 @@
# Changelog
## [0.15.0](https://github.com/cloudnative-pg/plugin-barman-cloud/compare/v0.14.0...v0.15.0) (2026-08-31)
## [0.15.0](https://github.com/cloudnative-pg/plugin-barman-cloud/compare/v0.14.0...v0.15.0) (2026-08-28)
### Features

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

View File

@ -1,55 +1,16 @@
import {ReactElement} from 'react';
import CodeBlock from '@theme/CodeBlock';
import {useActiveVersion} from '@docusaurus/plugin-content-docs/client';
import {useCurrentVersion} from '@site/src/hooks/versions';
// 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.
// InstallationSnippet is the kubectl incantation to install the lastest
// available version of the Barman Cloud Plugin.
export function InstallationSnippet(): ReactElement<null> {
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;
const latest = useCurrentVersion('latestReleased');
return (
<CodeBlock language="sh">
{`kubectl apply -f \\
${url}`}
https://github.com/cloudnative-pg/plugin-barman-cloud/releases/download/v${latest}/manifest.yaml`}
</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>
</>
);
}

36
web/src/hooks/versions.ts Normal file
View File

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

View File

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