Skip to content

K8SPXC-1679: add prefix and checksumAlgorithm to s3 storages#2382

Open
pooknull wants to merge 11 commits intomainfrom
K8SPXC-1679-prefix
Open

K8SPXC-1679: add prefix and checksumAlgorithm to s3 storages#2382
pooknull wants to merge 11 commits intomainfrom
K8SPXC-1679-prefix

Conversation

@pooknull
Copy link
Copy Markdown
Contributor

@pooknull pooknull commented Mar 9, 2026

https://perconadev.atlassian.net/browse/K8SPXC-1679

DESCRIPTION

This PR adds prefix and checksumAlgorithm fields to the S3 backup storages.

prefix - lets define the object path separately from the bucket name. If bucket already contains a path (for example bucket: operator-testing/prefix with prefix: subfolder), the operator appends the prefix to the end of bucket path (operator-testing/prefix/subfolder).

checksumAlgorithm - lets users choose the checksum (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html#using-additional-checksums) used for S3 uploads. In practice it is mainly used only for PITR collector since xbcloud doesn't support checksums.

CHECKLIST

Jira

  • Is the Jira ticket created and referenced properly?
  • Does the Jira ticket have the proper statuses for documentation (Needs Doc) and QA (Needs QA)?
  • Does the Jira ticket link to the proper milestone (Fix Version field)?

Tests

  • Is an E2E test/test case added for the new feature/change?
  • Are unit tests added where appropriate?
  • Are OpenShift compare files changed for E2E tests (compare/*-oc.yml)?

Config/Logging/Testability

  • Are all needed new/changed options added to default YAML files?
  • Are all needed new/changed options added to the Helm Chart?
  • Did we add proper logging messages for operator actions?
  • Did we ensure compatibility with the previous version or cluster upgrade process?
  • Does the change support oldest and newest supported PXC version?
  • Does the change support oldest and newest supported Kubernetes version?

@pull-request-size pull-request-size bot added the size/L 100-499 lines label Mar 9, 2026
@pull-request-size pull-request-size bot added size/XL 500-999 lines and removed size/L 100-499 lines labels Mar 19, 2026
@pooknull pooknull marked this pull request as ready for review March 19, 2026 12:30
@egegunes egegunes added this to the v1.20.0 milestone Mar 30, 2026
@JNKPercona
Copy link
Copy Markdown
Collaborator

Test Name Result Time
auto-tuning-8-0 passed 00:20:50
allocator-8-0 passed 00:13:45
allocator-8-4 passed 00:14:02
backup-storage-tls-8-0 passed 00:22:35
cross-site-8-0 passed 00:37:29
custom-users-8-0 passed 00:12:27
demand-backup-cloud-8-0 passed 01:01:57
demand-backup-cloud-8-4 passed 01:02:14
demand-backup-cloud-pxb-8-0 passed 00:56:56
demand-backup-encrypted-with-tls-5-7 passed 00:49:16
demand-backup-encrypted-with-tls-8-0 passed 00:47:37
demand-backup-encrypted-with-tls-8-4 passed 00:48:41
demand-backup-encrypted-with-tls-pxb-5-7 passed 00:19:07
demand-backup-encrypted-with-tls-pxb-8-0 passed 00:18:18
demand-backup-encrypted-with-tls-pxb-8-4 passed 00:18:53
demand-backup-8-0 failure 00:36:07
demand-backup-flow-control-8-0 passed 00:11:30
demand-backup-flow-control-8-4 passed 00:11:23
demand-backup-parallel-8-0 passed 00:09:46
demand-backup-parallel-8-4 passed 00:10:18
demand-backup-without-passwords-8-0 passed 00:16:43
demand-backup-without-passwords-8-4 passed 00:16:57
extra-pvc-8-0 passed 00:25:30
haproxy-5-7 passed 00:15:22
haproxy-8-0 passed 00:15:16
haproxy-8-4 passed 00:15:14
init-deploy-5-7 passed 00:17:14
init-deploy-8-0 passed 00:18:43
limits-8-0 passed 00:12:52
monitoring-2-0-8-0 passed 00:24:37
monitoring-pmm3-8-0 passed 00:19:59
monitoring-pmm3-8-4 passed 00:20:56
one-pod-5-7 passed 00:15:09
one-pod-8-0 passed 00:14:11
pitr-8-0 passed 00:48:21
pitr-8-4 passed 00:48:13
pitr-pxb-8-0 passed 00:47:01
pitr-pxb-8-4 passed 00:48:34
pitr-gap-errors-8-0 passed 00:51:05
pitr-gap-errors-8-4 passed 00:51:14
proxy-protocol-8-0 passed 00:09:49
proxy-switch-8-0 passed 00:14:36
proxysql-sidecar-res-limits-8-0 passed 00:09:08
proxysql-scheduler-8-0 failure 00:16:01
pvc-resize-5-7 passed 00:18:07
pvc-resize-8-0 passed 00:18:31
recreate-8-0 passed 00:19:05
restore-to-encrypted-cluster-8-0 passed 00:27:09
restore-to-encrypted-cluster-8-4 passed 00:27:30
restore-to-encrypted-cluster-pxb-8-0 passed 00:16:41
restore-to-encrypted-cluster-pxb-8-4 passed 00:16:47
scaling-proxysql-8-0 passed 00:09:00
scaling-8-0 passed 00:10:57
scheduled-backup-5-7 passed 01:09:36
scheduled-backup-8-0 passed 01:05:00
scheduled-backup-8-4 passed 01:08:25
security-context-8-0 passed 00:26:29
smart-update1-8-0 passed 00:33:43
smart-update1-8-4 passed 00:34:36
smart-update2-8-0 passed 00:39:32
smart-update2-8-4 passed 00:40:20
smart-update3-8-0 passed 00:17:23
storage-8-0 passed 00:11:07
tls-issue-cert-manager-ref-8-0 passed 00:09:14
tls-issue-cert-manager-8-0 passed 00:10:22
tls-issue-self-8-0 passed 00:14:23
upgrade-consistency-8-0 passed 00:12:25
upgrade-consistency-8-4 passed 00:12:13
upgrade-haproxy-5-7 passed 00:27:08
upgrade-haproxy-8-0 passed 00:27:10
upgrade-proxysql-5-7 passed 00:15:35
upgrade-proxysql-8-0 passed 00:16:03
users-5-7 failure 00:00:48
users-8-0 failure 00:00:11
users-scheduler-8-4 failure 00:00:47
validation-hook-8-0 passed 00:01:49
Summary Value
Tests Run 76/76
Job Duration 04:11:52
Total Test Time 31:34:38

commit: 13dc5c0
image: perconalab/percona-xtradb-cluster-operator:PR-2382-13dc5c0a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XL 500-999 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants