mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-09-04 22:22:21 +02:00
Compare commits
2 Commits
fd8924432a
...
5941be5c76
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5941be5c76 | ||
|
|
cd71e7d5fd |
@ -54,10 +54,9 @@ Both checks are required before proceeding with the installation.
|
|||||||
|
|
||||||
## Installing the Barman Cloud Plugin
|
## 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
|
Install the plugin using `kubectl` by applying the manifest for <ManifestVersion />:
|
||||||
release:
|
|
||||||
|
|
||||||
<InstallationSnippet />
|
<InstallationSnippet />
|
||||||
|
|
||||||
@ -100,10 +99,6 @@ This confirms that the plugin is deployed and ready to use.
|
|||||||
|
|
||||||
## Testing the latest development snapshot
|
## Testing the latest development snapshot
|
||||||
|
|
||||||
You can also test the latest development snapshot of the plugin with the
|
import { DevSnapshotSection } from '@site/src/components/Installation';
|
||||||
following command:
|
|
||||||
|
|
||||||
```sh
|
<DevSnapshotSection />
|
||||||
kubectl apply -f \
|
|
||||||
https://raw.githubusercontent.com/cloudnative-pg/plugin-barman-cloud/refs/heads/main/manifest.yaml
|
|
||||||
```
|
|
||||||
|
|||||||
@ -1,16 +1,55 @@
|
|||||||
import {ReactElement} from 'react';
|
import {ReactElement} from 'react';
|
||||||
import CodeBlock from '@theme/CodeBlock';
|
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
|
// DEV_MANIFEST_URL is the URL of the manifest.yaml on the main branch of the plugin repo.
|
||||||
// available version of the Barman Cloud Plugin.
|
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> {
|
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 (
|
return (
|
||||||
<CodeBlock language="sh">
|
<CodeBlock language="sh">
|
||||||
{`kubectl apply -f \\
|
{`kubectl apply -f \\
|
||||||
https://github.com/cloudnative-pg/plugin-barman-cloud/releases/download/v${latest}/manifest.yaml`}
|
${url}`}
|
||||||
</CodeBlock>
|
</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
|
## 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
|
Install the plugin using `kubectl` by applying the manifest for <ManifestVersion />:
|
||||||
release:
|
|
||||||
|
|
||||||
<InstallationSnippet />
|
<InstallationSnippet />
|
||||||
|
|
||||||
@ -100,10 +99,6 @@ This confirms that the plugin is deployed and ready to use.
|
|||||||
|
|
||||||
## Testing the latest development snapshot
|
## Testing the latest development snapshot
|
||||||
|
|
||||||
You can also test the latest development snapshot of the plugin with the
|
import { DevSnapshotSection } from '@site/src/components/Installation';
|
||||||
following command:
|
|
||||||
|
|
||||||
```sh
|
<DevSnapshotSection />
|
||||||
kubectl apply -f \
|
|
||||||
https://raw.githubusercontent.com/cloudnative-pg/plugin-barman-cloud/refs/heads/main/manifest.yaml
|
|
||||||
```
|
|
||||||
|
|||||||
@ -54,10 +54,9 @@ Both checks are required before proceeding with the installation.
|
|||||||
|
|
||||||
## Installing the Barman Cloud Plugin
|
## 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
|
Install the plugin using `kubectl` by applying the manifest for <ManifestVersion />:
|
||||||
release:
|
|
||||||
|
|
||||||
<InstallationSnippet />
|
<InstallationSnippet />
|
||||||
|
|
||||||
@ -100,10 +99,6 @@ This confirms that the plugin is deployed and ready to use.
|
|||||||
|
|
||||||
## Testing the latest development snapshot
|
## Testing the latest development snapshot
|
||||||
|
|
||||||
You can also test the latest development snapshot of the plugin with the
|
import { DevSnapshotSection } from '@site/src/components/Installation';
|
||||||
following command:
|
|
||||||
|
|
||||||
```sh
|
<DevSnapshotSection />
|
||||||
kubectl apply -f \
|
|
||||||
https://raw.githubusercontent.com/cloudnative-pg/plugin-barman-cloud/refs/heads/main/manifest.yaml
|
|
||||||
```
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user