Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

K8SPG-728: Configure s3 to support minio for extensions #1034

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ali3bdalla
Copy link

@ali3bdalla ali3bdalla commented Feb 1, 2025

K8SPG-728 Powered by Pull Request Badge

CHANGE DESCRIPTION

Problem:
Extensions storage was not compatible with MinIO due to incorrect S3 configuration.

Cause:
The S3 client did not force path-style addressing, and SSL verification issues were preventing proper connections to the MinIO instance.

Solution:
Updated S3 configuration to support MinIO by enabling path-style addressing and allowing optional TLS verification settings..

CHECKLIST

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 PG version?
  • Does the change support oldest and newest supported Kubernetes version?

@it-percona-cla
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@JNKPercona
Copy link
Collaborator

Test name Status
custom-extensions passed
custom-tls passed
demand-backup failure
finalizers passed
init-deploy passed
monitoring passed
one-pod passed
operator-self-healing passed
pitr passed
scaling passed
scheduled-backup passed
self-healing passed
sidecars passed
start-from-backup passed
tablespaces passed
telemetry-transfer passed
upgrade-consistency passed
upgrade-minor passed
users passed
We run 19 out of 19

commit: 3e6b405
image: perconalab/percona-postgresql-operator:PR-1034-3e6b405ea

@egegunes egegunes changed the title configure s3 to support minio K8SPG-728: Configure s3 to support minio for extensions Feb 10, 2025
@egegunes
Copy link
Contributor

egegunes commented Feb 10, 2025

@ali3bdalla thank you for your contribution.

I don't think these changes are enough, because newly added fields won't be used ever.

We need to do the following:

  1. Add these new fields into https://github.com/ali3bdalla/percona-postgresql-operator/blob/3e6b405eaece1640fd19a9a6233b48d0ff7e65a5/pkg/apis/pgv2.percona.com/v2/perconapgcluster_types.go#L583-L591
  2. Pass these fields' values to extension installer container in https://github.com/ali3bdalla/percona-postgresql-operator/blob/3e6b405eaece1640fd19a9a6233b48d0ff7e65a5/percona/extensions/k8s.go#L63-L93. We need to add these fields only for >= 2.7.0, so please add them conditionally by checking cr.CompareVersion("2.7.0") >= 0
  3. Finally pass the flags to extension-installer binary in https://github.com/ali3bdalla/percona-postgresql-operator/blob/3e6b405eaece1640fd19a9a6233b48d0ff7e65a5/build/postgres-operator/install-extensions.sh#L8-L14

cfg := aws.NewConfig().WithRegion(region)

if(uriStyle == "path") {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if(uriStyle == "path") {
if uriStyle == "path" {

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

Successfully merging this pull request may close these issues.

6 participants