Skip to content

Commit d8b0cd1

Browse files
committed
K8SPG-624 Add support for Using S3ForcePathStyle / verifyTLS customExtensions
1 parent 972e045 commit d8b0cd1

File tree

14 files changed

+77
-45
lines changed

14 files changed

+77
-45
lines changed

build/crd/percona/generated/pgv2.percona.com_perconapgclusters.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8324,8 +8324,12 @@ spec:
83248324
properties:
83258325
bucket:
83268326
type: string
8327+
disableSSL:
8328+
type: string
83278329
endpoint:
83288330
type: string
8331+
forcePathStyle:
8332+
type: string
83298333
region:
83308334
type: string
83318335
secret:

build/postgres-operator/install-extensions.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ declare -a args=(
99
-type "${STORAGE_TYPE}"
1010
-region "${STORAGE_REGION}"
1111
-bucket "${STORAGE_BUCKET}"
12+
-force-path-style "${STORAGE_FORCE_PATH_STYLE}"
13+
-disable-ssl "${STORAGE_DISABLE_SSL}"
1214
-extension-path "${PGDATA_EXTENSIONS}"
1315
)
1416

cmd/extension-installer/main.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
func main() {
1414
var storageType, endpoint, region, bucket, key, extensionPath string
15-
var install, uninstall bool
15+
var install, uninstall, forcePathStyle, disableSSL bool
1616

1717
flag.StringVar(&storageType, "type", "", "Storage type")
1818
flag.StringVar(&endpoint, "endpoint", "", "Storage endpoint")
@@ -23,6 +23,8 @@ func main() {
2323

2424
flag.BoolVar(&install, "install", false, "Install extension")
2525
flag.BoolVar(&uninstall, "uninstall", false, "Uninstall extension")
26+
flag.BoolVar(&forcePathStyle, "forcePathStyle", false, "Force path style")
27+
flag.BoolVar(&disableSSL, "disableSSL", false, "Disable SSL")
2628
flag.Parse()
2729

2830
if (install && uninstall) || (!install && !uninstall) {
@@ -31,7 +33,7 @@ func main() {
3133

3234
log.Printf("starting extension installer for %s/%s (%s) in %s", bucket, key, storageType, region)
3335

34-
storage := initStorage(extensions.StorageType(storageType), endpoint, bucket, region)
36+
storage := initStorage(extensions.StorageType(storageType), endpoint, bucket, region, forcePathStyle, disableSSL)
3537

3638
packageName := key + ".tar.gz"
3739

@@ -70,10 +72,10 @@ func main() {
7072
}
7173
}
7274

73-
func initStorage(storageType extensions.StorageType, endpoint, bucket, region string) extensions.ObjectGetter {
75+
func initStorage(storageType extensions.StorageType, endpoint, bucket, region string, s3ForcePathStyle, disableSSL bool) extensions.ObjectGetter {
7476
switch storageType {
7577
case extensions.StorageTypeS3:
76-
return extensions.NewS3(endpoint, region, bucket)
78+
return extensions.NewS3(endpoint, region, bucket, s3ForcePathStyle, disableSSL)
7779
default:
7880
log.Fatalf("unknown storage type: %s", os.Getenv("STORAGE_TYPE"))
7981
}

config/crd/bases/pgv2.percona.com_perconapgclusters.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8731,8 +8731,12 @@ spec:
87318731
properties:
87328732
bucket:
87338733
type: string
8734+
disableSSL:
8735+
type: string
87348736
endpoint:
87358737
type: string
8738+
forcePathStyle:
8739+
type: string
87368740
region:
87378741
type: string
87388742
secret:

deploy/bundle.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9028,8 +9028,12 @@ spec:
90289028
properties:
90299029
bucket:
90309030
type: string
9031+
disableSSL:
9032+
type: string
90319033
endpoint:
90329034
type: string
9035+
forcePathStyle:
9036+
type: string
90339037
region:
90349038
type: string
90359039
secret:

deploy/cr.yaml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -581,14 +581,16 @@ spec:
581581
# - pgbackrest
582582
# - basebackup
583583

584-
# extensions:
585-
# image: perconalab/percona-postgresql-operator:main
586-
# imagePullPolicy: Always
587-
# storage:
588-
# type: s3
589-
# bucket: pg-extensions
590-
# region: eu-central-1
591-
# endpoint: s3.eu-central-1.amazonaws.com
584+
extensions:
585+
image: perconalab/percona-postgresql-operator:main
586+
imagePullPolicy: Always
587+
storage:
588+
type: s3
589+
bucket: pg-extensions
590+
region: eu-central-1
591+
endpoint: s3.eu-central-1.amazonaws.com
592+
forcePathStyle: false
593+
disableSSL: false
592594
# secret:
593595
# name: cluster1-extensions-secret
594596
# builtin:

deploy/crd.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9028,8 +9028,12 @@ spec:
90289028
properties:
90299029
bucket:
90309030
type: string
9031+
disableSSL:
9032+
type: string
90319033
endpoint:
90329034
type: string
9035+
forcePathStyle:
9036+
type: string
90339037
region:
90349038
type: string
90359039
secret:

deploy/cw-bundle.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9028,8 +9028,12 @@ spec:
90289028
properties:
90299029
bucket:
90309030
type: string
9031+
disableSSL:
9032+
type: string
90319033
endpoint:
90329034
type: string
9035+
forcePathStyle:
9036+
type: string
90339037
region:
90349038
type: string
90359039
secret:

percona/controller/pgcluster/controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -806,17 +806,17 @@ func (r *PGClusterReconciler) reconcileCustomExtensions(ctx context.Context, cr
806806

807807
for i := 0; i < len(cr.Spec.InstanceSets); i++ {
808808
set := &cr.Spec.InstanceSets[i]
809-
set.InitContainers = append(set.InitContainers, extensions.ExtensionRelocatorContainer(
809+
set.InitContainers = append(set.InitContainers, extensions.RelocatorContainer(
810810
cr, cr.PostgresImage(), cr.Spec.ImagePullPolicy, cr.Spec.PostgresVersion,
811811
))
812-
set.InitContainers = append(set.InitContainers, extensions.ExtensionInstallerContainer(
812+
set.InitContainers = append(set.InitContainers, extensions.InstallerContainer(
813813
cr,
814814
cr.Spec.PostgresVersion,
815815
&cr.Spec.Extensions,
816816
strings.Join(extensionKeys, ","),
817817
cr.Spec.OpenShift,
818818
))
819-
set.VolumeMounts = append(set.VolumeMounts, extensions.ExtensionVolumeMounts(cr.Spec.PostgresVersion)...)
819+
set.VolumeMounts = append(set.VolumeMounts, extensions.VolumeMounts(cr.Spec.PostgresVersion)...)
820820
}
821821
return nil
822822
}

percona/controller/pgupgrade/controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,11 @@ func (r *PGUpgradeReconciler) createPGUpgrade(ctx context.Context, cluster *pgv2
180180
extensionKeys = append(extensionKeys, key)
181181
}
182182

183-
pgUpgrade.Spec.InitContainers = append(pgUpgrade.Spec.InitContainers, extensions.ExtensionRelocatorContainer(
183+
pgUpgrade.Spec.InitContainers = append(pgUpgrade.Spec.InitContainers, extensions.RelocatorContainer(
184184
cluster, *perconaPGUpgrade.Spec.Image, cluster.Spec.ImagePullPolicy, pgVersion,
185185
))
186186

187-
pgUpgrade.Spec.InitContainers = append(pgUpgrade.Spec.InitContainers, extensions.ExtensionInstallerContainer(
187+
pgUpgrade.Spec.InitContainers = append(pgUpgrade.Spec.InitContainers, extensions.InstallerContainer(
188188
cluster,
189189
pgVersion,
190190
&cluster.Spec.Extensions,
@@ -194,7 +194,7 @@ func (r *PGUpgradeReconciler) createPGUpgrade(ctx context.Context, cluster *pgv2
194194
}
195195

196196
// we're only adding the volume mounts for target version since current volume mounts are already mounted
197-
pgUpgrade.Spec.VolumeMounts = append(pgUpgrade.Spec.VolumeMounts, extensions.ExtensionVolumeMounts(
197+
pgUpgrade.Spec.VolumeMounts = append(pgUpgrade.Spec.VolumeMounts, extensions.VolumeMounts(
198198
perconaPGUpgrade.Spec.ToPostgresVersion)...,
199199
)
200200

0 commit comments

Comments
 (0)