mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-09-04 22:22:21 +02:00
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. Build the manifest URL from the active doc version directly: each versioned page links its own release tag, and the unreleased "current" docs link the manifest built off `main` instead of a (nonexistent) release tag. --------- Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com> Signed-off-by: Danish <danish.khan@enterprisedb.com> Co-authored-by: Danish <danish.khan@enterprisedb.com>
56 lines
2.3 KiB
TypeScript
56 lines
2.3 KiB
TypeScript
import {ReactElement} from 'react';
|
|
import CodeBlock from '@theme/CodeBlock';
|
|
import {useActiveVersion} from '@docusaurus/plugin-content-docs/client';
|
|
|
|
// 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 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 \\
|
|
${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>
|
|
</>
|
|
);
|
|
}
|