Aiven-Open / Aiven-Open/tiered-storage-for-apache-kafka

Support custom storage classes and empty values in s3.storage.class

Open
#824 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
239
Forks
59
PR merge metrics
No merged PRs in 30d

Description

# What is currently missing?

The `s3.storage.class` configuration enforces a strict whitelist validation that only accepts native AWS S3 storage classes (e.g., STANDARD, INTELLIGENT_TIERING).

This blocks deployments using alternative S3-compatible providers (like Tencent Cloud COS, Ceph, or MinIO) that require custom string values for their storage tiers. Furthermore, users cannot set an empty string ("") to explicitly defer configuration to the provider's native bucket-level default storage class.

# How could this be improved?

Modify the validation logic to allow arbitrary string pass-throughs and empty values. We can either:

1. Change the validator to accept any string (including an empty string ""), allowing it to pass directly to the client payload.
2. Introduce a configuration flag like s3.storage.class.skip_validation: true to bypass the rigid enum check entirely.

# Is this a feature you would work on yourself?

* [ ] I plan to open a pull request for this feature

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.