use of io.stackgres.common.crd.storages.AwsCredentials in project stackgres by ongres.
the class BackupConfigSourceValidatorTest method setS3Credentials.
private void setS3Credentials(final BackupConfigReview review, String accessKeyIdName, String accessKeyIdKey, String secretAccessKeyName, String secretAccessKeyKey) {
BackupStorage storage = review.getRequest().getObject().getSpec().getStorage();
storage.setType("s3");
storage.setS3(new AwsS3Storage());
storage.getS3().setAwsCredentials(new AwsCredentials());
storage.getS3().getAwsCredentials().setSecretKeySelectors(new AwsSecretKeySelector());
AwsSecretKeySelector awsSecretKeySelector = storage.getS3().getAwsCredentials().getSecretKeySelectors();
awsSecretKeySelector.setAccessKeyId(new SecretKeySelector(accessKeyIdKey, accessKeyIdName));
awsSecretKeySelector.setSecretAccessKey(new SecretKeySelector(secretAccessKeyKey, secretAccessKeyName));
}
use of io.stackgres.common.crd.storages.AwsCredentials in project stackgres by ongres.
the class BackupConfigSourceValidatorTest method setS3CompatibleCredentials.
private void setS3CompatibleCredentials(final BackupConfigReview review, String accessKeyIdName, String accessKeyIdKey, String secretAccessKeyName, String secretAccessKeyKey) {
BackupStorage storage = review.getRequest().getObject().getSpec().getStorage();
storage.setType("s3compatible");
storage.setS3Compatible(new AwsS3CompatibleStorage());
storage.getS3Compatible().setAwsCredentials(new AwsCredentials());
storage.getS3Compatible().getAwsCredentials().setSecretKeySelectors(new AwsSecretKeySelector());
AwsSecretKeySelector awsSecretKeySelector = storage.getS3Compatible().getAwsCredentials().getSecretKeySelectors();
awsSecretKeySelector.setAccessKeyId(new SecretKeySelector(accessKeyIdKey, accessKeyIdName));
awsSecretKeySelector.setSecretAccessKey(new SecretKeySelector(secretAccessKeyKey, secretAccessKeyName));
}
use of io.stackgres.common.crd.storages.AwsCredentials in project stackgres by ongres.
the class BackupConfigStorageValidator method validate.
@Override
public void validate(BackupConfigReview review) throws ValidationFailed {
Operation operation = review.getRequest().getOperation();
if (operation == Operation.CREATE || operation == Operation.UPDATE) {
String namespace = review.getRequest().getObject().getMetadata().getNamespace();
String storageType = review.getRequest().getObject().getSpec().getStorage().getType();
if (storageType.equals("s3") && review.getRequest().getObject().getSpec().getStorage().getS3() != null) {
AwsCredentials credentials = review.getRequest().getObject().getSpec().getStorage().getS3().getAwsCredentials();
checkSecret(namespace, storageType, "accessKeyId", credentials.getSecretKeySelectors().getAccessKeyId());
checkSecret(namespace, storageType, "secretAccessKey", credentials.getSecretKeySelectors().getSecretAccessKey());
}
if (storageType.equals("s3compatible") && review.getRequest().getObject().getSpec().getStorage().getS3Compatible() != null) {
AwsCredentials credentials = review.getRequest().getObject().getSpec().getStorage().getS3Compatible().getAwsCredentials();
checkSecret(namespace, storageType, "accessKeyId", credentials.getSecretKeySelectors().getAccessKeyId());
checkSecret(namespace, storageType, "secretAccessKey", credentials.getSecretKeySelectors().getSecretAccessKey());
}
if (storageType.equals("azureblob") && review.getRequest().getObject().getSpec().getStorage().getAzureBlob() != null) {
AzureBlobStorageCredentials credentials = review.getRequest().getObject().getSpec().getStorage().getAzureBlob().getAzureCredentials();
checkSecret(namespace, storageType, "account", credentials.getSecretKeySelectors().getAccount());
checkSecret(namespace, storageType, "accessKey", credentials.getSecretKeySelectors().getAccessKey());
}
if (storageType.equals("gcs") && review.getRequest().getObject().getSpec().getStorage().getGcs() != null && review.getRequest().getObject().getSpec().getStorage().getGcs().getCredentials().getSecretKeySelectors() != null) {
GoogleCloudCredentials credentials = review.getRequest().getObject().getSpec().getStorage().getGcs().getCredentials();
checkSecret(namespace, storageType, "serviceAccountJsonKey", credentials.getSecretKeySelectors().getServiceAccountJsonKey());
}
}
}
Aggregations