Skip to content

Commit ed35964

Browse files
committed
K8SPG-624 Add support for Using S3ForcePathStyle / verifyTLS customExtensions
1 parent 65f6d19 commit ed35964

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
@@ -8340,8 +8340,12 @@ spec:
83408340
properties:
83418341
bucket:
83428342
type: string
8343+
disableSSL:
8344+
type: string
83438345
endpoint:
83448346
type: string
8347+
forcePathStyle:
8348+
type: string
83458349
region:
83468350
type: string
83478351
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
@@ -8747,8 +8747,12 @@ spec:
87478747
properties:
87488748
bucket:
87498749
type: string
8750+
disableSSL:
8751+
type: string
87508752
endpoint:
87518753
type: string
8754+
forcePathStyle:
8755+
type: string
87528756
region:
87538757
type: string
87548758
secret:

deploy/bundle.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9044,8 +9044,12 @@ spec:
90449044
properties:
90459045
bucket:
90469046
type: string
9047+
disableSSL:
9048+
type: string
90479049
endpoint:
90489050
type: string
9051+
forcePathStyle:
9052+
type: string
90499053
region:
90509054
type: string
90519055
secret:

deploy/cr.yaml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -621,14 +621,16 @@ spec:
621621
# - pgbackrest
622622
# - basebackup
623623

624-
# extensions:
625-
# image: perconalab/percona-postgresql-operator:main
626-
# imagePullPolicy: Always
627-
# storage:
628-
# type: s3
629-
# bucket: pg-extensions
630-
# region: eu-central-1
631-
# endpoint: s3.eu-central-1.amazonaws.com
624+
extensions:
625+
image: perconalab/percona-postgresql-operator:main
626+
imagePullPolicy: Always
627+
storage:
628+
type: s3
629+
bucket: pg-extensions
630+
region: eu-central-1
631+
endpoint: s3.eu-central-1.amazonaws.com
632+
forcePathStyle: false
633+
disableSSL: false
632634
# secret:
633635
# name: cluster1-extensions-secret
634636
# builtin:

deploy/crd.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9044,8 +9044,12 @@ spec:
90449044
properties:
90459045
bucket:
90469046
type: string
9047+
disableSSL:
9048+
type: string
90479049
endpoint:
90489050
type: string
9051+
forcePathStyle:
9052+
type: string
90499053
region:
90509054
type: string
90519055
secret:

deploy/cw-bundle.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9044,8 +9044,12 @@ spec:
90449044
properties:
90459045
bucket:
90469046
type: string
9047+
disableSSL:
9048+
type: string
90479049
endpoint:
90489050
type: string
9051+
forcePathStyle:
9052+
type: string
90499053
region:
90509054
type: string
90519055
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)