mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-09-04 22:22:21 +02:00
Compare commits
2 Commits
4f701201b0
...
93c499cee3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93c499cee3 | ||
|
|
cd71e7d5fd |
@ -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 />
|
||||
|
||||
@ -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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -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 />
|
||||
|
||||
@ -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 />
|
||||
|
||||
@ -8446,9 +8446,9 @@ send@~0.19.0, send@~0.19.1:
|
||||
statuses "~2.0.2"
|
||||
|
||||
serialize-javascript@>=7.0.5, serialize-javascript@^6.0.0, serialize-javascript@^6.0.1:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-7.1.0.tgz#9e462c5c6dec5dbc8b55d90c52a4ad6aff985b9f"
|
||||
integrity sha512-RNEqWOyhhUQYN9V1GfHwu9AR/g+NTciH6Z5u3/no6X3/w+04J2lVDL+svFQVXgXrEGBMG2puMVN3gq2SNGuTGw==
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-7.1.1.tgz#c3b0a7ac13df6cf2fcda71cbb142ba9392a710b9"
|
||||
integrity sha512-k3CMsaIvvdSwm8oLB4MXSl0wH2/cwlH7xGcnRd2DaeRmBkbzYmyT8j0tsX60DwD1eRwHTpNpH8ljKu9oUT1MeQ==
|
||||
|
||||
serve-handler@^6.1.7:
|
||||
version "6.1.7"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user