This commit is contained in:
2025-11-30 03:37:07 +01:00
parent 9f04b70cd9
commit 86f733b118
3 changed files with 50 additions and 10 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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