Compare commits

...

5 Commits

Author SHA1 Message Date
Itay Grudev
d1d7cf5ea0
Merge 432a875f0f into 9967e2caab 2026-08-06 13:36:29 +03:00
Gabriele Bartolini
9967e2caab
chore: sync CODEOWNERS with cnpg-infra policy (#1047)
Regenerates this repo's CODEOWNERS from cloudnative-pg/cnpg-infra's
`componentowners-policy.yaml`, the org's tracked desired state for
CODEOWNERS content.

- Routes ownership through this repo's dedicated GitHub owners team
instead of hardcoded usernames, so membership changes are picked up
automatically.
- Any path-scoped rule now also includes the repo's general owners, so a
path rule adds reviewers rather than silently replacing the `*` rule's
owners for that subtree (CODEOWNERS only honors the last matching
pattern, it does not merge).

See cloudnative-pg/cnpg-infra for the policy this is generated from.

Assisted-by: Claude

Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
2026-08-06 19:30:12 +10:00
Itay Grudev
432a875f0f
Merge branch 'main' into docs/351 2026-07-13 14:19:05 +03:00
Itay Grudev
7f4ca7b67c
Merge branch 'main' into docs/351 2026-07-10 17:26:06 +03:00
Itay Grudev
08ffeaae95 fix(docs): installation instructions using the helm chart
Signed-off-by: Itay Grudev <itay@verito.digital>
2026-06-29 15:05:37 +03:00
7 changed files with 115 additions and 27 deletions

View File

@ -1,5 +1,9 @@
# The CODEOWNERS file is used to define individuals or teams that are # This file is generated from componentowners-policy.yaml in
# responsible for code in a repository. For details, please refer to # cloudnative-pg/cnpg-infra — do not hand-edit, propose changes there instead.
# https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-code-owners #
# Path-scoped rules below always include the repo's own general owners
# (the "*" line) in addition to their own specific teams/users, since
# CODEOWNERS only honors the LAST matching pattern for a given path —
# it does not merge an earlier, less-specific rule into a later one.
* @leonardoce @mnencia @gbartolini @fcanovai @armru @NiccoloFei * @cloudnative-pg/plugin-barman-cloud-owners

View File

@ -57,7 +57,7 @@ Both checks are required before proceeding with the installation.
import { InstallationSnippet } from '@site/src/components/Installation'; import { InstallationSnippet } 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 the latest
release: release or using the Helm chart:
<InstallationSnippet /> <InstallationSnippet />

View File

@ -485,14 +485,10 @@ If problems persist:
### Plugin Limitations ### Plugin Limitations
1. **Installation method**: Currently only supports manifest and Kustomize 1. **Sidecar resource sharing**: The plugin sidecar container shares pod
installation ([#351](https://github.com/cloudnative-pg/plugin-barman-cloud/issues/351) -
Helm chart requested)
2. **Sidecar resource sharing**: The plugin sidecar container shares pod
resources with PostgreSQL resources with PostgreSQL
3. **Plugin restart behavior**: Restarting the sidecar container requires 2. **Plugin restart behavior**: Restarting the sidecar container requires
restarting the entire PostgreSQL pod restarting the entire PostgreSQL pod
## Recap of General Debugging Steps ## Recap of General Debugging Steps
@ -588,4 +584,3 @@ kubectl get secret -n <namespace> <secret-name> -o jsonpath='{.data}' | jq 'keys
* **"NoSuchBucket"** — Verify the bucket exists and the endpoint URL is correct. * **"NoSuchBucket"** — Verify the bucket exists and the endpoint URL is correct.
* **"Connection timeout"** — Check network connectivity and firewall rules. * **"Connection timeout"** — Check network connectivity and firewall rules.
* **"SSL certificate problem"** — For self-signed certificates, verify the CA bundle configuration. * **"SSL certificate problem"** — For self-signed certificates, verify the CA bundle configuration.

View File

@ -1,16 +1,31 @@
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 {useCurrentVersion} from '@site/src/hooks/versions';
import {MultiLangCodeBlock} from '@site/src/components/MultiLangCodeBlock';
// InstallationSnippet is the kubectl incantation to install the lastest // InstallationSnippet is the kubectl incantation to install the lastest
// available version of the Barman Cloud Plugin. // available version of the Barman Cloud Plugin.
export function InstallationSnippet(): ReactElement<null> { export function InstallationSnippet(): ReactElement<null> {
const latest = useCurrentVersion('latestReleased'); const latest = useCurrentVersion('latestReleased');
return (
<CodeBlock language="sh">
{`kubectl apply -f \\
https://github.com/cloudnative-pg/plugin-barman-cloud/releases/download/v${latest}/manifest.yaml`}
</CodeBlock>
);
}
const snippets = [
{
label: 'kubectl',
language: 'sh',
code: `kubectl apply -f \\
https://github.com/cloudnative-pg/plugin-barman-cloud/releases/download/v${latest}/manifest.yaml`,
},
{
label: 'Helm',
language: 'sh',
code: `helm repo add cnpg https://cloudnative-pg.github.io/charts
helm repo update
helm upgrade \\
--install \\
--namespace cnpg-system \\
plugin-barman-cloud cnpg/plugin-barman-cloud`,
},
];
return <MultiLangCodeBlock snippets={snippets} />;
}

View File

@ -0,0 +1,79 @@
import React, {ReactElement, useState} from 'react';
import CodeBlock from '@theme/CodeBlock';
export type Snippet = {
label: string; // visible tab label (e.g. "Shell", "Helm", "Go")
language: string; // language prop for CodeBlock (e.g. "sh", "yaml", "go")
code: string; // the snippet to display
};
type Props = {
snippets: Snippet[];
defaultIndex?: number;
className?: string;
};
export function MultiLangCodeBlock({snippets, defaultIndex = 0, className}: Props): ReactElement | null {
const safeDefault = Math.max(0, Math.min(defaultIndex, snippets.length - 1));
const [active, setActive] = useState<number>(snippets.length > 0 ? safeDefault : -1);
if (snippets.length === 0) return null;
const tabStyle: React.CSSProperties = {
padding: '0.3rem 0.5rem',
cursor: 'pointer',
border: '0',
borderRadius: 'var(--ifm-code-border-radius)',
margin: '0 0 0 0',
fontSize: '0.8125rem',
color: 'inherit',
};
const activeTabStyle: React.CSSProperties = {
...tabStyle,
fontWeight: 700,
};
const tabsContainerStyle: React.CSSProperties = {
display: 'flex',
alignItems: 'flex-end',
justifyContent: 'flex-end',
gap: '0.25rem',
margin: '0 0 -0.5rem',
padding: '0.5rem 0.5rem 1rem',
flexWrap: 'wrap',
};
const wrapperStyle: React.CSSProperties = {
overflow: 'hidden',
padding: '0',
};
return (
<div className={className} style={wrapperStyle}>
<div role="tablist" aria-label="Code snippets" style={tabsContainerStyle}>
{snippets.map((ex, idx) => (
<button
key={ex.label + idx}
role="tab"
aria-selected={active === idx}
aria-controls={`code-panel-${idx}`}
id={`code-tab-${idx}`}
onClick={() => setActive(idx)}
style={active === idx ? activeTabStyle : tabStyle}
>
{ex.label}
</button>
))}
</div>
<div role="tabpanel" id={`code-panel-${active}`} aria-labelledby={`code-tab-${active}`}>
<CodeBlock language={snippets[active].language}>
{snippets[active].code}
</CodeBlock>
</div>
</div>
);
}
export default MultiLangCodeBlock;

View File

@ -57,7 +57,7 @@ Both checks are required before proceeding with the installation.
import { InstallationSnippet } from '@site/src/components/Installation'; import { InstallationSnippet } 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 the latest
release: release or using the Helm chart:
<InstallationSnippet /> <InstallationSnippet />

View File

@ -485,14 +485,10 @@ If problems persist:
### Plugin Limitations ### Plugin Limitations
1. **Installation method**: Currently only supports manifest and Kustomize 1. **Sidecar resource sharing**: The plugin sidecar container shares pod
installation ([#351](https://github.com/cloudnative-pg/plugin-barman-cloud/issues/351) -
Helm chart requested)
2. **Sidecar resource sharing**: The plugin sidecar container shares pod
resources with PostgreSQL resources with PostgreSQL
3. **Plugin restart behavior**: Restarting the sidecar container requires 2. **Plugin restart behavior**: Restarting the sidecar container requires
restarting the entire PostgreSQL pod restarting the entire PostgreSQL pod
## Recap of General Debugging Steps ## Recap of General Debugging Steps
@ -588,4 +584,3 @@ kubectl get secret -n <namespace> <secret-name> -o jsonpath='{.data}' | jq 'keys
* **"NoSuchBucket"** — Verify the bucket exists and the endpoint URL is correct. * **"NoSuchBucket"** — Verify the bucket exists and the endpoint URL is correct.
* **"Connection timeout"** — Check network connectivity and firewall rules. * **"Connection timeout"** — Check network connectivity and firewall rules.
* **"SSL certificate problem"** — For self-signed certificates, verify the CA bundle configuration. * **"SSL certificate problem"** — For self-signed certificates, verify the CA bundle configuration.