Compare commits

...

5 Commits

Author SHA1 Message Date
Andreas Lindhé
453c4f0ef5
Merge 313b5cc202 into 9967e2caab 2026-08-07 19:17:36 +00: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
Andreas Lindhé
313b5cc202 Add permissions for Multipart uploads
Signed-off-by: Andreas Lindhé <7773090+lindhe@users.noreply.github.com>
2026-01-30 15:44:11 +01:00
Andreas Lindhé
81efbc50ff Trim AbortMultipartUpload and CreateBucket from the list
Signed-off-by: Andreas Lindhé <7773090+lindhe@users.noreply.github.com>
2026-01-30 15:44:11 +01:00
Andreas Lindhé
9383cf828b Document required S3 bucket policy
Signed-off-by: Andreas Lindhé <7773090+lindhe@users.noreply.github.com>
2026-01-30 15:44:09 +01:00
2 changed files with 50 additions and 4 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

@ -129,6 +129,48 @@ These strategies help you safeguard backups without requiring broad delete
permissions, ensuring both security and compliance with minimal operational permissions, ensuring both security and compliance with minimal operational
overhead. overhead.
### S3 Lifecycle Policy
Barman Cloud requires the following permissions in the S3 bucket:
- [`s3:AbortMultipartUpload`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
- [`s3:DeleteObject`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
- [`s3:GetObject`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
- [`s3:ListBucketMultipartUploads`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)
- [`s3:ListBucket`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
- [`s3:ListMultipartUploadParts`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)
- [`s3:PutObject`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
Here's an example of what such a bucket policy may look like:
```json
{
"Statement": [
{
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/MaryMajor"
},
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket1",
"arn:aws:s3:::amzn-s3-demo-bucket1/*"
],
"Sid": "statement1",
}
],
"Version":"2012-10-17"
}
```
### S3-Compatible Storage Providers ### S3-Compatible Storage Providers
You can use S3-compatible services like **MinIO**, **Linode (Akamai) Object Storage**, You can use S3-compatible services like **MinIO**, **Linode (Akamai) Object Storage**,