Skip to content

Commit 93c0dc2

Browse files
committed
fix: can not remove secretKeySelectors when useIamRole is true in SGObjectStorage
1 parent b3b81af commit 93c0dc2

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

stackgres-k8s/src/operator/src/main/java/io/stackgres/operator/validation/objectstorage/ObjectStorageTypeValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public void validate(StackGresObjectStorageReview review) throws ValidationFaile
3838
fail("Invalid object storage. If storage type is s3, the s3 property must be set");
3939
}
4040
if (backupStorage.getS3() != null
41-
&& Optional.ofNullable(backupStorage.getS3())
41+
&& !Optional.ofNullable(backupStorage.getS3())
4242
.map(AwsS3Storage::getAwsCredentials)
4343
.map(AwsCredentials::getUseIamRole)
4444
.orElse(false)

stackgres-k8s/src/operator/src/test/java/io/stackgres/operator/validation/objectstorage/ObjectStorageTypeValidatorTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static org.junit.jupiter.api.Assertions.assertEquals;
99
import static org.junit.jupiter.api.Assertions.assertThrows;
1010

11+
import io.stackgres.common.crd.storages.AwsCredentials;
1112
import io.stackgres.common.crd.storages.AwsS3CompatibleStorage;
1213
import io.stackgres.common.crd.storages.AwsS3Storage;
1314
import io.stackgres.common.crd.storages.AzureBlobStorage;
@@ -103,6 +104,8 @@ void testUnwantedPropertiesSet() {
103104
+ "If storage type is s3, neither s3Compatible, gcs or azureBlob must be set";
104105

105106
review.getRequest().getObject().getSpec().setS3(new AwsS3Storage());
107+
review.getRequest().getObject().getSpec().getS3().setAwsCredentials(new AwsCredentials());
108+
review.getRequest().getObject().getSpec().getS3().getAwsCredentials().setUseIamRole(true);
106109

107110
review.getRequest().getObject().getSpec().setS3Compatible(new AwsS3CompatibleStorage());
108111
assertObjectStorageReviewMessage(review, unwantedS3Message);
@@ -180,6 +183,8 @@ void testValidCreation() throws ValidationFailed {
180183
setType(review, "s3");
181184
setNullStorages(review);
182185
review.getRequest().getObject().getSpec().setS3(new AwsS3Storage());
186+
review.getRequest().getObject().getSpec().getS3().setAwsCredentials(new AwsCredentials());
187+
review.getRequest().getObject().getSpec().getS3().getAwsCredentials().setUseIamRole(true);
183188
validator.validate(review);
184189

185190
setType(review, "s3Compatible");
@@ -206,6 +211,8 @@ void testValidUpdate() throws ValidationFailed {
206211
setType(review, "s3");
207212
setNullStorages(review);
208213
review.getRequest().getObject().getSpec().setS3(new AwsS3Storage());
214+
review.getRequest().getObject().getSpec().getS3().setAwsCredentials(new AwsCredentials());
215+
review.getRequest().getObject().getSpec().getS3().getAwsCredentials().setUseIamRole(true);
209216
validator.validate(review);
210217

211218
setType(review, "s3Compatible");

0 commit comments

Comments
 (0)