mirror of
https://github.com/cloudnative-pg/plugin-barman-cloud.git
synced 2026-03-10 12:42:20 +01:00
Compare commits
5 Commits
7fe4e77f72
...
59c1076b1f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59c1076b1f | ||
|
|
08ab561429 | ||
|
|
313b5cc202 | ||
|
|
81efbc50ff | ||
|
|
9383cf828b |
@ -86,7 +86,7 @@ tasks:
|
||||
# renovate: datasource=git-refs depName=crd-gen-refs lookupName=https://github.com/cloudnative-pg/daggerverse currentValue=main
|
||||
DAGGER_CRDGENREF_SHA: ee59e34a99940e45f87a16177b1d640975b05b74
|
||||
# renovate: datasource=go depName=github.com/elastic/crd-ref-docs
|
||||
CRDREFDOCS_VERSION: v0.2.0
|
||||
CRDREFDOCS_VERSION: v0.3.0
|
||||
cmds:
|
||||
- >
|
||||
GITHUB_REF= dagger -s call -m github.com/cloudnative-pg/daggerverse/crd-ref-docs@${DAGGER_CRDGENREF_SHA}
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
processor:
|
||||
ignoreGroupVersions:
|
||||
- "GVK"
|
||||
customMarkers:
|
||||
- name: "optional"
|
||||
target: field
|
||||
ignoreFields:
|
||||
# - "status$"
|
||||
- "TypeMeta$"
|
||||
|
||||
@ -31,7 +31,7 @@ _Appears in:_
|
||||
{{ end -}}
|
||||
|
||||
{{ range $type.Members -}}
|
||||
| `{{ .Name }}` _{{ markdownRenderType .Type }}_ | {{ template "type_members" . }} | {{ if not .Markers.optional -}}True{{- end }} | {{ markdownRenderDefault .Default }} | {{ range .Validation -}} {{ markdownRenderFieldDoc . }} <br />{{ end }} |
|
||||
| `{{ .Name }}` _{{ markdownRenderType .Type }}_ | {{ template "type_members" . }} | {{ if not .Markers.optional -}}True{{- end }} | {{ markdownRenderDefault .Default }} | {{ range .Validation -}}{{- $v := markdownRenderFieldDoc . }}{{- if and $v (ne $v "Optional: \\{\\}") -}} {{ $v }} <br />{{ end }}{{- end }} |
|
||||
{{ end -}}
|
||||
|
||||
{{ end -}}
|
||||
|
||||
@ -129,6 +129,48 @@ These strategies help you safeguard backups without requiring broad delete
|
||||
permissions, ensuring both security and compliance with minimal operational
|
||||
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
|
||||
|
||||
You can use S3-compatible services like **MinIO**, **Linode (Akamai) Object Storage**,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user