From 86f733b11889afcb89e80c30be09729a3176af26 Mon Sep 17 00:00:00 2001 From: Mathod Date: Sun, 30 Nov 2025 03:37:07 +0100 Subject: [PATCH] + bucket --- functions/patch-and-transform.yaml | 6 +++ .../s3/compositions/composition.yaml | 50 ++++++++++++++++--- .../s3/compositions/objectstorage.yaml | 4 +- 3 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 functions/patch-and-transform.yaml diff --git a/functions/patch-and-transform.yaml b/functions/patch-and-transform.yaml new file mode 100644 index 0000000..fc2521c --- /dev/null +++ b/functions/patch-and-transform.yaml @@ -0,0 +1,6 @@ +apiVersion: pkg.crossplane.io/v1 +kind: Function +metadata: + name: function-patch-and-transform +spec: + package: xpkg.crossplane.io/crossplane-contrib/function-patch-and-transform:v0.8.2 diff --git a/providers/provider-family-aws/resources/s3/compositions/composition.yaml b/providers/provider-family-aws/resources/s3/compositions/composition.yaml index 0bf7b45..50a4e2c 100644 --- a/providers/provider-family-aws/resources/s3/compositions/composition.yaml +++ b/providers/provider-family-aws/resources/s3/compositions/composition.yaml @@ -29,7 +29,8 @@ spec: forProvider: region: eu-west-1 providerConfigRef: - name: aws-provider + name: default + kind: ProviderConfig patches: - type: FromCompositeFieldPath fromFieldPath: spec.parameters.bucketName @@ -51,20 +52,28 @@ spec: kind: BucketVersioning spec: forProvider: + region: eu-west-1 bucketRef: name: "" versioningConfiguration: - - status: Disabled + status: Disabled providerConfigRef: - name: aws-provider + name: default + kind: ProviderConfig patches: + - type: FromCompositeFieldPath + fromFieldPath: spec.parameters.region + toFieldPath: spec.forProvider.region - type: FromCompositeFieldPath fromFieldPath: spec.parameters.bucketName toFieldPath: spec.forProvider.bucketRef.name - type: FromCompositeFieldPath fromFieldPath: spec.parameters.versioning - toFieldPath: spec.forProvider.versioningConfiguration[0].status + toFieldPath: spec.forProvider.versioningConfiguration.status transforms: + - type: convert + convert: + toType: string - type: map map: "true": Enabled @@ -77,21 +86,29 @@ spec: kind: BucketServerSideEncryptionConfiguration spec: forProvider: + region: eu-west-1 bucketRef: name: "" rule: - applyServerSideEncryptionByDefault: - - sseAlgorithm: AES256 + sseAlgorithm: AES256 providerConfigRef: - name: aws-provider + name: default + kind: ProviderConfig patches: + - type: FromCompositeFieldPath + fromFieldPath: spec.parameters.region + toFieldPath: spec.forProvider.region - type: FromCompositeFieldPath fromFieldPath: spec.parameters.bucketName toFieldPath: spec.forProvider.bucketRef.name - type: FromCompositeFieldPath fromFieldPath: spec.parameters.encryption - toFieldPath: spec.forProvider.rule[0].applyServerSideEncryptionByDefault[0].sseAlgorithm + toFieldPath: spec.forProvider.rule[0].applyServerSideEncryptionByDefault.sseAlgorithm transforms: + - type: convert + convert: + toType: string - type: map map: "true": AES256 @@ -104,6 +121,7 @@ spec: kind: BucketPublicAccessBlock spec: forProvider: + region: eu-west-1 bucketRef: name: "" blockPublicAcls: true @@ -111,8 +129,12 @@ spec: ignorePublicAcls: true restrictPublicBuckets: true providerConfigRef: - name: aws-provider + name: default + kind: ProviderConfig patches: + - type: FromCompositeFieldPath + fromFieldPath: spec.parameters.region + toFieldPath: spec.forProvider.region - type: FromCompositeFieldPath fromFieldPath: spec.parameters.bucketName toFieldPath: spec.forProvider.bucketRef.name @@ -120,6 +142,9 @@ spec: fromFieldPath: spec.parameters.publicAccess toFieldPath: spec.forProvider.blockPublicAcls transforms: + - type: convert + convert: + toType: string - type: map map: "true": false @@ -128,6 +153,9 @@ spec: fromFieldPath: spec.parameters.publicAccess toFieldPath: spec.forProvider.blockPublicPolicy transforms: + - type: convert + convert: + toType: string - type: map map: "true": false @@ -136,6 +164,9 @@ spec: fromFieldPath: spec.parameters.publicAccess toFieldPath: spec.forProvider.ignorePublicAcls transforms: + - type: convert + convert: + toType: string - type: map map: "true": false @@ -144,6 +175,9 @@ spec: fromFieldPath: spec.parameters.publicAccess toFieldPath: spec.forProvider.restrictPublicBuckets transforms: + - type: convert + convert: + toType: string - type: map map: "true": false diff --git a/providers/provider-family-aws/resources/s3/compositions/objectstorage.yaml b/providers/provider-family-aws/resources/s3/compositions/objectstorage.yaml index be14fcf..7a75e96 100644 --- a/providers/provider-family-aws/resources/s3/compositions/objectstorage.yaml +++ b/providers/provider-family-aws/resources/s3/compositions/objectstorage.yaml @@ -2,10 +2,10 @@ apiVersion: mathod.io/v1alpha1 kind: XObjectStorage metadata: name: my-s3-bucket-example - namespace: default + namespace: crossplane-system spec: parameters: - bucketName: mon-bucket-exemple-123 + bucketName: app1-bucket-mathod-93150 region: eu-west-1 versioning: true encryption: true